五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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局部坐標計算方法的評論 (共 條)

分享到微博請遵守國家法律
兴业县| 喀喇沁旗| 宁化县| 黄龙县| 兴仁县| 喀什市| 阜新| 定南县| 南漳县| 永昌县| 宿松县| 深水埗区| 大新县| 邵阳县| 壤塘县| 许昌县| 永昌县| 平阴县| 大邑县| 浙江省| 张家港市| 瑞昌市| 湘西| 同德县| 额尔古纳市| 双城市| 岱山县| 秦皇岛市| 博爱县| 张家界市| 邓州市| 镇康县| 青河县| 嵊州市| 宜章县| 资溪县| 松江区| 葫芦岛市| 武山县| 鄂州市| 安溪县|