跳转至

Preview of Linear Algebra

约 784 个字 2 张图片 预计阅读时间 3 分钟

A Swift and Brutal Introduction to Linear Algebra.

Vertors

在图形学中,默认向量是列向量。

Dot Product

\[ \vec{a} \cdot \vec{b} \ = \ ||\vec{a}|| \ ||\vec{b}|| \ cos(\theta) \]
  • Properties:
    • \(\vec{a} \cdot \vec{b} = \vec{b} \cdot \vec{a}\)
    • \(\vec{a} \cdot (\vec{b} + \vec{c}) = \vec{a} \cdot \vec{b} + \vec{a} \cdot \vec{c}\)
    • \((k \vec{a}) \cdot \vec{b} = k (\vec{a} \cdot \vec{b})\)

点乘在图形学最大的作用就是找到两个向量之间的夹角。还可以找到一个向量在另一个向量上的投影。

投影算出来之后我们就可以把一个向量分解成两个向量的和,一个是在另一个向量上的投影,一个是垂直于另一个向量的向量。

\[ \vec{b_{\parallel}} = \vec{b} - \vec{b_{\perp}} \]

还可以算两个向量在方向上有多么接近。我们通过计算两个单位向量的点乘,如果结果接近 1, 那么我们可以说这两个向量非常接近。

另一个应用是判断向量是否在同一方向上。如果两个向量的点乘大于0,那么这两个向量在同一方向上。

Cross Product

\[ || \vec{a} \times \vec{b}|| = ||\vec{a}|| \ ||\vec{b}|| \ sin(\theta) \ \vec{n} \]
\[ \vec{a} \times \vec{b} = - \vec{b} \times \vec{a} \]

计算出来的结果是一个向量,这个向量垂直于 \(\vec{a}\)\(\vec{b}\)。方向可以用右手定则判定。

右手定则

\[ \vec{a} \times \vec{b} \]

四指从 \(\vec{a}\) 旋转到 \(\vec{b}\),拇指指向的方向就是 \(\vec{a} \times \vec{b}\) 的方向。

  • Properties:
    • \(\vec{a} \times (\vec{b} + \vec{c}) = \vec{a} \times \vec{b} + \vec{a} \times \vec{c}\)
    • \((k \vec{a}) \times \vec{b} = k (\vec{a} \times \vec{b})\)
    • \(\vec{a} \times \vec{a} = \vec{0}\)

假设 \(\vec{a} = \begin{pmatrix} x_a \\ y_a \\ z_a \end{pmatrix}\), \(\vec{b} = \begin{pmatrix} x_b \\ y_b \\ z_b \end{pmatrix}\), 那么

\[ \vec{a} \times \vec{b} = \begin{pmatrix} y_a z_b - z_a y_b \\ z_a x_b - x_a z_b \\ x_a y_b - y_a x_b \end{pmatrix} = \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} \]

叉乘两个最大的作用:判断左和右,判断内与外。

  • 判断左和右:如果想判断 \(\vec{b}\)\(\vec{a}\) 的左边还是右边,就用 \(\vec{a} \times \vec{b}\),如果结果是正的,那么 \(\vec{b}\)\(\vec{a}\) 的左边,反之在右边。
判断左和右
  • 判断内与外:想判断 P 点在三角形 ABC 的内部还是外部,我们可以依次计算 \(\vec{AB} \times \vec{AP}\), \(\vec{BC} \times \vec{BP}\), \(\vec{CA} \times \vec{CP}\),如果 P 点都在三条边的同一侧,那么这个点在三角形内部。
判断内与外

Orthonormal Coordinate Frames

定义右手直角坐标系的三个基向量 \(\vec{u}, \vec{v}, \vec{w}\), 它们满足:

\[ ||\vec{u}|| = ||\vec{v}|| = ||\vec{w}|| = 1 \]
\[ \vec{u} \cdot \vec{v} = \vec{v} \cdot \vec{w} = \vec{w} \cdot \vec{u} = 0 \]
\[ \vec{w} = \vec{u} \times \vec{v} \]

那么任意一个向量都可以用这三个向量表示:

\[ \vec{p} = (\vec{p} \cdot \vec{u}) \vec{u} + (\vec{p} \cdot \vec{v}) \vec{v} + (\vec{p} \cdot \vec{w}) \vec{w} \]

Matrices

矩阵没有交换律,有结合律和分配律。

  • (AB)C = A(BC)
  • A(B + C) = AB + AC
  • (A + B)C = AC + BC

评论