Unity Shader数学基础


矢量也被叫做向量,是指一个包含了模长和方向的 有向线段标量是只有模没有方向。
矢量和标量的区别
矢量表达的是,从这里向东走500米
标量表达的则是,距离这里500米
矢量的模指的是这个是矢量的长度。一个模的长度可以是任意的非负数

矢量和标量乘法

kv=(kvx,kvykvz)
即:
5(1,2,3)=(51,52,5*3)=(5,10,15)
//矢量乘法矢量和标量可以互换

矢量和标量除法(标量不为0)

v/k=((vx,vy,vz)/k)=(vx/k,vy/k,vz/k)
即:
(1,2,3)/5=(1/5,2/5,3/5)=(0.2,0.4,0.6)
//只能矢量除标量 标量除矢量没有意义

矢量加法/减法

a+b=(ax+bX,ay+by,az+bz
a-b=(ax-bX,ay-by,az-bz

减法:可用于计算位移
加法:计算矢量a的尾到矢量b的头的一个新的矢量

矢量的模长

矢量的模长=|a|=√(ax2+ay2+az2
即;
(1,2,3)=√(12+22+32)=√14≈3.741

单位矢量

单位矢量指的是模长为1的矢量,单位矢量也被称为归一化矢量对给定任何的非0矢量,将其转化成单位矢量的过程就被称为归一化

单位矢量=v/|v|=(ax+ay+az)/√(ax2+ay2+az2
即:
(3,-4)/|(3,-4)|=(3,-4)/√(32+(-4)2)=(3,-4)/√25=(3,-4)/5=(3/5,-4/5)=(0.6,0.8)

点积和叉积

矢量之间也可以进行乘法,但是和标量的乘法有很大不同,矢量的乘法有两种最常见的种类点积和叉积
点积也被称为内积
叉积也被称为外积

点积

公式一:

kv=(kx,ky,kz)*(vx, vy,vz)=kx*vx +ky*vy+kz*vz
在几何上可以用于求一条线到另一条线的阴影(投影)

公式二:

kv=|k||v|cos θ \theta θ
可以用于求两条线的角度
公式二求导:
因为C2=A2+B2+2|A||B|cos θ \theta θ
两点间距离为A-B
即C2=(A-B)(A-B)=AA+BB-2AB
对比得到公式二

叉积

公式一:
kv=(ky*vz-kz*vy,kz*vx-kx*vz,kx*vy-ky*vx)
叉积的结果可以得到一个同时垂直于这两个向量的新向量(新向量的正负值可以用于计算正反面)
公式二:
kv=|k||v|sin θ \theta θ

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值