向量
1. 概念
- 图形学默认向量是一个列向量;
2. 向量点乘 (·)
-
点乘的结果是一个值;
-
-
满足交换律、结合律、分配律;
-
在图形学中的作用是找到两个向量/方向的夹角,比如:光线夹角,物体表面法线等等
-
可以将一个向量在另外一个向量上的投影计算出来;
-
可以看出物体前后位置的信息;
-
-
当两向量的夹角 > 0 ,表示方向相反;
-
当两向量的夹角 < 0,表示方向相同
-
3. 向量叉乘(x)
-
-
叉乘的结果是一个向量;
-
右手螺旋定则:除大拇指外的四个手指表示旋转方向,大拇指表示叉乘结果后的方向,如:
- 求 a x b,就是从 a 旋转到 b 后大拇指的方向朝上;
- 求 b x a,则大拇指方向朝下;
-
用于建立三维空间的直角坐标系,比如:
-
在三维空间中,给定一个 x,y 轴,可以算出 z 轴;
-
在三维空间中,给定一个 y,z 轴,可以算出 x 轴;
-
在三维空间中,给定一个 x,z 轴,可以算出 y 轴;
-
-
没有交换律,满足结合律、分配律;
-
判断两向量的左/右:
- a x b 得出的结果 z 是一个正数,表示 b 在 a 的左侧;
- b x a 得出的结果 z 是一个负数,表示 a 在 b 的右侧;
-
判断点 P 在三角形内/外部:
- 在内部:P 点一定在都三条边的左边/右边;
矩阵
1. 概念
- 由行,列组成;
- 矩阵点乘:
- 没有交换律(即不可以位置对调),满足结合律、分配律;
- 让 x / y 变成负的:
- 矩阵的转置:
变换
1. 二维变换
(1)缩放变换:
(2)反转变换:
(3)切变换:
(4)旋转:
总结:
- 上面四种变换均是线性变换:
2. 齐次坐标
(1)向量具有不变性,即无论怎么平移,向量都不会发生改变;
(2)一个点减去另外一个点,等于一个向量;
(3)对于一个 2D 的点:
(4)对于一个 2D 的向量:
(5)逆变换:一个矩阵乘以它的逆矩阵,结果为一个单位矩阵;
3. 三维变化
- 在描述三维空间中,仿射变换的情况下对应矩阵的最后一行永远都是0,0,0…,1;
(1)缩放、平移和二维类似;
(2)旋转(绕着某一固定轴旋转):
变换组合
(1)旋转默认以原点为中心,方向为逆时针;
(2)变换的顺序很重要;
- 先平移,后旋转 与 先旋转,后平移的区别:
(3)旋转的逆(往相反的方向旋转相同的角度):
- 先正向旋转,再进行转置;
- 正交矩阵:一个矩阵的逆等于它的转置