【发布时间】:2020-02-22 00:46:33
【问题描述】:
我正在使用 SceneKit 开发 Galaxy Explorer。我有一道数学题我想不通。
在上图中,cameraNode 悬停在物体 NGC 5824 上方,直视图像平面。我需要为 cameraNode 计算一个新位置,以便直视红色箭头所指的对象。
基本上,cameraNode 有一个当前位置和旋转。我不想改变旋转,但我想改变位置,以便相机在新对象上方。
如果相机直接向下看 z 轴,问题就很简单了。我只是将 cameraNode 的 x,y 位置设置为新目标节点的 x,y 位置。但是,如果相机具有现有的 z 旋转(如图所示),则解决方案会更复杂。
这一定是一个半简单的转换,但我无法理解它。谁能提供必要的提示?
【问题讨论】: