[Unity3D]Shader学习笔记之点和矢量

简介

  • 点(point)是n维空间(游戏中主要使用二维和三维空间)中的一个位置,它没有大小、宽度这类概念
  • 矢量(vector,也被称为向量)是指n维空间中一种包含了模(magnitude)和方向(direction)的有向线段。速度(velocity)就是一种典型的矢量。
    • 矢量的模指的是这个矢量的长度。一个矢量的长度可以是任意的非负数。
    • 矢量的方向则描述了这个矢量在空间中指向。
    • 矢量的头(head)指的是它的箭头所在的端点出,而尾(tail)指的是另一个端点。
    • 只要矢量的模和方向保持不变,无论在哪里,都是同一个矢量。
  • 标量(scalar)只有模没有方向。例如距离(distance)就是一种标量。

      任何一个点都可以表示成一个从原点出发的矢量。

矢量的运算

矢量和标量的乘法/除法

  只需要把矢量的每个分量和标量相乘即可。

kv=(kvx,kvy,kvz)

  一个矢量也可以被一个非零的标量除。这等同于和这个标量的倒数相乘。

vk=(x,y,z)k=1k(x,y,z)=(xk,yk,zk),k0

  对于乘法来说,矢量和标量的位置可以互换的。但对于除法,只能是矢量被标量除,而不能是标量被矢量除,这是没有意义的。
   k<0 时,矢量的方向也会取反

矢量的加法和减法

  两个矢量进行相加或相减,其结果是一个相同维度的新矢量。

a+b=(ax+bx,ay+by,az+bz)

ab=(axbx,ayby,azbz)

  二维矢量的加法和减法,如图:

这里写图片描述

  在图形学中,矢量通常用于描述位置偏移(即位移)。因此可以用矢量的加法或减法来计算一点相对于另一点的位移。
  如果想计算b点相对于a点的位移,就可以通过把b和a相减得到。

矢量的模

  三维矢量计算公式如下:

v=v2x+v2
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值