SceneKit:关于定位相机节点的数学问题
Posted
技术标签:
【中文标题】SceneKit:关于定位相机节点的数学问题【英文标题】:SceneKit: Math question about positioning the camera node 【发布时间】:2020-02-22 00:46:33 【问题描述】:我正在使用 SceneKit 开发 Galaxy Explorer。我有一道数学题我想不通。
在上图中,cameraNode 悬停在物体 NGC 5824 上方,直视图像平面。我需要为 cameraNode 计算一个新位置,以便直视红色箭头所指的对象。
基本上,cameraNode 有一个当前位置和旋转。我不想改变旋转,但我想改变位置,以便相机在新对象上方。
如果相机直接向下看 z 轴,问题就很简单了。我只是将 cameraNode 的 x,y 位置设置为新目标节点的 x,y 位置。但是,如果相机具有现有的 z 旋转(如图所示),则解决方案会更复杂。
这一定是一个半简单的转换,但我无法理解它。谁能提供必要的提示?
【问题讨论】:
【参考方案1】:好的,我想通了。基本上你需要弄清楚新对象和旧对象(deltaX、deltaY 和 deltaZ)之间的转换。然后将此翻译应用于视点。这会将视点定位在新对象上方与旧对象上方相同的相对位置。
【讨论】:
以上是关于SceneKit:关于定位相机节点的数学问题的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SceneKit 中将 allowCameraControl 与相机节点一起使用