图形学知识基础:向量

本文介绍了向量的基础概念,包括向量的大小、方向、单位向量和零向量。详细阐述了向量的加法、减法、与实数的乘法以及点积和叉积的运算,包括它们的几何意义和实际应用场景。还提到了在Unity中操作向量的方法,并提供了计算夹角、投影、判断方向和求面积的实际例子。

概念

向量指具有大小和方向的量,一般记做: a\vec{a} ,\overrightarrow{AB},同时也可以用数对的形式表示,例如:\left ( x,y \right ) ,\left ( 7,8 \right )

在Unity中,我们可以如下表示:

Vector2 a = new Vector2(2, 3);
Vector3 b = new Vector3(3, 1, 4);

向量的矩阵表示:       \vec{a} = \begin{bmatrix} x\\ y \end{bmatrix}                   \vec{a}=\begin{bmatrix} x\\ y\\ z \end{bmatrix}

 

向量的大小,也就是向量的长度(一般称作为 模),向量a的模记为:\left | \vec{a} \right | ,若 \vec{a} = \left ( x,y \right ) ,则 \left | \vec{a} \right | = \sqrt{x^{2} + y^{2}}

在Unity中我们可以通过下面方法来获取:

float len_a = a.magnitude;// 向量a的模
float len2_a = a.sqrMagnitude;// 向量a的模的平方(省去开根号操作,性能较好)

单位向量:即模为1的向量,可以记作 \hat{a} 。一个向量的单位向量,可以通过除以它模得到,即 \hat{a} = \vec{a} / \left | \vec{a} \right | 。简单的理解:一个值要变为1,即除以它自身,例如 5 / 5,7.8 / 7.8,因此我们向量的长度要变为1也要除以自身的长度(向量的模)。当表示在坐标系时,即 \left ( x,y \right ) ,原点 \left ( 0,0 \right ) 到 \left ( x,y \right ) 即为该向量,当它们间的连线缩放时,xy也会跟着同比例缩放(类似三角形缩放)。当连线缩放为1时,新的xy的值就变为  \left ( x / \left | \vec{a} \right |,y / \left | \vec{a} \right | \right ) 。

在Unity中我们可以通过下面方法来获取:

Vector2 normal_a = a.normalized;// 向量a的单位向量

零向量:即模为0的向量,零向量的方向是任意的

相反向量:长度相等方向相反的向量,\vec{a} 的相反向量为 -\vec{a}

平行(共线)向量:方向相同或相反的非零向量,记作 \vec{a} // \vec{b}

 

运算

设 \vec{a}=(x_1,y_1) ,\vec{b}=(x_2,y_2) 

 

加法

向量的加法满足平行四边形法则和三角形法则,\overrightarrow{OA} + \overrightarrow{OB} = \overrightarrow{OC}

 可以将其想象成一个长方形求对角线

\vec{a} + \vec{b} = \begin{bmatrix} x_{1}\\ y_{1} \end{bmatrix} + \begin{bmatrix} x_{2}\\ y_{2} \end{bmatrix} = \begin{bmatrix} x_{1} + x_{2}\\ y_{1} + y_{2} \end{bmatrix}

因此

\left | \vec{a} + \vec{b} \right | = \sqrt{\left ( x_{1} + x_{2} \right )^{2} + \left ( y_{1} + y_{2} \right )^{2}}

一些运算律:

\vec{a} + 0 = 0 + \vec{a} = \vec{a}

\vec{a} + \vec{b} = \vec{b} + \vec{a}

\left ( \vec{a} + \vec{b} \right) + \vec{c} = \vec{a} + \left ( \vec{b} + \vec{c} \right)

若 \vec{a}\vec{b} 互为相反向量,即 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值