Games101 —2
向量
特征:有方向 有长度
单位向量
e ⃗ = a ⃗ ∣ b ⃗ ∣ \vec e =\frac {\vec a}{|\vec b|} e=∣b∣a
向量相加
坐标对应单位向量方向上的值相加
使用三角形定理或平行四边形定理
向量矩阵化
a ⃗ = { x y } \vec a = \begin{Bmatrix} x\\ y \\ \end{Bmatrix} a={xy}
向量矩阵的转置
a ⃗ T = { x y } \mathbf{\vec a}^\mathrm{T}=\begin{Bmatrix}x&y\end{Bmatrix} aT={xy}
两个向量的点乘
a ⃗ ∗ b ⃗ = ∣ a ⃗ ∣ ∣ b ⃗ ∣ cos θ \vec a *\vec b=|\vec a| |\vec b|\cos\theta a∗b=∣a∣∣b∣cosθ
满足交换律 结合律 分配律
点乘的矩阵表示
a
⃗
∗
b
⃗
=
{
x
a
y
a
}
{
x
b
y
b
}
=
x
a
∗
x
b
+
y
a
∗
y
b
\vec a*\vec b=\begin{Bmatrix}xa&ya\end{Bmatrix}\begin{Bmatrix}xb\\yb\end{Bmatrix}=xa*xb +ya*yb
a∗b={xaya}{xbyb}=xa∗xb+ya∗yb
a
⃗
∗
b
⃗
=
{
x
a
y
a
z
a
}
{
x
b
y
b
z
b
}
=
x
a
∗
x
b
+
y
a
∗
y
b
+
z
a
∗
z
b
\vec a*\vec b =\begin{Bmatrix}xa&ya&za\end{Bmatrix}\begin{Bmatrix}xb\\yb\\zb\end{Bmatrix}=xa*xb+ya*yb+za*zb
a∗b={xayaza}⎩⎨⎧xbybzb⎭⎬⎫=xa∗xb+ya∗yb+za∗zb
点乘的一些用途
1.点乘最大的用处就是找到两个向量的夹角
2.点乘可以判断两个向量有多接近
3.点乘可以告诉我们两个向量的方向是否相反
…
向量的投影
向
量
b
⃗
投
影
到
a
⃗
的
长
度
为
∣
b
⃗
∣
∗
cos
θ
向量\vec b投影到\vec a的长度为|\vec b|*\cos\theta
向量b投影到a的长度为∣b∣∗cosθ
cos
θ
=
a
⃗
∗
b
⃗
∣
a
⃗
∣
∣
b
⃗
∣
\cos\theta=\frac {\vec a*\vec b}{|\vec a||\vec b|}
cosθ=∣a∣∣b∣a∗b
向量的叉乘(Vector Multiplication)
1.两个向量 a b 的叉乘 运算结果是一个向量而不是标量
且该向量与这两个向量a b 的方向垂直
2.该叉乘得到的向量用右手定则判定
大
小
为
∣
a
⃗
∣
∣
b
⃗
∣
sin
θ
大小为|\vec a||\vec b|\sin\theta
大小为∣a∣∣b∣sinθ
3
a
⃗
∗
b
⃗
=
−
b
⃗
∗
a
⃗
\vec a*\vec b=-\vec b*\vec a
a∗b=−b∗a
右手坐标系
三维坐标系中,如果 X ∗ Y = + Z X*Y =+Z X∗Y=+Z,则该坐标系为右手坐标系
叉乘运算
设
a
⃗
=
{
x
a
y
a
z
a
}
b
=
{
x
b
y
b
z
b
}
\vec a=\begin{Bmatrix}xa\\ya\\za\end{Bmatrix} b=\begin{Bmatrix}xb\\yb\\zb\end{Bmatrix}
a=⎩⎨⎧xayaza⎭⎬⎫b=⎩⎨⎧xbybzb⎭⎬⎫
则
a
⃗
∗
b
⃗
=
{
y
a
∗
z
b
−
y
b
∗
z
a
z
a
∗
x
b
−
x
a
∗
z
b
x
a
∗
y
b
−
y
a
∗
x
b
}
\vec a*\vec b=\begin{Bmatrix}ya*zb-yb*za\\za*xb-xa*zb\\xa*yb-ya*xb\end{Bmatrix}
a∗b=⎩⎨⎧ya∗zb−yb∗zaza∗xb−xa∗zbxa∗yb−ya∗xb⎭⎬⎫
叉乘的用途
1.叉乘可以判定一个向量在另一个向量的左右
2.叉乘可以判定一个点是否在一个封闭的面里
注:如果点刚好在面的边上,可自行决定是否在面上
3.点乘可以创建坐标系
矩阵(Matrices)
矩阵的乘法
设A为a行b列的矩阵,B为c行d列的矩阵
1.只有b = c的两个矩阵才能相乘
2.没用交换律 有结合律和分配律
矩阵的一些运用
1.可以使用矩阵乘向量,使向量的方向改变
…
矩阵的转置
1.行变列 列变行
A
=
{
1
2
3
}
A=\begin{Bmatrix}1&2&3\end{Bmatrix}
A={123}
A
T
=
{
1
2
3
}
\mathbf{A}^\mathrm{T}=\begin{Bmatrix}1\\2\\3\end{Bmatrix}
AT=⎩⎨⎧123⎭⎬⎫
2.
(
A
∗
B
)
T
=
B
T
∗
A
T
\mathbf{(A*B)}^\mathrm{T}=\mathbf{B}^\mathrm{T}*\mathbf{A}^\mathrm{T}
(A∗B)T=BT∗AT
单位矩阵
I(3x3)= { 1 0 0 0 1 0 0 0 1 } \begin{Bmatrix}1&0&0\\0&1&0\\0&0&1\end{Bmatrix} ⎩⎨⎧100010001⎭⎬⎫
向量转化为矩阵进行运算
使用特殊的矩阵进行向量的反向
点乘(Dot product):
A
∗
B
=
A
T
∗
B
=
{
x
a
y
a
z
a
}
∗
{
x
b
y
b
z
b
}
A*B=\mathbf{A}^\mathrm{T}*B=\begin{Bmatrix}xa&ya&za\end{Bmatrix}*\begin{Bmatrix}xb\\yb\\zb\end{Bmatrix}
A∗B=AT∗B={xayaza}∗⎩⎨⎧xbybzb⎭⎬⎫
叉乘(Cross product)…