PluginSDK中的MathEngine类是密封类。不可继承,主要完成通用的数学计算功能。由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/纬度值的转换,这也是WW进行纹理贴图的依据。划分后的每个方格对应一块512X512的,对应Level的纹理,有了这些信息,再加上高度值就可以实时渲染三维图像。其类图如下。

其中,该类没有字段和属性成员,只有方法成员,都是静态成员。

Azimuth方法用于计算从A点(latA,lonA)到B点(latB,lonB)的方位角。

SphericalToCartesian方法用于将位置点的球面坐标转换为空间笛卡尔坐标。输入角度以度为单位。其重载形式输入角度为Angle对象,以弧度为单位。返回Microsoft.DirectX. Vector3三维向量对象,以弧度为单位。

SphericalToCartesianD方法用于将位置点的球面坐标转换为空间笛卡尔坐标。输入角度为Angle对象,以弧度为单位。返回WorldWind. Point3d三维点对象。

CartesianToSpherical方法用于将位置点的空间笛卡尔坐标转换为球面坐标。返回Microsoft.DirectX. Vector3三维向量对象,以弧度为单位。

CartesianToSphericalD方法用于将位置点的空间笛卡尔坐标转换为球面坐标。返回WorldWind. Point3d三维点对象。

DegreesToRadians和RadiansToDegrees方法用于实现角度和弧度之间的转换。

DistancePlaneToPoint方法用于计算点到平面的距离。

Hypot方法用于计算

EulerToQuaternion方法用于将由航偏角、俯仰角和横滚角组成的欧拉集合转换为一个Microsoft.DirectX. Quaternion四元数结构体对象输出。

QuaternionToEuler方法功能则相反。返回Microsoft.DirectX. Vector3三维向量对象,以弧度为单位。

SphericalDistance方法用于计算球面两点之间的球面角度距离。输入参数为Angle对象,返回Angle对象,以弧度为单位。

SphericalDistanceDegrees方法也用于计算球面两点之间的球面角度距离。输入参数为double类型,返回double类型,以度为单位。

GetColFromLongitude方法用于将给定的经度值按照给定的瓦片划分大小计算其所在的格网列号。其有两种重载形式,输入参数分别以度/弧度为单位。

GetRowFromLatitude方法用于将给定的维度值按照给定的瓦片划分大小计算其所在的格网行号。其有两种重载形式,输入参数分别以度/弧度为单位。

WorldWind构建的地球模型经度范围为[-180,180],经度范围为[-90,90]。瓦片格网行格网行列号索引从1开始,而不是从0开始。

最新文章

  1. Web开发安全之文件上传安全
  2. 在laravel下關於blade模板的嘗試
  3. Web动画API教程2:AnimationPlayer和Timeline
  4. $.getJSON( )的使用方法简介
  5. iPhone中修改iMessage关联手机号码的终极方法
  6. CentOS防火墙操作实例(启动、停止、开、闭端口)
  7. iOS序列化与反序列化
  8. SQLServe错误整理
  9. ubuntu自动挂载windows分区和开机自动启动wallproxy
  10. Canvas scale- 缩放
  11. Caused by: java.sql.SQLException: Incorrect integer value: '' for column 'clientId' at row 41
  12. WEB框架-Django框架学习-预备知识
  13. Python——字典操作
  14. 软链接ln -s 总结
  15. 测试工具之Fiddler
  16. C. Polycarp Restores Permutation
  17. Luogu P2463 [SDOI2008]Sandy的卡片
  18. JavaScript学习-4——DOM对象、事件
  19. 留言板0.4_model中的数据库(2)
  20. NOIP2018考前抱佛脚——搜索复习

热门文章

  1. Codeforces675D(SummerTrainingDay06-J)
  2. drop,truncate,delete 区别
  3. 【代码笔记】iOS-TableViewOfTwoSecton
  4. Ckeditor失去焦点前保留光标位置
  5. IntelliJ idea 备份与恢复
  6. ActiveReports 报表应用教程 (16)---报表导出
  7. 【jdk源码3】HashMap源码学习
  8. 机器学习实战(Machine Learning in Action)学习笔记————02.k-邻近算法(KNN)
  9. 【Python】插入sqlite数据库
  10. Android aapt 工具介绍(转)