栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

Unity3D 数学之向量

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Unity3D 数学之向量

什么是向量
  • 一个数学列表,表示各个维度上有向位移
  • 一个有大小有方向的物理量
  • --大小就是向量的模长。
  • --方向描述了空间中向量的指向。
  • 可以表示物体的位置和方向。
向量的形式

向量的大小(模) 
  • 向量各分量平方和的平方根。
  • ·公式:2x²+y²+z²
  • API: float dis=vector.magnitude;
  • 模的平方vector.sqrMagnitude
  • 因为平方根的计算耗时长,所以效率高于magnitude。
 void Demo1()
    {      
        Vector3 pos = t2.transform.position;
        //求模长 三种方法 
        float m01 = Mathf.Sqrt(Mathf.Pow(pos.x, 2) + Mathf.Pow(pos.y, 2) + Mathf.Pow(pos.z, 2));
        float m02 = pos.magnitude;
        float m03 = Vector3.Distance(Vector3.zero, pos);
      
        Debug.DrawLine(Vector3.zero, t2.transform.position);
    }

 

向量的方向
  • ·获取向量方向也称“标准化向量”,或“归一化向量”;即获取该向量的单位向量。
  • ·单位向量:大小为1的向量。
  • 公式:V/|V|
  • ·几何意义:将该向量拉长或者缩短,使模长等于1
  • .API : Vector3 vector2=vector1.normalized;。
  • -- vector2为vector1的单位向量
  • -- vector1.Normalize();将vector1自身设置为单位向量
  void Demo2()
    {
        Vector3 pos = t2.transform.position;
        //获取向量方向
         Vector3 n01 =  pos / pos.magnitude;
         Vector3 n02 = pos.normalized;
        Debug.DrawLine(Vector3.zero, pos);
        Debug.DrawLine(Vector3.zero, n02,Color.red);
    }

向量相减 
  • ·等于各分量相加减
  • ·公式:[x₁,y₁,z₁]-[x₂,y₂,z₂]=[x₁-x₂,y₁-y₂,z₁-z₂]
  • 几何意义:向量a与向量b相减,结果理解为以b的终点为始点,以a的终点为终点的向量。方向由b指向a。
  • ·应用:计算两点之间的距离和相对方向。
  • 两条向量相减的结果向量方向指向被减,但是结果向量的起始点是Vector3.zero

 

 void Demo3()
    {
        Vector3 relativeDirection = t1.transform.position - t2.transform.position;
        //方向 指向被减向量(前面的)
        //大小 两点间距
        //注意 实际位置要平移到
        Debug.DrawLine(Vector3.zero, relativeDirection);
    }

 

 //t3沿着relativeDirection方向移动
        t3.transform.Translate(relativeDirection.normalized);
        //relativeDirection.normalized 获取方向,避免两个物体间距对速度造成影响
向量相加
  • 等于各分量相加和。
  • 公式:[x₁,y₁,z₁] +[x₂,y₂,z₂]=[x₁+x₂,y₁+y₂,z₁+z₂]
  • 几何意义:向量a与向量b相加,平移使b的始点与a的终点重合,结果为以a的始点为始点,以b的终点为终点的向量。
  • 应用:物体移动

 代码与相减同理

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/900536.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号