摘要: 相机基类CameraBase PluginSDK中的相机类CameraBase是三维计算机图形学中的概念。观察者在三维场景中漫游时,通过眼睛看到的场景和相机拍摄过程非常一致。实际上,Direct3D和OpenGL都是先通过对现实世界中的场景先进行世界变换,再通过设置观察矩阵以在场景中安置一个虚拟相... 阅读全文
posted @ 2015-05-31 22:19 rainbow70626 阅读(1144) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的Quaternion4d类可能是感觉Microsoft.DirectX. Quaternion类不太实用或不够用,自己有重新写的。四元数是英国数学家哈密顿(W.R.Hamilton)在1843年发现的,由于矩阵论的不断丰富和不断完善,人们更乐意采用矩阵来解决实际工程中的问题,这... 阅读全文
posted @ 2015-05-31 22:15 rainbow70626 阅读(675) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的视景体类Frustum是三维计算机图形学中的概念,主要用来描述透视投影的过程。三维计算机图形学中关于三维物体的渲染,Direct3D和OpenGL都是先通过对现实世界中的场景先进行世界变换,再通过设置观察矩阵以在场景中安置一个虚拟相机,构建一个视景体来裁剪场景的可见区域,然后在... 阅读全文
posted @ 2015-05-31 22:13 rainbow70626 阅读(841) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的外包围盒、外包围球分别用类 BoundingBox和BoundingSphere描述,其类图如下所示。外包围盒BoundingBox类的corners字段用来存储外包围盒的8个顶点向量。其构造函数有两种形式。第一种构造函数用8个顶点向量来实例化一个外包围盒。第二种构造函数用给定... 阅读全文
posted @ 2015-05-31 22:11 rainbow70626 阅读(469) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的角度结构体Angle类图如下所示。角度结构体主要定义了一个弧度表示角度值的字段:double Radians。还有几个表示角度最大值、最小值、非数值和零角度等字段。定义了一个Degrees属性,分别用数学引擎类的弧度和角度相互转换函数完成Radians字段值的设置与获取。pub... 阅读全文
posted @ 2015-05-31 22:10 rainbow70626 阅读(470) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的MathEngine类是密封类。不可继承,主要完成通用的数学计算功能。由于按平面展开层层划分,所以在WW里用到一个row,col的概念,类MathEngine封装了从行/列到经/纬度值的转换,这也是WW进行纹理贴图的依据。划分后的每个方格对应一块512X512的,对应Level 阅读全文
posted @ 2015-05-31 22:09 rainbow70626 阅读(620) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的点主要有二维和三维两种类型,分别用来描述平面和立体点。其类图如下。这两个类比较简单。其字段成员主要用来描述点对象在各坐标轴上的分量。属性Length用来返回二维和三维点的距离坐标原点的长度。二维点定义了点积运算dot,三维点同时定义了点积dot/dotProduct和叉积运算c... 阅读全文
posted @ 2015-05-31 22:08 rainbow70626 阅读(535) 评论(0) 推荐(0) 编辑
摘要: PluginSDK中的枚举型主要有以下这些: public enum AltitudeMode//高度模式枚举 { ClampedToGround,//强制到地面模式 RelativeToGround, //相对到地面模式 Absolute//绝对高度模式 } public enum Units//... 阅读全文
posted @ 2015-05-31 22:06 rainbow70626 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 目前,天空绘制主要有三种方法:矩形天空、天空盒和球形天空。 (1)矩形天空使用一个与地面垂直或呈一定夹角的矩形表示天空,用接近于天空的颜色或云彩纹理贴于矩形上。这种方法简单易行,但需要不断调整视角或观察点来改变场景可视域,还会对运行效率造成一定影响。 (2)天空盒是构建一个包含场景的方盒来表... 阅读全文
posted @ 2015-05-31 01:23 rainbow70626 阅读(1193) 评论(0) 推荐(0) 编辑
摘要: 《大话设计模式》上面的UML类图:类的UML表示动物 的矩形框 表示是一个类。类图分为三层,第一层显示类的名称,如果是抽象类,则用斜体表示;第二层是类的特性,通常就是类的字段和属性;第三层显示类的操作,通常就是方法或行为。前面的“+”表示是public,“-”表示是private,“#”表示是pro... 阅读全文
posted @ 2015-05-15 19:40 rainbow70626 阅读(771) 评论(0) 推荐(0) 编辑