unity shader——矢量

矢量

1、矢量和标量乘法/除法

乘法:2(1,2,3)=(2,4,6)

除法:(1,2,3)/2=(0.5,1,1.5)

注意:对于乘法来说,位置可以互换;但对于除法来说,只能是矢量被标量除,否则没有意义。

 

2、矢量的加法和除法

例子:(1,2,3)+(4,5,6)=(5,7,9)

 

3、矢量的模

模用 |v| 表示,如 |(1,2,3)|=(1²+2²+3²)½ (1/2是开根号的意思。其实也就是开平方再开根号)

 

4、单位矢量

指的是那些模为1的矢量,也被称为 被归一化的矢量

用^v=v / |v| ,v是任意非零矢量

例子:(3,-4) / |(3,-4)|=(0.6,-0.8) (分母取模,再做除法)

零矢量(0,0,0)不可被归一化,因为分母不能为零

 

5、矢量的点积

矢量也可乘法,但和标量之间的乘法有很大不同

矢量的乘法有两种:点积(内积);叉积(外积)

公式一:a·b=(ax,ay,az)·(bx,by,bz)=axbx+ayby+azbz 例子:(1,2,3)·(0.5,4,2.5)=0.5+8+7.5=16

公式二:a·b=|a||b|cosθ (cosθ=邻边/斜边)

点击有什么意义呢?其中最重要的一个是投影

 

6、矢量的叉积

叉积,也叫外积

与点积不同的是,矢量叉积的结果仍是一个矢量

公式:

看起来很复杂,其实是有规律的,如下图,先从中间开始,再从右边,最后左边

 

注意点:

叉积不满足交换律,即a×b≠b×a。实际上叉积满足反交换律。即a×b=-(b×a)

用途:计算垂直于一个平面、三角形的矢量。还可用于判断三角面片的朝向

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值