一、啥是向量?
向量的定义
-
向量是有大小和方向的有向线段
-
向量没有位置,只有大小和方向
-
向量的箭头是向量的结束,尾是向量的开始
-
向量描述的位移能被认为是与轴平行的位移序列
-
向量表示:三维(
,
,
) 二维 (
,
)
向量与标量
-
向量:有大小和方向的有向线段
-
标量:只有大小,没有方向的量
向量与点
-
向量和点数学形式上相等,但几何意义完全不同
-
点:有位置,没有实际大小或方向
-
向量:无位置,有实际大小和方向
-
联系:任何一个点都可以看做是从原点出发的向量
零向量
-
零向量是唯一大小为零的向量
-
零向量是唯一一个没有方向的量
-
零向量不是一个点,因为没有定义某个位置
-
零向量表示的是没有位移,就像零标量表示的是没有数量一样
二、如何计算
标量与向量的计算
-
加法:×
-
减法:×
-
乘法:将每个分量都与标量相乘就可以
-
除法:等同于乘以标量的倒数
-
几何解释:向量乘以标量的效果是以标量的大小缩放向量的长度,负值则方向相反。(将向量缩放至k个标量单位)
向量的模长
-
计算公式:
-
几何解释:如图所示,当我们将所示向量作为斜边构建一个直角三角形,所示向量的大小(模长)即可通过三角形勾股定理推出
标准化向量
-
标准化向量(单位向量)就是大小为1的向量
-
运算法则:将向量除以它的大小(模长)
向量与向量的加减法计算
-
计算公式:
-
加法:对应位置相加
-
减法:对应位置相减
计算两点间距离:距离公式
-
计算公式:距离
(三维坐标计算,二维同理)
-
应用范围:计算一个向量到另一个向量的距离
-
几何解释
向量的点积计算
-
计算公式:
-
向量点乘就是分量乘积的和,结果是一个标量并满足交换律
-
几何解释:点乘结果描述了两个向量的“相似”程度,点乘结果越大,夹角角度越小,两个向量越接近
兰伯特光照模型
兰伯特光照模型是目前最简单通用的模拟漫反射的光照模型。
使光照方向的反方向为L向量,法线方向为N向量,则有:
-
L与N方向相同,则 Nor·Light= 1(纯亮)
-
L与N方向相反,则 Nor·Light=-1(纯黑)
-
L与N方向垂直,则 Nor·Light=0(纯黑)
Shader Graph连法:
向量投影
-
计算公式:
-
假设有两个向量V和n,将V分解为两个向量:V∥和V⊥,V∥平行于n,V⊥垂直于n,并满足V= V∥+ V⊥,则称平行分量V∥为V在n上的投影)
向量的叉积计算
-
计算公式:
-
向量叉乘就是分量交叉相乘再相减,结果是一个向量且不满足交换律
-
几何解释:叉乘得到的向量方向垂直于原来的两个向量,大小为以a和b为两边的平行四边形的面积