【TA-霜狼_may-《百人计划》】1.2.1 向量基础
1.2.1.1 向量
向量的定义
- 向量是有大小和方向的有向线段
- 向量没有位置
- 向量的箭头是向量的结束,向量的尾是向量的开始
- 向量描述的位移可以被认为是与轴平行的位移序列
- 向量的表示:三维(ax,ay,az)例如(1,-5,7)
向量与标量
向量:有大小有方向
标量:只有大小没有方向
向量与点
向量和点的数学形式相同,但几何意义完全不同
点:只包含位置信息
向量:没有位置信息,但是有实际的大小和方向信息
联系:任何一个点都可以看做从原点出发的一个向量
零向量
- 零向量是唯一大小为零的向量
- 零向量是唯一一个没有方向的量
- 零向量不是一个点,因为零向量没有定义某个位置
- 零向量表示的是没有唯一,就像零标量是表示的没有数量一样
1.2.1.2 计算
标量与向量的计算
- 没有加法
- 没有减法
- 乘法:将向量的每个分量都与标量相乘
- 除法:等同于乘以标量的倒数
向量的模长
- 计算公式:||v|| = √vx²+vy²
- 几何解释:以向量作为斜边构建一个直角三角形,所示向量的大小(模长)可以由勾股定理求得
标准化向量
- 标准化向量(单位向量)就是模长为1的向量。(仅需知道方向,应用:法线)
- 运算法则:将向量的各个分量除以模长
向量与向量的加减法
- 计算公式:(ax,ay)±(bx,by) = (ax+bx,ay+by)
- 对应位置的加减法
- 几何解释:各个方向上位移的叠加
计算两点间距离
- 计算公式:(a,b)= ||b-a|| = √(bx-ax)²+(by-ay)²
- 更高空间依次类推
- 应用范围:计算一个向量到另一个向量的距离(a到b的位移向量为b-a)
向量的点积运算
- 计算公式:(ax,ay)·(bx,by)=(axbx+ayby)
- 向量点乘就是分量乘积的和,满足交换律
- 几何解释:点乘结果描述了两个向量的“相似”程度,点乘结果越大,夹角角度越小,两个向量越接近。
投影
- 一个向量在另一个向量上的投影长度
兰伯特光照模型
兰伯特光照模型是目前最简单应用的模拟漫反射的光照模型。
设:光照方向的反方向为L向量,发现方向为N向量,则有:
- L与N方向相同时:Nor·Light = 1(纯亮)
- L与N方向相反时:Nor·Light = -1(纯暗)
- L与N方向垂直时:Nor·Light = 0(纯暗)
向量的叉积运算
仅运用于3D向量,计算公式如图:
不满足交换律,但是满足逆交换律:
a X b ≠ b X a
a X b = - (b X a)
- 向量叉乘就是分量交叉相乘再相减,结果为一个向量。
- 几何解释:叉乘得到的向量垂直于原来的两个向量。
叉积的大小和方向判定
计算公式如图:
方向遵循左手坐标系,当起点重合时,由a向量转向b向量,大拇指的方向即为结果的方向。