欢迎光临散文网 会员登陆 & 注册

Cesium中的3DTileset旋转变换实现

2023-09-19 23:34 作者:invmor  | 我要投稿

    遇到这个问题才相信“知识就是财富”,我有答案我就不告诉你。

    首先是确定旋转的坐标系,经过我的验证,坐标系是地固坐标系(ECEF)。使用fromRotationY,可以发现是绕着Y轴(90,0)旋转。

    所以现在的问题,由enu变化为ecef的某个轴旋转。旋转轴由该点的位置确定,由地心指向该点。

    如何绕着这个轴旋转,主要思路是将该轴进行绕x和y轴到z轴上,再恢复该状态。

MR%3DRx(-%5Calpha%20)Ry(%5Cbeta%20)Rz(%5Ctheta%20)Ry(-%5Cbeta%20)Rx(%5Calpha%20)

%5Calpha%20%5Cbeta%20值求解如下

MR求解如下

应用旋转矩阵时,tile由两处地方可以设置,一个是Cesium3DTileset.modelMatrix,一个是Cesium3DTileset.root.transform,实际应用的时候这两个矩阵会相乘。

平移很简单

缩放同理,最后引用变换矩阵。

需要注意的时候tilesCenter为Cesium3DTileset的包围盒中心,使用的是未变换时的位置。

Cesium中的3DTileset旋转变换实现的评论 (共 条)

分享到微博请遵守国家法律