Shader中的矢量运算与意义

矢量

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

矢量的乘法、除法

各分量分别除以除数,意味着矢量被按倍数放大或缩小,但其中向量的除法是没有意义的,应该认为是矢量除法。
乘法: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
在这里插入图片描述

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小盖子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值