二、向量运算
1.线性代数与几何
符号约定:
标量,用斜体的小写罗马或希腊字幕表示,如 \(a,b,x,y,z,θ,λ\)
向量,用小写黑粗体字母表示,如 \(\mathbb{a,b,u,v,q,r}\)
矩阵,用大写黑粗体字母表示,如 $A,B,M,R $
2.零向量
n维向量集合的加性单元就是n维“零向量”。他的每一维度都是零,是唯一没有方向的向量,如下所示:
\[\mathbb{a}=\begin{bmatrix}
0,&0,&0
\end{bmatrix},a_1 = 0,a_2=0,a_3=0\\
\]
3.负向量
得到任意维度向量的负向a量,只需要简单地将向量地每个分量都变负即可。数学表达式为:
\[{
\mathbb{-}\begin{bmatrix}
a_1,&a_2,&a_3&...&a_{n-1},&a_n
\end{bmatrix} =
\begin{bmatrix}
-a_1,&-a_2,&-a_3&...&-a_{n-1},&-a_n
\end{bmatrix}
}
\]
示例:
\[{
\mathbb{-}\begin{bmatrix}
2,&2
\end{bmatrix} =
\begin{bmatrix}
-2,&-2
\end{bmatrix}\\
\mathbb{-}\begin{bmatrix}
4,&-5,&8
\end{bmatrix} =
\begin{bmatrix}
-4,&5,&-8
\end{bmatrix}
}
\]
几何意义,将得到一个和原向量大小相等,方向相反的向量(注意:向量在图中的位置是无关紧要的,只有大小和方向才是最重要的):
4.向量的大小
向量的大小被称为向量的长度和模。
运算法则:
\[\begin{Vmatrix} \mathbb{v}\end{Vmatrix}
=
\sqrt{v_1^2+v_2^2+ ...+v_{n-1}^2+v_n^2}
=
\sqrt{\sum_{i=1}^{n} v_i^2}
\]
示例:
\[\begin{Vmatrix}[2&-1&3]\end{Vmatrix}
{
=\sqrt{2^2+(-1)^2+3^2}\\
=\sqrt{4+1+9}\\
=\sqrt{14}
}
\]
几何意义:如下图所示
上图以勾股定理为例,计算公式如下:
\[\begin{Vmatrix} \mathbb{c}\end{Vmatrix}^2 = \begin{vmatrix} \mathbb{a}\end{vmatrix}^2+\begin{vmatrix} \mathbb{b}\end{vmatrix}^2
\]
5.标量与向量的乘法
标量和向量不能相加,但可以相乘。结果将得到一个向量,与原来的向量平行,长度不同或方向相反。
运算公式:
\[{
k\begin{bmatrix}
a_1,&a_2,&a_3&...&a_{n-1},&a_n
\end{bmatrix} =
\begin{bmatrix}
ka_1,&ka_2,&ka_3&...&ka_{n-1},&ka_n
\end{bmatrix}
}
\]
\[{
\frac{1}{k}\begin{bmatrix}
a_1,&a_2,&a_3&...&a_n-1,&a_n
\end{bmatrix} =
\begin{bmatrix}
\frac{a_1}{k},&\frac{a_2}{k},&\frac{a_3}{k}&...&\frac{a_{n-1}}{k},&\frac{a_n}{k}
\end{bmatrix}
}
\]
示例:
\[{
2\begin{bmatrix}
1&5&7
\end{bmatrix} =
\begin{bmatrix}
2&10&14
\end{bmatrix}
\\
-2\begin{bmatrix}
1&5&7
\end{bmatrix} =
\begin{bmatrix}
-2&-10&-14
\end{bmatrix}
\\
\begin{bmatrix}
2&4&8
\end{bmatrix}/2 =
\begin{bmatrix}
1&2&4
\end{bmatrix}
}
\]
几何意义:
6.标准化向量
只有方向没有大小的向量称为单位向量,又被称为标准化向量和法线。单位向量是大小为1的向量。
运算公式:
\[{
V_{norm} = \frac{\mathbb{v}}{\begin{Vmatrix} \mathbb{v}\end{Vmatrix}},\mathbb{v}\neq 0
}
\]
示例:
\[\begin{bmatrix} 2& 2\end{bmatrix}_{norm}
{
=\frac{\begin{bmatrix}2& 2\end{bmatrix}}{\sqrt{2^2+2^2}}\\
=\frac{\begin{bmatrix}2& 2\end{bmatrix}}{\sqrt{8}}\\
=\frac{\begin{bmatrix}2& 2\end{bmatrix}}{2.83}\\
=\begin{bmatrix} 0.71&-0.71\end{bmatrix}
}
\]
几何意义:
7.向量的加法和减法
运算公式:
\[{
\begin{bmatrix} a_1\\a_2\\a_3\\{...}\\a_{n-1}\\a_n\end{bmatrix} +
\begin{bmatrix} b_1\\b_2\\b_3\\{...}\\b_{n-1}\\b_n\end{bmatrix}=
\begin{bmatrix} a_1+b_1\\a_2+b_2\\a_3+b_3\\{...}\\a_{n-1}+b_{n-1}\\a_n+b_n\end{bmatrix}
}
\]
\[{
\begin{bmatrix} a_1\\a_2\\a_3\\{...}\\a_{n-1}\\a_n\end{bmatrix}-
\begin{bmatrix} b_1\\b_2\\b_3\\{...}\\b_{n-1}\\b_n\end{bmatrix}=
\begin{bmatrix} a_1-b_1\\a_2-b_2\\a_3-b_3\\{...}\\a_{n-1}-b_{n-1}\\a_n-b_n\end{bmatrix}
}
\]
示例:
\[{
\mathbb{a}=\begin{bmatrix} 1\\2\\1\end{bmatrix},
\mathbb{b}=\begin{bmatrix} 2\\2\\1\end{bmatrix}\\
\mathbb{a}+\mathbb{b}=
\begin{bmatrix} 1\\2\\1\end{bmatrix} +
\begin{bmatrix} 2\\2\\1\end{bmatrix} =
\begin{bmatrix} 1+2\\2+2\\1+1\end{bmatrix}=
\begin{bmatrix} 3\\4\\2\end{bmatrix}\\
\mathbb{a}-\mathbb{b}=
\begin{bmatrix} 1\\2\\1\end{bmatrix} -
\begin{bmatrix} 2\\2\\1\end{bmatrix} =
\begin{bmatrix} 1-2\\2-2\\1-1\end{bmatrix}=
\begin{bmatrix} -1\\0\\0\end{bmatrix}
}
\]
几何意义:
7.向量的距离公式
运算公式:
\[(\mathbb{a},\mathbb{b}) = \begin{Vmatrix} \mathbb{b-a}\end{Vmatrix}=\sqrt{(b_x-a_x)^2-(b_y-a_y)^2}
\]
示例:
\[Distance(\begin{bmatrix} 5&0\end{bmatrix},\begin{bmatrix} -1&8\end{bmatrix})
{
=\sqrt{(-1-5)^2+(8-0)^2}\\
=\sqrt{(-6)^2+(8)^2}\\
=\sqrt{36+84}\\
=10
}
\]
8.向量点乘
运算公式:
\[{
\begin{bmatrix} a_1\\a_2\\a_3\\{...}\\a_{n-1}\\a_n\end{bmatrix}\bullet
\begin{bmatrix} b_1\\b_2\\b_3\\{...}\\b_{n-1}\\b_n\end{bmatrix}=
\begin{bmatrix} a_1b_1\\a_2b_2\\a_3b_3\\{...}\\a_{n-1}b_{n-1}\\a_nb_n\end{bmatrix}
\Longleftrightarrow\mathbb{a}\bullet\mathbb{b} = \sum_{i=1}^{n} a_ib_i
}
\]
示例:
\[\begin{bmatrix} 3\\1\\2\end{bmatrix}\bullet\begin{bmatrix} 1\\-1\\2\end{bmatrix}=(3)(1)+(1)(-1)+(2)(2)=6
\]
几何意义:
点乘结果描述了两个向量的相似程度,点乘结果越大,两向量越相近。点乘等于向量大小与向量夹角的 \(\cos\) 值的积:
\[{
\mathbb{a}\bullet\mathbb{b} = \begin{Vmatrix} \mathbb{a}\end{Vmatrix}\begin{Vmatrix} \mathbb{b}\end{Vmatrix}\cos\theta\\
\theta=\arccos \begin{pmatrix} \frac{\mathbb{a}\bullet\mathbb{b}}{ \begin{Vmatrix} \mathbb{a}\end{Vmatrix}\begin{Vmatrix} \mathbb{b}\end{Vmatrix}}) \end{pmatrix}
}
\]
几何表现:
注意:如果是单位向量,上述公式可以为:
\[\theta=\arccos\begin{pmatrix}\mathbb{a}\bullet\mathbb{b}\end{pmatrix}(\mathbb{a}和\mathbb{b}是单位向量)
\]
如果不需要\(\theta\)的确切值而只需要a和b的夹角类型,可以只取用点乘结果的符号,如下表所示:
| \(\mathbb{a}\bullet\mathbb{b}\) |
\(\theta\) |
\(\mathbb{a}和\mathbb{b}\) |
| \(>0\) |
\(0^0\leq\theta<90^0\) |
方向基本相同 |
| \(0\) |
\(\theta=90^0\) |
正交 |
| \(<0\) |
\(90^0<\theta\le180^0\) |
方向基本相反 |
几何参考见下图:
9.向量投影
给定两个向量\(\mathbb{v}\)\(和\)\(\mathbb{w}\),能将\(\mathbb{v}\)分解成两个分量:\(\mathbb{v}_{||}\)和\(\mathbb{v}_{\bot}\)。他们分别平行和垂直于\(\mathbb{w}\),并且满足\(\mathbb{v}=\mathbb{v}_{||}+\mathbb{v}_{\bot}\)。一般称平行分量\(\mathbb{v}_{||}\)为\(\mathbb{v}\)在\(\mathbb{w}\)上的投影,几何解释如下图所示:
运算公式:
投影公式:
\[{
\mathbb{v_{||}}
{
=\mathbb{w}\frac{\begin{Vmatrix} \mathbb{v}\end{Vmatrix}\cos\theta}{\begin{Vmatrix} \mathbb{w}\end{Vmatrix}}\\
=\mathbb{w}\frac{\begin{Vmatrix} \mathbb{v}\end{Vmatrix}\begin{Vmatrix} \mathbb{w}\end{Vmatrix}\cos\theta}{\begin{Vmatrix} \mathbb{w}\end{Vmatrix}^2}\\
=\mathbb{w}\frac{\mathbb{v}\bullet\mathbb{w}}{\begin{Vmatrix} \mathbb{w}\end{Vmatrix}^2}\\
}
}
\]
垂线段公式:
\[{
\mathbb{v}_\bot
{
=\begin{Vmatrix} \mathbb{v}\end{Vmatrix}-\mathbb{v_{||}}\\
=\begin{Vmatrix} \mathbb{v}\end{Vmatrix}-\mathbb{w}\frac{\mathbb{v}\bullet\mathbb{w}}{\begin{Vmatrix} \mathbb{w}\end{Vmatrix}^2}
}
}
\]
10.向量投影向量叉乘
叉乘公式:
\[{
\begin{bmatrix} x_1\\y_1\\z_1\end{bmatrix}\times
\begin{bmatrix} x_2\\y_2\\z_2\end{bmatrix}=
\begin{bmatrix} y_1z_2-z_1y_2\\z_1x_2-x_1z_2\\x_1y_2-y_1x_2\end{bmatrix}
}
\]
示例:
\[{
\begin{bmatrix} 1\\3\\4\end{bmatrix}\times
\begin{bmatrix} 2\\-5\\8\end{bmatrix}=
\begin{bmatrix} (3)(8)-(4)(-5)\\(4)(2)-(1)(8)\\(1)(-5)-(3)(2)\end{bmatrix}=
\begin{bmatrix} 44\\0\\-10)\end{bmatrix}
}
\]
几何意义,叉乘得到的向量垂直于原来的两个向量(重要:通常用来计算法线):
说明:欢迎评论,如有问题欢迎指正,转载还请注明出处。
参考资料:《3D数学基础:图形与游戏开发》