Unity 3D数学 — 向量运算

向量(又称适量)是游戏开发中非常重要的概念。是用于描述具有方向和大小两个属性的物理量。

在数学里有大小和方向的量就是向量。在几何中,向量可以用一段有方向的线段表示。

1.向量的运算

   (1)加减法:向量的加法(减法)为各个分量的相加(相减)。

            a(2,2,3)+b(1,1,1) = c(2+1,2+1,3+1);

            a(2,2,3)-b(1,1,1) = c(2-1,2-1,3-1);

            作用:改变物体的坐标。

     (2)  数乘:向量和一个标量相乘。

           |b| 是一个向量的大小,也是一个标量(标量只有大小没有方向相当是一个数值)

           |b| =2;标量为2

           a(2,2,3)* |b|(2)= c(2*2,2*2,3*2);

           a(2,2,3)/ |b|(2) = c(2/2,2/2,3/2);

           作用:数乘可以对向量的长度经行缩放,如果|b|>0,向量a的方向不变,如果|b|<0,向量a的方向相反。

     (3) 点乘:两个向量点乘得到一个标量,标量等于两个向量长度相乘后再乘两个夹角的余弦。

          U*V = |U|*|V|*cosθ

          作用:判断两个向量的夹角,

                    若U*V = 0 , 则向量U,V相互垂直

                    若U*V > 0 , 则向量U,V夹角小于90°;

                    若U*V < 0 , 则向量U,V夹角大于90°;

    (4) 叉乘:两个向量叉乘得到一个向量(注:点乘是标量),新向量垂直于原来的两个向量,并且长度等于原来两个向量长度相乘后再乘以夹角的正弦。

          |U x V| = |U|*|V|sinθ

         注意:叉乘不满足交互率

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

  2.Vector3类

     在Unity中,和向量有关的类有Vector2,Vector3,Vecoer4等。

     Vector3类:

     成员变量:x   向量的x分量

                       y   向量的y分量

                       z   向量的z分量

                       normalized   得到单位化后的向量(只读)

                       magnitude    得到向量长度(只读)

                       sqrMagnitude    得到向量长度的平方(只读)

    常用方法:Cross      向量的叉乘

                      Dot          向量的点乘

                      Project    计算向量在另一个向量上的投影

                      Angle      返回两个向量之间的夹角

                      Distance 返回两个向量之间的距离

                      operator + 向量相加

                      operator -  向量相减

                      operator *  向量乘以标准量

                      operator /   向量除以标准量

                      operator == 若两个向量相等则返回true

                      operator != 若两个向量不等则返回true

                      

       

          

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值