cesium编程入门(七)3D Tiles,模型旋转

时间:2023-03-08 16:33:00
cesium编程入门(七)3D Tiles,模型旋转

cesium编程入门(七)3D Tiles,模型旋转

上一节介绍了3D Tiles模型的位置移动,和贴地的操作,这一节来聊一聊模型的旋转,

参考《WebGl编程指南》的第四章

假设在X轴和Y轴构成的平面上,要让物体旋转角度为β,那么公式如下:

cesium编程入门(七)3D Tiles,模型旋转

由此思路就出来了:

  1. 根据要旋转的角度,构建一个三阶旋转矩阵

  2. 获取3D tiles 的旋转矩阵modelMatrix,然后与旋转矩阵运算,

  3. 最后将计算结果再赋值给modelMatrix,完成。

参考代码:

var m = tileset.modelMatrix;
//RotateX为旋转角度,转为弧度再参与运算
var m1 = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(RotateX)); //矩阵计算
Cesium.Matrix4.multiplyByMatrix3(m,m1,m); //赋值
tileset.modelMatrix = m;

cesium编程入门(七)3D Tiles,模型旋转

lesson03源码参考