1.向量:指几何关系,可以描述出具体的三维空间特征
2.矩阵:指代数,是加速解决向量问题的工具。矩阵能解决的问题很多,三维向量问题只是他能轻松解决的一种
3.向量和一维矩阵的+、-、*、/都差不多(相同之处)
- 矩阵的乘法,标量要写在前面;向量的乘法,标量要写在后面
- 向量与向量的加减(等同一维矩阵与一维矩阵的加减)
4.向量与矩阵不同之处 - 向量与向量的乘法=>Dot/Cross(点乘/叉乘)
1)点乘:算投影
2)叉乘:(左/右)手坐标空间下(左/右)手旋转的方向 - 矩阵与矩阵的乘法 =>矩阵行列乘法
- 向量与矩阵的乘法 =>把向量看成一维矩阵(列为主的矩阵:column matrix)
-
例外:GLSL的vec4 * vec4是逐元乘法(componet wise)(数学上没有,GLSL特定的运算)
5.单位矩阵:单位矩阵是一个除了对角线以外都是0的N×N矩阵。
单位矩阵与向量相乘后结果是这个向量,保持不变
6.缩放矩阵
分别在S1,S2,S3的位置写上对于x,y,z位置的缩放系数
7.位移矩阵
分别在TX,TY,TZ的位置写上要移动的值

8.齐次坐标:向量的w分量也叫做齐次坐标。
- 齐次坐标允许我们在3D向量上进行位移。
- 如果齐次坐标是0,则是方向向量
- 如果齐次坐标是1,则是位移向量
9.旋转矩阵 - 弧度转角度:角度 = 弧度 * (180.0f / PI)
- 角度转弧度:弧度 = 角度 * (PI / 180.0f)
- PI约等于3.14159265359
-
旋转矩阵在3D空间中每个单位轴都有不同定义,旋转角度用θ表示:
- 万向节死锁:当最外侧的轴和最内侧的轴重叠,中间的轴会卡住。
- 避免万向节死锁的真正解决方案是使用四元数
网友评论