Games101 笔记 Part1 图形学中的线性代数 Day1 向量与矩阵

211 阅读1分钟

Day1 向量与矩阵

向量

向量的点乘

计算公式:

  • ab=abcosθ\vec{a} \cdot \vec{b} = |\vec a||\vec b|cosθ
  • ab=(xaya)(xbyb)={xaya}{xbyb}=xaxb+yayb\vec{a} \cdot \vec{b} = \begin{pmatrix}x_a\\y_a\end{pmatrix} · \begin{pmatrix} x_b\\y_b \end{pmatrix} = \begin{Bmatrix} x_a\\y_a \end{Bmatrix} · \begin{Bmatrix} x_b & y_b \end{Bmatrix} = x_ax_b + y_ay_b;

应用场景:

  • 几何意义:a\vec ab\vec b 方向上投影的长度与 b\vec b 长度的乘积。

  • a\vec ab\vec b 的夹角:cosθ=ababcosθ = \frac{\vec{a} · \vec{b} }{|\vec a||\vec b|};

  • a\vec a 按照 b\vec b 的方向进行正交分解:

    asinθ=aacosθ\vec asinθ = \vec a - \vec a cosθ

  • 判断同向、垂直、反向:

    ab{>0,ab同向;=0,ab垂直;>0,ab反向;\vec{a} · \vec{b} \begin{cases} >0,&\vec a与\vec b 同向; \\ =0,&\vec a与\vec b 垂直; \\ >0,&\vec a与\vec b 反向;\end{cases}

    将向量进行单位化之后可以根据点积和1是否接近来判断两向量方向是否接近。

向量的叉乘:

特殊性质:

  • 判断方向:

    • 右手螺旋定则:右手呈点赞状,四指旋转方向代表 \vec a 到 \vec b 的方向,拇指代表叉乘方向;
  • a×b=b×a\vec{a} \times \vec{b} = - \vec b\times\vec a

计算公式:

  • a×b=absinθ |\vec{a} \times \vec{b}| = |\vec a||\vec b| sinθ
  • a×b=xaybyaxb\vec{a} \times \vec{b} = x_ay_b - y_ax_b
  • a×b=(0zayaza0xayaxa0)(xbybzb)=(yazbzaybzaxbxazbxaybyaxb)\vec{a} \times \vec{b} = \begin{pmatrix}0&-z_a&y_a\\z_a&0&-x_a\\-y_a&x_a&0\end{pmatrix} \begin{pmatrix}x_b\\y_b\\z_b\end{pmatrix} = \begin{pmatrix}y_az_b - z_ay_b\\z_ax_b-x_az_b\\x_ay_b-y_ax_b\end{pmatrix}

应用场景:

  • 根据叉乘方向构建三维坐标系:

    • x×y=z\vec{x} \times \vec{y} = \vec z;代表右手坐标系
    • x×y=z\vec{x} \times \vec{y} = - \vec z;代表左手坐标系
  • 判断两向量的时针顺序关系:

    a×b{>0,ab的顺时针方向;=0,ab同向;>0,ab的逆时针方向;\vec{a} \times \vec{b} \begin{cases} >0,&\vec a在\vec b 的顺时针方向; \\ =0,&\vec a与\vec b 同向; \\ >0,&\vec a在\vec b 的逆时针方向;\end{cases}

  • 根据第二点的延申:判断点是否在多边形内——判断点与多边形顶点的构成的向量与所有边向量的叉积是否同号。

点乘与叉乘

使用叉乘构造三维坐标系,使用点乘将向量进行分解。

矩阵

基本操作:
  • 数乘

  • 乘积:前行乘后列

  • 转秩:

    • (xy)T=(xy)\begin{pmatrix}x\\y\end{pmatrix}^{T} = \begin{pmatrix} x&y \end{pmatrix} ;
    • 乘积的转秩:(ATBT)=BTAT(A^{T}B^{T}) = B^{T} A^{T}
  • 矩阵的逆:

    • 单位矩阵:I3=(100010001)I_3 = \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}
    • AB=I,则BA的逆矩阵,记作A1AB = I,则B 为 A 的逆矩阵,记作 A^{-1}
    • AA1=A1AAA^{-1} = A^{-1}A
  • 正交矩阵:矩阵的转秩即为逆矩阵。

    如旋转矩阵:[cosθsinθsinθcosθ]\begin{bmatrix} cosθ&-sinθ\\sinθ&cosθ \end{bmatrix}