《3D数学基础:图形与游戏开发》
向量
点乘(内积)
定义
⎣⎡x1y1z1⎦⎤⋅⎣⎡x2y2z2⎦⎤=x1x1+y1y2+z1z2
几何解释
a⋅b=∥∥a∥∥∥∥b∥∥cosθ
游戏中的应用
- 判断目标是否在自己的身后
- 可以计算两个向量的的夹角
叉乘(叉积)
定义
⎣⎡x1y1z1⎦⎤×⎣⎡x2y2z2⎦⎤=⎣⎡ix1x2jy1y2kz1z2⎦⎤=⎣⎡y1z2−z1y2z1x2−x1z2x1y2−y1x2⎦⎤
几何解释
a×b的结果是一个向量,并且与a、b都垂直。在左手坐标系中(Unity使用的是左手坐标系),如果a、b是顺时针,则在a×b指向自己;如果a、b是逆2时针,则在a×b远离自己。
∥∥a×b∥∥=∥∥a∥∥∥∥b∥∥sinθ
游戏中的应用
- 计算平面的法线
- 计算平行四边形或者三角形的面积
- 判断目标在自己的左边还是右边
矩阵
行列式
∣∣m11m21m31m12m22m32m13m23m33∣∣=m11m22m33+m12m23m31+m21m32m13−m13m22m31−m12m21m33−m23m32m11
行列式的几何意义
行列式等于以变换后的基向量为三遍的平行六面体的有符号体积。如果变换使得平行六面体“由里向外翻转”,则行列式为负数。
正交矩阵
正交矩阵的重要性质是,矩阵的转置与矩阵的逆相等。若一个矩阵是正交的,它必须满足下列条件:
三维正交矩阵与单位四元数、欧拉角是等价的。
四元数
几何图元
几何检测