随笔分类 - WorldWind源码剖析
摘要:PluginSDK中的视景体类Frustum是三维计算机图形学中的概念,主要用来描述透视投影的过程。三维计算机图形学中关于三维物体的渲染,Direct3D和OpenGL都是先通过对现实世界中的场景先进行世界变换,再通过设置观察矩阵以在场景中安置一个虚拟相机,构建一个视景体来裁剪场景的可见区域,然后在...
阅读全文
摘要:PluginSDK中的外包围盒、外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示。外包围盒BoundingBox类的corners字段用来存储外包围盒的8个顶点向量。其构造函数有两种形式。第一种构造函数用8个顶点向量来实例化一个外包围盒。第二种构造函数用给定...
阅读全文
摘要:PluginSDK中的角度结构体Angle类图如下所示。角度结构体主要定义了一个弧度表示角度值的字段:double Radians。还有几个表示角度最大值、最小值、非数值和零角度等字段。定义了一个Degrees属性,分别用数学引擎类的弧度和角度相互转换函数完成Radians字段值的设置与获取。pub...
阅读全文
摘要:PluginSDK中的MathEngine类是密封类。不可继承,主要完成通用的数学计算功能。由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/纬度值的转换,这也是WW进行纹理贴图的依据。划分后的每个方格对应一块512X512的,对应Level
阅读全文
摘要:PluginSDK中的点主要有二维和三维两种类型,分别用来描述平面和立体点。其类图如下。这两个类比较简单。其字段成员主要用来描述点对象在各坐标轴上的分量。属性Length用来返回二维和三维点的距离坐标原点的长度。二维点定义了点积运算dot,三维点同时定义了点积dot/dotProduct和叉积运算c...
阅读全文
摘要:PluginSDK中的枚举型主要有以下这些: public enum AltitudeMode//高度模式枚举 { ClampedToGround,//强制到地面模式 RelativeToGround, //相对到地面模式 Absolute//绝对高度模式 } public enum Units//...
阅读全文