Unity基础(9)-Vector使用

2020-06-02 15:20:47 浏览数 (1)

凑着过年的空档整理一遍~~~~~~~~~~Ps:初、高中知识...

首先

我们需要了解点,矢量,标量,向量,坐标系

  • 点: 就是坐标系中的一个位置,他没有大小方向,在三维空间中我们通过它在x,y,z轴上的方向大小来表示它。
  • 标量: 其实当一个数可以成为一个一维向量,不过这个数在定义中成为标量。也就是只有大小,没有方向的数值就是标量。 只具有数值大小,而没有方向。被称为一维向量,在数学中定义为标量
代码语言:javascript复制
9/20/1999/89999999等
  • 矢量: 矢量通过它的名字就可以知道它的概念,它包括空间中的方向和一个数值 Unity中的点与矢量都是通过Vector来表示,点是一个没有大小之分的位置信息。而矢量是一个有模和方向但没有位置的量。但表示点的时候,可以理解成原点到该点的位移矢量。
  • 向量: 有大小有方向的有向线段,向量没有位置,只有大小和方向,我们通过坐标系上的xyz轴上的点来表示二/三维向量
代码语言:javascript复制
向量[x,y]给出了点(x,y)到原点的距离,而x,y的符号给出了向量的方向
零向量:[0,0,0]  唯一一个没有方向的向量
负向量:v   -v = -v  v = 0;
-[4 -5] = [-4 5]
-[-5 0 190] = [5 0 -190]

几何意义

  • 单位向量 单位向量是指模等于1的向量。由于是非零向量,单位向量具有确定的方向。单位向量有无数个。

单位向量,标准化向量

单位向量

向量的运算
  • 标量与向量的乘除法
代码语言:javascript复制
    v=[2,3]
    f = 2
    result = f*v = [4,6]  
    f1 = 0.5
    result = f1 * v = [1,1.5]
    result = -v = [-2,-3] // 与原向量长度一直,方向相反
  • 向量与向量的加减法
代码语言:javascript复制
向量之间的加减法就是向量内的各值之间的加减法
a = [2,5] b = [-3,6]
a b = [-1,11]
  • 向量的点乘 点乘得到的是一个标量

点乘公式

点乘角度

image.png

  • 向量叉乘 叉乘得到的是一个新的向量,新的向量是垂直于原来的两条向量。

叉乘

  • 坐标系: 常见的由笛卡尔坐标系,但是在Unity中的坐标系有多种:屏幕坐标系,相机坐标系,平面(二维)坐标系,世界(左手)坐标系等。
Unity中的向量表示

我们在unity中使用Vector2来表示平面(二维)坐标系,使用Vector3来表示世界(左手)坐标系,相机坐标系等

0 人点赞