恒歌科技
2019/10/25
三维场景中,经常需要模拟一些运动的目标,比如行驶中的汽车,飞行中的飞机,在轨运行的卫星等等。单纯的位置移动比较容易实现,但运动姿态(例如汽车的朝向)则需要进行复杂的计算。
如何实现三维场景中动目标姿态的计算?
▼▼▼
坐标系简介
1
球心坐标系
指坐标原点与地心重合,Z轴垂直赤道面,X轴朝向(东经0°,北纬0°),Y轴朝向(东经90°,北纬0°),如图一所示。
图一 Cesium球心坐标系
模型坐标系
指建模软件在建模过程中或者在程序构建图元时使用的坐标系。为了方便建模,一般球状物体的原点都在物体中心,游戏角色模型原点一般位于脚部。
获取目标位置
2
在三维场景中加载模型时,一般有两种方法。
方法一
建模时,直接把模型建立在目标位置的世界坐标上。此处,以世界坐标(100,0,0)为例。
利用此方法进行模型绕中心点旋转的操作时,会出现模型沿着世界坐标的原点作半径为100的圆周运动。要想达到正确效果,就必须先把模型移到世界原点并且进行旋转,然后再移回原来位置,这样操作就变得十分麻烦。
方法二
在三维场景中直接加载模型时,模型中心点会与地心重合,也就是说模型坐标(0,0,0)会