向量的定义:
既有大小又有方向的量称之为向量,与之相对应的是标量,标量是只有大小没有方向的量。
一个向量的一般在头上添加一个箭头表示,比如向量V,可以表示为
V ⃗ \vec{V}
V
游戏中一般以二维向量跟三维向量居多,例如一个由A点指向B点的向量,可以表示为
A B ⃗ \vec{AB}
A
B
,由于向量是有方向的,因此向量
A B ⃗ \vec{AB}
A
B
与向量
B A ⃗ \vec{BA}
B
A
并不等价
二维向量的表示为
V = ( V x , V y ) V=(V_x, V_y)
V
=
(
V
x
,
V
y
)
,如A = (2, 3), B=(-1, -4)
三维向量可以表示为
V = ( V x , V y , V z ) V=(V_x, V_y,V_z)
V
=
(
V
x
,
V
y
,
V
z
)
,如A = (2, 3, 4), B = (-1, -4, 6)
需要特别注意的是两个特殊的向量:零向量跟单位向量
长度为0的向量称之为零向量,零向量与所有向量平行
模为1的向量称之为单位向量,单位向量并不是唯一的,每个向量单位化以后都是单位向量
向量的几何意义
我们都知道,位置是相对的。因此坐标轴就很重要,在游戏中,向量结合坐标轴来确定位置。
就以Unity来说,如果假设Unity的坐标轴的原点表示为O(0,0),那么一个物体的坐标点为A(3,3),实际上可以看作一条从原点O指向点A的向量,可以表示为
A O ⃗ ( 3 , 3 ) \vec{AO}(3, 3)
A
O
(
3
,
3
)
向量的计算
1. 向量的数乘
向量的数乘表示向量跟一个实数相乘的乘积,结果还是一个向量。 比如实数a跟一个向量
V = ( V x , V y ) V=(V_x, V_y)
V
=
(
V
x
,
V
y
)
相乘,结果为
a V = ( a V x , a V y ) aV=(aV_x, aV_y)
a
V
=
(
a
V
x
,
a
V
y
)
-
数乘的几何意义
我们都知道,向量是有方向跟大小的,而数乘就最直观的表现就是更改向量的方向跟模的大小。
当 a > 0时,向量V的方向不变,模变为原来的a倍
当 a = 0时,向量变为零向量,模等于0
当 a < 0时,向量方向变为原来相反的方向,模变为原来的|a|倍
在Unity的坐标轴中,如果一个物体的位置为A(3, 3,3),如果我们将其位置乘以2再赋值给这个物体,那么A的位置就会变成A’(6,6,6)。也就是说,我们将这个物体的位置从A点移动到