Shader中的失量运算与意义

版权声明:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ww1351646544/article/details/88657579

失量

也叫向量(数学中叫向量,物理中叫失量),它有自己的方向模长,通常用来表示一个速度或是一个方向,有时候也会用来表示一个距离某点的距离。

失量的乘法、除法

各分量分别除以除数,意味着失量被按倍数放大或缩小,但其中向量的除法是没有意义的,应该认为是失量除法。
乘法:2(1,2,3)=(2,4,6)
除法:(1,2,3)/2=(0.5,1,1.5)

失量的加法、减法

我们只需要把三个分量分别相加或相减即可:
加法:(1,2,3)+(2,3,4)=(3,5,7)
减法:(5,2,7)-(3,8,4)=(2,-6,3)

一个失量不可以和一个标量相加或相减,或是和不同维度的失量进行运算。
在这里插入图片描述

失量的模

即是失量的长度,计算方法是所有分量 的 平方 的 和,再开方

单位失量

即是模为1的失量,也被称为归一化的失量。一般用于确定方向。
在这里插入图片描述
例子:
在这里插入图片描述

失量的点积

也被称为内积和叉积。失量的点积是一个值,即是每一个分量分别相乘后相加。
如:a.b=(ax,ay,az).(bx,by,bz)=axbx+ayby+az*bz
(1,2,3).(0.5,4,2.5)=0.5+8+7.5=16

失量几何意义:
**投影:**点乘的值越大,也就说明这两个向量越相似。
投影
夹角:
点乘值>0:夹角小于90度
点乘值=0:夹角等于90度
点乘值<0:夹角大于90度

点乘的性质
性质一:可结合标量乘法
(ka).b=a.(kb) -----k为标量a.b为失量

性制二:点积可以结合失量加法和减法
a.(b+c)=a.b+a.c

性制三:失量和本身进行点乘,是失量模的平方
a.a=axax+ayay+az*az=|a|2

性制四:等于两个失量的模长相乘后乘以Cos角度
a.b=|a||b|cos(angle)

失量的叉乘

也叫叉积,外积,和点乘不同的是它的结果还是一个失量。计算方式如下:
(ax,ay,az)X(bx,by,bz)=(aybz-azby,azbx-axbz,axby-aybx)
在这里插入图片描述
叉乘不满足交换率:
aXb != bXa
但它满足反交换率:
aXb = -bXa
不满足结合率:
(aXb)Xc != aX(bXc)

几何意义
aXb的长度等于a和b的摸的乘积再乘以它们之间的夹角的正弦值:
|aXb|=|a||b|sin(angle)

平行四边型的面积:
面积=底(b)X高=底(|a|sin(angle))=|a||b|sin(angle)=aXb
在这里插入图片描述

求法向量:即完全垂直于这两个失量构成的平面的失量
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ww1351646544/article/details/88657579