矢量之间的运算要遵循特殊的法则。矢量加法一般可用平行四边形法则。由平行四边形法则可推广至三角形法则、多边形法则或正交分解法等。矢量减法是矢量加法的逆运算,一个矢量减去另一个矢量,等于加上那个矢量的负矢量。A-B=A+(-B)。

中文名

矢量运算

应用学科

物理学

适用领域

矢量标量

适用范围

矢量

基本内容

矢量运算

矢量的乘法,矢量和标量的乘积仍为矢量。矢量和矢量的乘积,可以构成新的标量,矢量间这样的乘积叫标积;也可构成新的矢量,矢量间这样的乘积叫矢积。例如,物理学中,功、功率等的计算是采用两个矢量的标积。

,物理学中,力矩、洛仑兹力等的计算是采用两个矢量的矢积。

相关资料

3D engine中用到的矢量运算详细内容:

一、两点距离

2D系统:

距离

3D系统:

距离

做游戏和demo永远不要去做开方:

1、用LUT查表技术Look up Table

2、在做碰撞检测时,误差Distance*Distance

二规格化,单位化(Normalize)

先要说矢量的长度:

矢量

矢量长度

Normalize后:

矢量运算

方向不变,长度为1个单位

三。点乘 点积 数量积(Dot Product)

是一回事儿。首先明确两个矢量的点积是个标量.

中学物理的力做功就是矢量点积的例子:

二矢量点积:

很重要的应用:

1、求二矢量余弦:

由我们最熟悉的力做功:

可以判断二矢量的方向情况:

曲面消隐(Cull face)时判断物体表面是否可见:(法线和视线矢量的方向问题)不可见

可见

OpenGL就是这么做的。

2、Lambert定理求光照强度也用点积:

K,I为常数,theta是平面法线与入射光线夹角

老王头的Fast Bump(Add Hyper Link here)也就是依据这个数学模型。但是他用了个很Cheap的Hack来模拟cosine

四、叉乘(Cross product)

叉乘:

其结果是个矢量。

方向是Vector1,Vector2构成的平面法线。再使用右手定则

长度是

的夹角.

所以,平行的矢量叉乘结果为0矢量(长为0,方向任意)

计算结果矢量:

用途:计算法向量,这是生成3D图形的很关键一步。