国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Cesium局部坐標計算方法

2022-12-10 17:18 作者:地理信息技術雜談  | 我要投稿

在cesium的開發(fā)中,有時會碰到局部的空間坐標計算,特別是在涉及到三維模型加載的場景中,例如,已知一個點的經(jīng)緯度坐標,計算附近與它相距x、y、z距離的一個新坐標位置,同樣需要換算成經(jīng)緯度坐標,有時還需要考慮水平旋轉(zhuǎn)和上下傾角。

cesium的Transforms里提供了根據(jù)當前點,建立一個局部坐標系的方法,通過矩陣進行坐標的轉(zhuǎn)換,局部坐標系的建立方式:

//_ca_coord為Cartesian3坐標,可以通過Cesium.Cartesian3.fromDegrees,由經(jīng)緯度坐標進行轉(zhuǎn)換;//eastNorthUp代表東、北、上,對應x\y\z

const?_localToWorld_Matrix =

Cesium.Transforms.eastNorthUpToFixedFrame(_ca_coord);

以上點作為局部坐標系的原點,距離它x、y、z的新坐標計算方式為:
//通過矩陣乘法進行實現(xiàn),結(jié)果為Cartesian3坐標,同樣可以轉(zhuǎn)換為經(jīng)緯度

const?_new_ca =

Cesium.Matrix4.multiplyByPoint(_localToWorld_Matrix, Cesium.Cartesian3.fromElements(x, y,?z),?new?Cesium.Cartesian3());

假如有偏北的旋轉(zhuǎn)角,需要在轉(zhuǎn)換矩陣上加上角度的轉(zhuǎn)換:
//偏北方向是繞Z軸進行旋轉(zhuǎn),弧度值,其他旋轉(zhuǎn)可以對應坐標軸

?let?rotz = Cesium.Matrix3.fromRotationZ(rad);

?let?rotationZ = Cesium.Matrix4.fromRotationTranslation(rotz);

? ? ? ? ? ? Cesium.Matrix4.multiply(_localToWorld_Matrix, rotationZ, _localToWorld_Matrix);

同樣,用新的矩陣,按照前邊的方式進行相乘,就能夠得出新的坐標了。

Cesium局部坐標計算方法的評論 (共 條)

分享到微博請遵守國家法律
新安县| 怀来县| 钦州市| 南平市| 县级市| 买车| 苍溪县| 阿拉善右旗| 汶上县| 长葛市| 喀喇沁旗| 梅河口市| 罗平县| 闽侯县| 中江县| 隆德县| 三门县| 永和县| 西安市| 五家渠市| 雷山县| 长子县| 阿克苏市| 腾冲县| 德江县| 蓝田县| 新闻| 织金县| 甘孜县| 阿荣旗| 西乌珠穆沁旗| 望江县| 新郑市| 宜春市| 舞钢市| 临汾市| 屯门区| 宜城市| 嘉善县| 太和县| 鄂托克旗|