概述
Vectors(向量)
写成
a
⃗
vec{a}
a或者
a
bold{a}
a
或者用起点和终点的
A
B
→
=
B
−
A
overrightarrow{AB}=B-A
AB=B−A
有长度和方向
没有绝对的起始位置
Vector Normalization(向量归一化)
向量的模(magnitude)写成
∥
a
⃗
∥
lVertvec{a}rVert
∥a∥
单位向量(unit vector)即是一个单位长度的向量(a vector with magnitude of 1)
获取一个向量的单位向量:
a
^
=
a
⃗
/
∥
a
⃗
∥
hat{a}=vec{a}/|vec{a}|
a^=a/∥a∥
用于表示方向
Vector Addition(向量相加)
几何上可以用平行四边形法则或三角形法则表示
代数上用基的相加表示
Cartesian Coordinates(笛卡尔坐标)
用两个互相垂直的基来表示向量
A
=
(
x
y
)
A= begin{pmatrix}x \y end{pmatrix}
A=(xy)
A
T
=
(
x
y
)
A^T= begin{pmatrix}x &y end{pmatrix}
AT=(xy)
∥
A
∥
=
x
2
+
y
2
|A|=sqrt{x^2+y^2}
∥A∥=x2+y2
Vector Multiplication(向量乘积)
dot product(点乘)
a
⃗
⋅
b
⃗
=
∥
a
⃗
∥
∥
b
⃗
∥
cos
θ
vec{a}cdotvec{b}=|vec{a}||vec{b}|cos{theta}
a⋅b=∥a∥∥b∥cosθ(
θ
theta
θ为两向量夹角)
cos
θ
=
a
⃗
⋅
b
⃗
∥
a
⃗
∥
∥
b
⃗
∥
cos{theta}=dfrac{vec{a}cdotvec{b}}{|vec{a}||vec{b}|}
cosθ=∥a∥∥b∥a⋅b
点乘满足结合律、分配律、交换律
图形学中的点乘应用
- 得到两个向量的夹角
- 得到一个向量在另一个向量上的投影
- 分解向量
- 区分前方和后方
cross produce(叉乘)
- 叉乘的结果是个垂直于两个向量的向量,方向由右手螺旋定则决定
cross product in graphics
- 区分左/右
a ⃗ × b ⃗ > 0 vec{a}timesvec{b}>0 a×b>0, a ⃗ vec{a} a在 b ⃗ vec{b} b右方,反之在左方
- 区分里/外
p点在三角形里面,三个叉乘值均为正数或均为负数。在三角形外部则三个叉乘值不同号。
A B → × A P → > 0 overrightarrow{AB}timesoverrightarrow{AP}>0 AB×AP>0 B C → × B P → > 0 overrightarrow{BC}timesoverrightarrow{BP}>0 BC×BP>0 C A → × C P → > 0 overrightarrow{CA}timesoverrightarrow{CP}>0 CA×CP>0
- 区分凹多边形
对凸多边形而言,例如上方的三角形, A B ⃗ × B C ⃗ 和 B C ⃗ × C B ⃗ 和 C B ⃗ × A B ⃗ 同 号 。 vec{AB}timesvec{BC}和vec{BC}timesvec{CB}和vec{CB}timesvec{AB}同号。 AB×BC和BC×CB和CB×AB同号。
若是凹多边形,则凹入的点的两条边向量叉乘值和其他叉乘值异号
Matrices(矩阵)
- 在图形学中被广泛应用于表达各种转换(Transformations)
Matrix-Matrix Multiplaction
- A m n B n p = C m p A_{mn}B_{np}=C_{mp} AmnBnp=Cmp 其中矩阵A的列数必须等于矩阵B的行数,相乘结果的矩阵C行数和列数各为A的行数和B的列数
- 不支持交换律
Cross Product
向量的叉乘可以写成矩阵作用形式:
a
⃗
×
b
⃗
=
A
∗
b
⃗
=
(
0
−
z
a
y
a
z
a
0
−
x
a
−
y
a
x
a
0
)
(
x
b
y
b
z
b
)
vec{a}timesvec{b}=A*vec{b}=begin{pmatrix}0&-z_a&y_a\z_a&0&-x_a\-y_a&x_a&0end{pmatrix}begin{pmatrix}x_b\y_b\z_bend{pmatrix}
a×b=A∗b=⎝⎛0za−ya−za0xaya−xa0⎠⎞⎝⎛xbybzb⎠⎞
图片来源为课程PPT
最后
以上就是寂寞自行车为你收集整理的Games101笔记-Lecture02图片来源为课程PPT的全部内容,希望文章能够帮你解决Games101笔记-Lecture02图片来源为课程PPT所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复