cesium編程入門(七)3D Tiles,模型旋轉
上一節介紹了3D Tiles模型的位置移動,和貼地的操作,這一節來聊一聊模型的旋轉,
參考《WebGl編程指南》的第四章
假設在X軸和Y軸構成的平面上,要讓物體旋轉角度為β,那么公式如下:
由此思路就出來了:
-
根據要旋轉的角度,構建一個三階旋轉矩陣
-
獲取3D tiles 的旋轉矩陣modelMatrix,然后與旋轉矩陣運算,
-
最后將計算結果再賦值給modelMatrix,完成。
參考代碼:
var m = tileset.modelMatrix;
//RotateX為旋轉角度,轉為弧度再參與運算
var m1 = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(RotateX));
//矩陣計算
Cesium.Matrix4.multiplyByMatrix3(m,m1,m);
//賦值
tileset.modelMatrix = m;