计算机图形学1. 线性代数

计算机图形学1. 线性代数

1.点乘

在2D平面中, 给予两个向量 \(\vec{a}\) 和 \(\vec{b}\) , 点乘的结果是一个值

\[\vec{a} \cdot \vec{b} = \left( \begin{array}{c} a_x \\ a_y \end{array} \right) \cdot \left( \begin{array}{c} b_x \\ b_y \end{array} \right) = a_x b_x + a_y b_y\]

在3D空间中, 给予两个向量 \(\vec{a}\) 和 \(\vec{b}\)

\[\vec{a} \cdot \vec{b} = \left( \begin{array}{c} a_x \\ a_y \\ a_z \end{array} \right) \cdot \left( \begin{array}{c} b_x \\ b_y \\ b_z \end{array} \right) = a_x b_x + a_y b_y + a_z b_z\]

2.叉乘

给与两个向量 \(\vec{x}\) 和 \(\vec{y}\), 叉乘的结果是一个向量, 其方向垂直于两个向量所在的平面, 大小为两个向量构成的平行四边形的面积

常见于三维空间内, 给与两个轴向量𝑖⃗和𝑗⃗, 计算出另一个向量

\[\begin{align} \vec{x} \times \vec{y} &= +\vec{z} \\ \vec{y} \times \vec{x} &= -\vec{z} \\ \vec{y} \times \vec{z} &= +\vec{x} \\ \vec{z} \times \vec{y} &= -\vec{x} \\ \vec{z} \times \vec{x} &= +\vec{y} \\ \vec{x} \times \vec{z} &= -\vec{y} \\ \end{align}\]

叉乘可以用来判断一个向量在另一个向量的左边还是右边, 以及两个向量的夹角
例如, 两个向量𝑎⃗和𝑏⃗, 如果𝑎⃗叉乘𝑏⃗的结果是正的, 那么𝑎⃗在𝑏⃗的左边, 如果是负的, 那么在右边

3. 矩阵

矩阵的乘法, 必须满足 \( (M \times N) (N \times P) = (M \times P) \)

结果的第 \(i\) 行第 \(j\) 列的元素是第一个矩阵的第 \(i\) 行的元素与第二个矩阵的第 \(j\) 列的元素的点乘


计算机图形学1. 线性代数
https://simonkimi.githubio.io/2024/08/21/计算机图形学1-线性代数/
作者
simonkimi
发布于
2024年8月21日
许可协议