Cesium中的3DTileset旋轉變換實現(xiàn)
????遇到這個問題才相信“知識就是財富”,我有答案我就不告訴你。
????首先是確定旋轉的坐標系,經過我的驗證,坐標系是地固坐標系(ECEF)。使用fromRotationY,可以發(fā)現(xiàn)是繞著Y軸(90,0)旋轉。

????所以現(xiàn)在的問題,由enu變化為ecef的某個軸旋轉。旋轉軸由該點的位置確定,由地心指向該點。
????如何繞著這個軸旋轉,主要思路是將該軸進行繞x和y軸到z軸上,再恢復該狀態(tài)。
值求解如下
MR求解如下
應用旋轉矩陣時,tile由兩處地方可以設置,一個是Cesium3DTileset.modelMatrix,一個是Cesium3DTileset.root.transform,實際應用的時候這兩個矩陣會相乘。
平移很簡單
縮放同理,最后引用變換矩陣。
需要注意的時候tilesCenter為Cesium3DTileset的包圍盒中心,使用的是未變換時的位置。
標簽: