根据两坐标计算orientation
步骤:
1、根据两坐标生成矩阵
2、矩阵转化为方位角heading ,pitch, roll
3、根据方位角得到orientation

let pointA =  Cesium.Cartesian3.fromDegrees(110,30,100);
let pointB =  Cesium.Cartesian3.fromDegrees(120,40,10000);let m = getModelMatrix(pointA , pointB  );
let hpr = getHeadingPitchRoll(m);
hpr.pitch = hpr.pitch + 3.14 / 2 + 3.14;
let orientation = Cesium.Transforms.headingPitchRollQuaternion(pointA,hpr
);function getModelMatrix(pointA, pointB) {//向量ABconst vector2 = Cesium.Cartesian3.subtract(pointB,pointA,new Cesium.Cartesian3());//归一化const normal = Cesium.Cartesian3.normalize(vector2, new Cesium.Cartesian3());//旋转矩阵 rotationMatrixFromPositionVelocity源码中有,并未出现在cesiumAPI中const rotationMatrix3 = Cesium.Transforms.rotationMatrixFromPositionVelocity(pointA,normal,Cesium.Ellipsoid.WGS84);const modelMatrix4 = Cesium.Matrix4.fromRotationTranslation(rotationMatrix3,pointA);return modelMatrix4;
}function getHeadingPitchRoll(m) {var m1 = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Matrix4.getTranslation(m, new Cesium.Cartesian3()),Cesium.Ellipsoid.WGS84,new Cesium.Matrix4());// 矩阵相除var m3 = Cesium.Matrix4.multiply(Cesium.Matrix4.inverse(m1, new Cesium.Matrix4()),m,new Cesium.Matrix4());// 得到旋转矩阵var mat3 = Cesium.Matrix4.getMatrix3(m3, new Cesium.Matrix3());// 计算四元数var q = Cesium.Quaternion.fromRotationMatrix(mat3);// 计算旋转角(弧度)var hpr = Cesium.HeadingPitchRoll.fromQuaternion(q);return hpr;
}

Cesium — orientation计算相关推荐

  1. 【Cesium】计算模型的朝向四元数,实现模型运动中调整朝向

    在Cesium的使用过程中,常常需要计算模型在移动过程中的朝向,除了可以利用位置信息让Cesium自动计算之外,还可以通过一些矩阵变换的方法控制模型的朝向,本篇文章笔者记录了自己计算模型朝向信息的方法 ...

  2. Cesium学习笔记(六)粒子系统

    粒子系统 什么是粒子系统? 粒子系统是一种模拟复杂物理效果的图形技术.粒子系统是小图像的集合,当一起观察时形成更复杂的"模糊"对象,如火.烟雾.天气或烟花.这些复杂的效果是通过使用 ...

  3. cesium 使用时间轴显示轮船实时位置轨迹,通过粒子系统添加轮船尾浪效果

    cesium 通过websocket接收轮船实时位置,通过粒子系统添加轮船尾浪效果 啊~ 宝宝儿们,我是一个前端小白白,最近呢,在尝试做一个GIS效果,就是webscoket接收后台传递过来的轮船实时 ...

  4. Cesium设置模型朝向速度矢量方向

    Cesium设置模型朝向速度矢量方向 文章目录 Cesium设置模型朝向速度矢量方向 1. 需求场景 2. 技术路线 2.1 VelocityOrientationProperty 2.2 Veloc ...

  5. Cesium,ClippingPlanes,任意剪裁面对3DTiles剪裁

    一.简介 相关官方文档地址:ClippingPlaneCollection.Cesium3DTileset 官方Demo地址:3D Tiles Clipping Planes 官方介绍:Cesium ...

  6. cesium教程4-测量工具

    测量是cesium系统必要的模块,一般测量则是这几个(下图)长度测量,面积测量,还有直线,水平,垂直的测量,现在我就把测量基本原理和代码分享给大家 先看一下效果 长度测量 面积测量 直线,水平,垂直测 ...

  7. IOS 屏幕旋转Orientation总结

    IOS Orientation, 想怎么转就怎么转~~~ 此博文主要针对IOS应用, 是屏幕旋转相关问题的一个总结. 主要内容有: IOS5,6,7不同版的适配. 强制旋转和自动旋转. 博客: htt ...

  8. cesium 测距 测面积 测高

    /*** 测量线段*/function MeasureTools(viewer) {var entityCollection = [];var handler=new Cesium.ScreenSpa ...

  9. cesium矩阵和方位角heading ,pitch, roll的相互转换

    // 假设当前模型的经纬度坐标为{114, 30, 1000} 方位角{heading: 30, pitch: 20, roll: 10} 都是角度来计算 // 1. 根据坐标, 方位角计算世界矩阵v ...

最新文章

  1. TensorFlow中的对象检测教程:实时对象检测
  2. mysql远程主机强迫关闭了一个现有连接_asp.net连接mysql出现了远程主机强迫关闭了一个现有的连接。!!!...
  3. OpenCvSharp_FindContours函数参数详解
  4. pitch android,Pitch Clash
  5. weblogic 安装教程
  6. GraphPad Prism 9 for Win版 Mac版 2021最新完美版下载 科学绘图
  7. 流媒体的未来——视频技术如何演变
  8. html 轮播 平移,网站轮播图的实现-平移版
  9. JavaFX触屏事件
  10. 利用CVE-2019-1040 - 结合RCE和Domain Admin的中继漏洞
  11. 8.分页、连接、自关联查询
  12. wifi 信道_WiFi网速太慢,四招就可以让无线网络变得顺畅
  13. win7系统任务管理器如何强制关闭程序
  14. vs 中使用32 位mysql_vs2010连接mysql数据库(含win32和x64两种平台)
  15. 推动数字化智能化转型 中关村数智经济发展论坛成功举办
  16. HTML和CSS(7.17-7.20)
  17. python extension package_Python Extension Packages for Windows所有包下载
  18. 用深度学习做命名实体识别(四)——模型训练
  19. centos7安装dos2unix
  20. Mask Scoring Rcnn论文解读《Mask Scoring R-CNN》

热门文章

  1. vue 获取动态域名_vue项目接口域名动态获取操作
  2. 论文阅读:Cyber-security research
  3. NDK-r25交叉编译glib-2.73.3
  4. 各大数据库厂商怎样看竞争对手
  5. 51nod 1278 相离的圆 二分+排序
  6. vue-element-admin 快捷导航(标签栏导航)切换不刷新问题
  7. ssm:Unable to process Jar entry
  8. 10年测试工程师的工作感悟,写给还在迷茫中的朋友
  9. 雷电模拟器Android obb,exagear模拟器obb数据包
  10. QT下的几种透明效果