向量
向量定义
一种既有方向又有大小的量;可以表示为a或者 a ⃗ \vec {a} a;没有绝对的起点。
向量标准化
向量的长度被记做 ∣ ∣ a ⃗ ∣ ∣ ||\vec a|| ∣∣a∣∣,单位向量为 a ⃗ \vec a a/ ∣ ∣ a ⃗ ∣ ∣ ||\vec a|| ∣∣a∣∣。
向量乘法
-
点乘 a ⋅ b = ∣ ∣ a ⃗ ∣ ∣ ∣ ∣ b ⃗ ∣ ∣ cos θ a\cdot b = ||\vec a|| ||\vec b|| \cos \theta a⋅b=∣∣a∣∣∣∣b∣∣cosθ
-
叉乘 $|a \times b| = ||\vec a|| ||\vec b|| \sin \theta\$
图形学中的点和向量
因为笛卡尔坐标无法表示平移变换,我们通常用齐次坐标表示点和向量,就是增加一维,点的最后一维为0,点为0。
这样可以做到向量和向量的和仍为向量,点和点的差为向量,点和向量的和为点。(点和点的和一般为两点的中点)。
-
缩放
沿x,y方向缩放sx,sy。
S ( s x , s y ) = ( s x 0 0 0 s y 0 0 0 1 ) \text S(s_x,s_y) = \begin{pmatrix} s_x &0 &0\\ 0 &s_y &0\\ 0 &0 &1 \end{pmatrix} S(sx,sy)=⎝⎛sx000sy0001⎠⎞ -
旋转
逆时针绕(0,0)旋转 α \alpha α,旋转矩阵为正交阵。
R ( α ) = ( cos a − sin a 0 sin a cos a 0 0 0 1 ) R(\alpha) = \begin{pmatrix} \cos a &-\sin a &0\\ \sin a &\cos a & 0\\ 0 &0 &1 \end{pmatrix} R(α)=⎝⎛cosasina0−sinacosa0001⎠⎞ -
平移
沿x,y方向平移tx,ty。
T ( t x , t y ) = ( 1 0 t x 0 1 t y 0 0 1 ) \text T(t_x,t_y) = \begin{pmatrix} 1 &0 &t_x\\ 0 &1 &t_y\\ 0 &0 &1 \end{pmatrix} T(tx,ty)=⎝⎛100010txty1⎠⎞
变换的组合
变换不可交换顺序,就和矩阵的乘法不满足交换律一样。如果绕某一点c进行旋转,就必须先把c点平移到原点,旋转后做平移的逆
变换。注意变换是左结合性,要满足矩阵乘法性质。
(
x
1
y
1
0
)
=
T
(
c
)
R
(
θ
)
T
(
−
c
)
(
x
y
0
)
\begin{pmatrix} x_1\\ y_1\\ 0 \end{pmatrix} = \text T(c)\text R(\theta)\text T(-c) \begin{pmatrix} x\\ y\\ 0 \end{pmatrix}
⎝⎛x1y10⎠⎞=T(c)R(θ)T(−c)⎝⎛xy0⎠⎞
逆变换
如果复杂变换不好求,就用结果状态做的变换退回到初始状态的矩阵求逆。