当前位置:   article > 正文

cesium根据两点获取航向角(heading)与俯仰角(pitch)_计算航向角、俯仰角

计算航向角、俯仰角

1.获取航向角heading

  1. //这个计算的是逆时针,如果需要顺时针,可以在返回的结果里+360即可.
  2. function courseAngle(lng_a, lat_a, lng_b, lat_b) {
  3. //以a点为原点建立局部坐标系(东方向为x轴,北方向为y轴,垂直于地面为z轴),得到一个局部坐标到世界坐标转换的变换矩阵
  4. var localToWorld_Matrix = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3.fromDegrees(lng_a, lat_a));
  5. //求世界坐标到局部坐标的变换矩阵
  6. var worldToLocal_Matrix = Cesium.Matrix4.inverse(localToWorld_Matrix,new Cesium.Matrix4());
  7. //a点在局部坐标的位置,其实就是局部坐标原点
  8. var localPosition_A = Cesium.Matrix4.multiplyByPoint(worldToLocal_Matrix,new Cesium.Cartesian3.fromDegrees(lng_a, lat_a),new Cesium.Cartesian3());
  9. //B点在以A点为原点的局部的坐标位置
  10. var localPosition_B = Cesium.Matrix4.multiplyByPoint(worldToLocal_Matrix,new Cesium.Cartesian3.fromDegrees(lng_b, lat_b),new Cesium.Cartesian3());
  11. //弧度
  12. var angle = Math.atan2((localPosition_B.y-localPosition_A.y), (localPosition_B.x-localPosition_A.x))
  13. //角度
  14. var t
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/564084
推荐阅读
相关标签
  

闽ICP备14008679号