線性代數 ⟩ 向量 ⟩ 射影向量 ⟩ 矩陣表示法
projv⃗(u⃗)=T(u⃗)\text{proj}_{\vec{v}}(\vec{u}) = T (\vec{u})projv(u)=T(u) 是一種線性變換,其中:
T=1∥v∥2[vx2vxvyvxvzvyvxvy2vyvzvzvxvzvyvz2]T = \dfrac{1}{\|v\|²} \begin{bmatrix} v_x^2 & v_x v_y & v_x v_z \\ v_y v_x & v_y^2 & v_y v_z \\ v_z v_x & v_z v_y & v_z^2 \end{bmatrix}T=∥v∥21vx2vyvxvzvxvxvyvy2vzvyvxvzvyvzvz2
透過射影向量,可以將向量分解成兩個互相垂直的向量。
若將 u⃗,v⃗\vec{u},\vec{v}u,v 表示為行向量,因為內積可表示為矩陣乘法,所以射影向量也可表示為矩陣乘法:
(u⃗⋅v⃗)v⃗=v⃗⏟(n×1) v⃗Tu⃗⏟(1×1, dot product)⏞matrix multiplication=v⃗v⃗Tu⃗=[vx2vxvyvxvzvyvxvy2vyvzvzvxvzvyvz2][uxuyuz](\vec{u}\cdot\vec{v})\vec{v}= \overbrace{ \underbrace{\vec{v}}_{(n\times 1\text{) }}\underbrace{\vec{v}^T\vec{u}}_{(1\times 1\text{, dot product)}} }^{\text{matrix multiplication}} = \vec{v}\vec{v}^T\vec{u} = \begin{bmatrix} v_x^2 & v_x v_y & v_x v_z \\ v_y v_x & v_y^2 & v_y v_z \\ v_z v_x & v_z v_y & v_z^2 \end{bmatrix} \begin{bmatrix}u_x \\ u_y \\ u_z\end{bmatrix}(u⋅v)v=(n×1) v(1×1, dot product)vTumatrix multiplication=vvTu=vx2vyvxvzvxvxvyvy2vzvyvxvzvyvzvz2uxuyuz
垂直分解的矩陣表示法
矩陣乘法
射影向量是一種線性變換。
Mathematics for 3D Game Programming & Computer Graphics (2nd Edition, 2004)
Last updated 2 years ago
Was this helpful?