跳转到主要内容
Computer Graphics Sep 5, 2022 3 tags

2.1向量基础

2.1向量基础

cover

什么是向量

向量的定义

  • 向量是有大小和方向的有向线段
  • 向量没有位置,只有大小和方向
  • 向量的箭头是向量的结束点,尾巴是向量的起始点
  • 向量描述的位移能被认为是与轴平行的位移序列
  • 向量表示:三维(ax,ay,az) 二维(ax,ay)

向量与标量

  • 向量:有大小和方向的有向线段
  • 标量:只有大小,没有方向的量

向量与点

  • 向量和点数学形式上相等,但几何意义完全不同
  • 点:有位置,没有实际大小或方向
  • 向量:无位置,有实际大小和方向
  • 联系:任何一个点都可以看作是从原点出发的向量

如何计算

标量与向量之间的计算

  • 不可加
  • 不可减
  • 可乘:将向量的每个分量与标量相乘即可
  • 可除:将向量的每个分量与标量的倒数相乘
  • 几何解释:向量乘以标量的效果是以标量的大小缩放向量的长度,负值则方向相反
  • 例子:-2 *(2,-5)=(-4,10)    (6,-2,-4)/ 2 = (3,-1,-2)

向量的模长

计算公式:||v|| = pow(pow(vx,2)+pow(vy,2),0.5);

几何解释:当我们将所示向量作为斜边构建一个直角三角形,所示向量的大小(模长)即可通过扫侥幸勾股定理推出

例子:(-12,5)的模长为 pow(pow(-12,2)+pow(5,2),0.5)=pow(144+25,0.5)=13

标准化向量

·标准化向量(单位向量)就是大小为1的向量。(适用范围:仅需要知道方向而不关心其大小,例如法线)

·运算法则:将向量除以她的大小(模长),v_{normal}=\frac{v}{|v|},v ≠ 0(API:normalize(Vector3))

·例子:标准化向量(12,-5), \frac{[12-5]}{|[12-5]|}=\frac{[12-5]}{\sqrt[]{12^2+(-5)^2}}

向量之间的加减法计算

计算公式(ax,ay)+(bx,by) = (ax+bx,ay+by)

加法:对应位置相加    例:(1,-4)+(7,3)=(8,1)

减法:对应位置相减    例:(-3,6)-(-4,3)=(1,3)

几何解释:假设有向量(ax,ay)和(bx,by),a向量加b向量最后得到的是从a向量起点到b向量结束之间形成的新的向量

计算两点间距离:距离公式

计算公式:

应用范围:计算一个向量到另一个向量的距离(a 到 b 的位移向量为 b-a)

几何解释:

向量的点积计算

乘法之点积(又称点乘,内积)

计算公式:(a_x,a_y)\cdot (b_x,b_y) = (a_xb_x+a_yb_y)

向量点乘就是分量乘积的和,结果是一个标量,并满足乘法交换律a\cdot b=b\cdot a

向量点积的几何意义与向量的投影

几何解释:点乘记过描述了两个向量方向的“相似”程度,点乘结果越大,夹角角度越小,两个向量越接近(反馈到渲染上就是面的明暗效果)

计算公式: a · b = |a||b|cosΘ

投影的几何解释:假设有两个向量 V 和 N,将V分解为两个向量, V平行 和 V垂直 ,V平行 平行于 N,V垂直垂直于N,并满足 V = V平行 + V垂直 ,则称平行分量 V平行 为在 N 上的投影

兰伯特光照模型

兰伯特光照模型是目前最简单通用的模拟漫发射的光照模型

使光照方向的反方向为 L 向量,法线方向为 N 向量,则有:

  • L 与 N 方向相同,则Normal · Light = 1(纯亮)
  • L 与 N 方向相反,则Normal · Light = -1(纯黑)
  • L 与 N 方向垂直,则Normal · Light = 0(纯黑)

向量的叉积计算

乘法之叉积(又称叉乘,叉积)    仅运用于3D向量

计算公式:

不满足交换律,a x b ≠ b x a,满足逆交换律:a x b = -(b x a)

向量叉乘就是分量交叉相乘再相减,结果是一个向量且不满足交换律

几何解释:叉乘得到的向量垂直于原来的两个向量

向量叉积的大小与方向判断

计算公式:

Related Articles

继续阅读