基础夯实
-
数学基础
-
1.向量运算
- 向量的定义:
向量是有大小和方向的有向线段
向量表示:三维(ax,ay,az)二维(ax,ay)...
向量描述的位移:能够被认为是与轴平行的位移序列 - 向量与标量
向量:有大小有方向的有向线段
标量:只有大小没有方向 - 向量和点
向量:没有固定位置,有实际大小和方向
点:有固定位置,没有实际大小和方向
联系:点可以看做是从原点出发的向量 - 零向量
大小:0
方向:没有 - 标量和向量的计算:
加减:无
乘除:有,每个分量分别于标量相乘或相除
几何意义:以标量的大小缩放向量,负值则方向相反 - 向量和向量的计算
- 加减法:\((a_x , a_y) \pm (b_x , b_y)=(a_x \pm b_x , a_y \pm b_y)\)
- 几何意义:平行四边形法则
- 点积 dot:
\((a_x , a_y ,a_z)\cdot(b_x ,b_y,b_z)=a_x*b_x+a_y*b_y+a_z*b_z\)
\(\vec a \cdot \vec b=\vec b \cdot \vec a\)
\(\vec a \cdot \vec b =|\vec a||\vec b|\cos{\theta}\)- 几何意义:
- 点乘结果越大,夹角越小,两个向量越接近,点乘结果也越接近于|a|*|b|
\(\vec a \cdot \vec b > 0, 0^{\circ}\leq \theta<90^{\circ}\),a,b方向基本相同
\(\vec a \cdot \vec b = 0, \theta\leq 90^{\circ}\),a,b正交
\(\vec a \cdot \vec b < 0, 90^{\circ}\leq \theta<180^{\circ}\),a,b方向基本相反 - 投影:向量a在向量b上投影的长度等于\(|\vec a|*\cos{\theta}\)
- 点乘结果越大,夹角越小,两个向量越接近,点乘结果也越接近于|a|*|b|
- 兰伯特光照模型:\(0.5*\vec{N} \cdot \vec{L}+0.5\)
- 几何意义:
- 叉积 cross [不符合交换律]:
- 计算公式:\( \begin{bmatrix} x_1 \\ y_1 \\ z_1 \end{bmatrix} \times \begin{bmatrix} x_2 \\ y_2 \\ z_2 \end{bmatrix} = \begin{bmatrix} y_1z_2-z_1y_2 \\ z_1x_2-x1z_2 \\ x_1y_2-y_1x_2 \end{bmatrix} \)
\(||\vec a\times \vec b||=||\vec a||||\vec b||\sin{\theta}=\vec a \vec b构成的平行四边形的面积\) - 几何解释:叉乘得到的向量垂直于原来的两个向量
-
右手定理
- 计算公式:\( \begin{bmatrix} x_1 \\ y_1 \\ z_1 \end{bmatrix} \times \begin{bmatrix} x_2 \\ y_2 \\ z_2 \end{bmatrix} = \begin{bmatrix} y_1z_2-z_1y_2 \\ z_1x_2-x1z_2 \\ x_1y_2-y_1x_2 \end{bmatrix} \)
- 加减法:\((a_x , a_y) \pm (b_x , b_y)=(a_x \pm b_x , a_y \pm b_y)\)
- 向量的其他公式
- 向量的模长:\(\sqrt{a_x^2 + a_y^2}\),length(float2(x,y)|float3(x,y,z)|...)
- 单位向量:
向量大小为1:\(v_{norm}=\frac {v}{||v||},v\neq 0\),normalize(n) - 欧式距离:
三维空间:\(距离(\vec a,\vec b)=||\vec b-\vec a||=\sqrt{(b_x-a_x)^2+(b_y-a_y)^2+(b_z-a_z)^2}\)
二维空间: \(距离(\vec a,\vec b)=||\vec b-\vec a||=\sqrt{(b_x-a_x)^2+(b_y-a_y)^2}\)
- 向量的定义:
-
2.矩阵运算
-
3.MVP矩阵推导
-
4.傅里叶变换
-
5.其他
-