Cesium中坐标系的转换

发布时间 2023-08-03 11:03:56作者: HRDK

初学cesium,对cesium中的camera转换感到狠迷惑

对于屏幕坐标系统(二维)、笛卡尔空间直角坐标系统(WGS84)、地理坐标系统(经纬度坐标)的具体内容不再赘述见该博客cesium中的坐标系统与转换

对于camera的heading pitch roll的具体内容不再赘述,见博客Cesium中的相机—HeadingPitchRoll

对于cesium中的局部坐标系,由eastNorthUpToFixedFrame生成,见cesium获取某个位置垂直于当前地表的垂直坐标系

首先解释下全球坐标系、相机坐标系和局部坐标系

全球坐标系的定义:

  • 原点为参考椭球的中心
  • 这个坐标系固定在地球上;当地球自转时,系统也会自转,WGS84 中定义的物体相对于地球保持固定
  • x 轴指向地理坐标 (0°, 0°),y 轴指向 (90°, 0°),z 轴指向北极。赤道位于 xy 平面内。这是一个右手坐标系,因此 x × y = z,其中 x、y 和 z 是沿各自轴的单位向量
  • 全球坐标系的具体定义可不用详记,因为全球坐标系始终不会动。

相机坐标系的定义:

  • 以相机的位置为参考点、x轴指向正北、y轴指向正西、z轴地心指向相机位置的方向

局部坐标系的定义:

  • 以局部坐标系的零点位置为参考点,x轴指向正东、y轴指向正北,z轴地心指向相机位置的方向

 

这时候大家会发现相机坐标系和局部坐标系其实并不是重合的,相机坐标系相较于局部坐标系其绕z轴逆时针多旋转了90°,所以将相机坐标系转换成局部坐标系需要将heading减去pi/2