百人计划(图形)1.2.1向量基础

一、啥是向量? 

向量的定义

  • 向量是有大小和方向的有向线段

  • 向量没有位置,只有大小和方向

  • 向量的箭头是向量的结束,尾是向量的开始

  • 向量描述的位移能被认为是与轴平行的位移序列

  • 向量表示:三维(a_{x}, a_{y}, a_{z}) 二维 (b_{x}, b_{y}

向量与标量

  • 向量:有大小和方向的有向线段

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

向量与点

  • 向量和点数学形式上相等,但几何意义完全不同

  • 点:有位置,没有实际大小或方向

  • 向量:无位置,有实际大小和方向

  • 联系:任何一个点都可以看做是从原点出发的向量

 

零向量

  • 零向量是唯一大小为零的向量

  • 零向量是唯一一个没有方向的量

  • 零向量不是一个点,因为没有定义某个位置

  • 零向量表示的是没有位移,就像零标量表示的是没有数量一样

二、如何计算

标量与向量的计算

  • 加法:×

  • 减法:×

  • 乘法:将每个分量都与标量相乘就可以

  • 除法:等同于乘以标量的倒数

  • 几何解释:向量乘以标量的效果是以标量的大小缩放向量的长度,负值则方向相反。(将向量缩放至k个标量单位)

向量的模长

  • 计算公式:\left \| v \right \|=\sqrt[_{}^{}]{v_{x}^{2}+v_{y}^{2}}

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

 

标准化向量

  • 标准化向量(单位向量)就是大小为1的向量

  • 运算法则:将向量除以它的大小(模长)v_{norm}=\frac{v}{\left \| v \right \|},v\neq 0

向量与向量的加减法计算

  • 计算公式:\left ( a_{x},a_{y} \right )+\left ( b_{x},b_{y} \right )= (a_{x}+b_{x},a_{y}+b_{y})

  • 加法:对应位置相加

  • 减法:对应位置相减

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

  • 计算公式:距离\left ( \vec{a},\vec{b} \right )=\left \| \vec{b}-\vec{a} \right \|=\sqrt{\left ( b_{x}-a_{x} \right )^2+\left ( b_{y}-a_{y} \right )^2+\left ( b_{z}-a_{z} \right )^2}(三维坐标计算,二维同理)

  • 应用范围:计算一个向量到另一个向量的距离

  • 几何解释

 

向量的点积计算

  • 计算公式:\left ( a_{x},a_{y} \right )\cdot \left ( b_{x},b_{y} \right )=a_{x}*b_{x}+a_{y}*b_{y}

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

  • 几何解释:点乘结果描述了两个向量的“相似”程度,点乘结果越大,夹角角度越小,两个向量越接近

 

兰伯特光照模型

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

 

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

  • L与N方向相同,则 Nor·Light= 1(纯亮)

  • L与N方向相反,则 Nor·Light=-1(纯黑)

  • L与N方向垂直,则 Nor·Light=0(纯黑)

Shader Graph连法: 

向量投影

  • 计算公式:\vec{a}\cdot \vec{b}=\left | a \right |\left | b \right |cos\theta

  • 假设有两个向量V和n,将V分解为两个向量:V∥和V⊥,V∥平行于n,V⊥垂直于n,并满足V= V∥+ V⊥,则称平行分量V∥为V在n上的投影)

 

向量的叉积计算

  • 计算公式:\begin{bmatrix} x_{1}\\ y_{1}\\ z_{1} \end{bmatrix}\times \begin{bmatrix} x_{2}\\ y_{2}\\ z_{2} \end{bmatrix}=\begin{bmatrix} y_{1}z_{2}-z_{1}y_{2}\\ z_{1}x_{2}-x_{1}z_{2}\\ x_{1}y_{2}-y_{1}x_{2} \end{bmatrix}

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

  • 几何解释:叉乘得到的向量方向垂直于原来的两个向量,大小为以a和b为两边的平行四边形的面积  \left \| \vec{a}\times \vec{b} \right \|=\left \| \vec{a} \right \|\left \| \vec{b} \right \|sin\theta

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值