Unity 3D数学\图形学基础-游戏开发(向量)

向量运算的几何意义

标量与向量的计算

● ·几何解释:向量乘以标量的效果是以标量的大小缩放向量的长度,负值则方向相反。
在这里插入图片描述

向量的模长

向量的长度。结果为一个标量。
在这里插入图片描述

在这里插入图片描述

标准化向量 normalize

将一个普通的向量进行标准化的到的。
标准化向量只表示了向量的方向,剔除了向量的大小。(比如法线)

计算:
在这里插入图片描述

标准化向量 = 向量 / 模长

且有:a // b (平行), 则 a / ||a|| = b / ||b||,a,b !=0

0向量

各个分量都是0的向量,
表示没有方向,大小为0的向量。

向量与向量的加减法

(a, b) + (c, d) = (a + c, b + d)
在这里插入图片描述

扫描二维码关注公众号,回复: 14882218 查看本文章

两点间距离公式(向量间距离)

在这里插入图片描述

若:b - a = c
||b - a|| = || c ||
即:b到a的距离等于c的模长。

点积,点乘,内积(dot)

点乘的结果为一个标量。
(a1, a2) * (b1, b2) = (a1 * b1 + a2 * b2)
满足:交换律 a * b = b * a
不满足: a * b * c != a * c * b ,
类似的: U * V * U != U * U * V = U^2 * V
可发现:两向量dot结果为标量,3向量dot结果为矢量…

向量夹角与点积

点乘的结果描述了两个向量的相似程度(方向接近程度),点乘的夹角越小,两个向量越接近。
a * b = ||a|| * ||b|| * cosX, X为向量夹角
在这里插入图片描述

可得向量间夹角为:cosX = (a * b) / (||a|| * ||b||)
即:cosX = norma(a) * norma(b), norma(a)表示a的标准化向量

应用:
兰伯特光照模型,通过光照的反方向和模型法线方向夹角计算物体表面亮度。得出的值表示 模型迎光的夹角

投影与点积

向量V在任意向量n上的投影向量V//:
只要不是0向量就可投影,投影不关心n的大小(是否是单位向量,只关心方向)
可以理解为V在 n这个向量方向的投影。

在这里插入图片描述

推导过程:
在这里插入图片描述

向量的叉积 (外积)

向量叉乘是分量交叉然后相乘。仅用于在3D空间中的向量。
运算:
在这里插入图片描述

几何意义:

  1. 叉乘得到的向量垂直于原来的两个向量。垂直方向满足右手定则。
  2. 外积可以表示以a、b为边的平行四边形的面积。

a × b = ||a||*||b|| * sinX
方向根据右手定则:
若坐标系是满足右手定则的,当右手的四指从a以不超过180度的转角转向b时,竖起的大拇指指向是c的方向。

运算规律:
● 满足加法的分配律
a x (b + c) = a x b + a x c
● 不满足交换律,反交换律
a x b = - (b x a)
● 满足雅可比恒等式
a x (b x c) + b x (c x a) + c x (a x b) = 0

参考:
在这里插入图片描述

二重向量叉乘化简公式

3个向量叉乘简化为如下:
(a x b) x c = b * (a * c) - a * (b * c)
a x (b x c) = b * (a * c) - c * (a * b)

证明参考:
在这里插入图片描述

两向量角平分向量

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_41709801/article/details/127327111