读书笔记:3D Math Primer for Graphics and Game Development

第一部分:

3D数学讲解如何在空间中精确度量位置、距离和角度。

计算机图形学第一原则:近似原则如果它看上去是对的它就是对的。

几种坐标系:

世界坐标系,物体坐标系,摄像机坐标系,惯性坐标系,嵌套式坐标系,描述坐标系

vector3类的设计与注意事项

第二部分:

线性变换(无平移)—— 3x3,仿射变换(平移)——4x4

在讨论变换之前,必须搞清楚到底要变换什么:变换物体和变换坐标系

旋转(2D,3D),缩放,正交投影和透视投影,镜像,切变,组合

几种变换(小结):

线性,仿射,可逆,等角,正交,刚体

第三部分:

描述方位和角位移:矩阵,欧拉角和四元数。

掌握精确定义、工作原理及其特性、优点和缺点

不仅要知道每种方法的原理,还要了解在特定情况下使用哪种方法最合适,以及不同表示方法之间的相互转换。

1. 矩阵形式优缺点

2. 欧拉角:基本思想是将角位移分解为绕三个互相垂直轴的三个旋转组成的序列。

3. 四元数

三者之间转换的代码研究——C++实现

第四部分:

几何图元:表达方法,重要性质及操作,C++代码

Axially Aligned Bounding Box

1. 几何检测:

(1) 2D隐式直线上的最近点

(2) 参数射线上的最近点

(3) 平面上的最近点

(4) 圆或球上的最近点

(5) AABB上的最近点

2. 相交性校测

(1) 在2D中两条隐式直线的相交性检测

(2) 在3D中两条射线的相交性检测

(3) 射线与平面的相交性检测

(4) AABB和平面的相交性检测

(5) 三个平面的相交性检测

(6) 射线和圆(球)的相交性检测

(7) 两个圆(球)的相交性检测

(8) 球和AABB的相交性检测

(9) 球与平面的相交性检测

(10) 射线和AABB的相交性检测

(11) 两个AABB的相交性检测

(12) 其它

第五部分:

三角网格:表示,信息,操作,类的C++实现

第六部分:

图形数学:

图形管道,视图参数,坐标空间,光照和雾化,渲染缓冲,纹理映射,几何体生成与提交,变换与光照,背面剔除与裁剪,光栅化

第七部分:

包围体检测(视锥、遮断),空间分割技术,网格系统,四叉树和八叉树,BSP树,遮断剔除

你可能感兴趣的:(Graphics算法)