Unity基础(四)--3D数学

本文详细介绍了Unity中的3D数学,包括向量的基本属性、三角函数的应用、欧拉角与四元数的转换以及三维向量的API。讲解了向量的加减、标量乘除、点乘、叉乘的概念,三角函数如Sin、Cos、Tan的使用,以及欧拉角和四元数在3D旋转中的作用。此外,还涵盖了坐标系转换的方法,如Local Space到World Space的转换等。
摘要由CSDN通过智能技术生成


以下是本篇文章正文内容,下面案例可供参考

一、向量

一个数字列表,表示各个维度上有位移

基本属性

  1. 有大小方向的物理量
    1、大小就是向量的模长
    float dis=vector.magnitude;
    2、方向描述空间中向量的指向
    vector1.Normalize();将vector1自身设置为单位向量
  2. 可以表示物体的位置
  3. 物体坐标向量,从世界(0,0,0)出发指向物体的一条线段
//求向量模长
 private void Demo01()
    {
   
        Vector3 pos = this.transform.position;
        //数学公式
        float m01 = Mathf.Sqrt(Mathf.Pow(pos.x, 2) + Mathf.Pow(pos.y, 2) + Mathf.Pow(pos.z, 2));
        //API:获取向量模长
        float m02 = pos.magnitude;
        //两点间距离
        float m03 = Vector3.Distance(Vector3.zero, pos);

        Debug.LogFormat("{0}--{1}--{2}", m01, m02, m03);
    }

在这里插入图片描述

 //获取向量方向也称“标准化向量”,“归一化向量”,即获取该向量的单位向量
private void Demo02()
    {
   
         Vector3 pos = this.transform.position;
         
         Vector3 n01 = pos / pos.magnitude;
        //API:获取向量的方向  标准化  归一化
         Vector3 n02 = pos.normalized;       
    }
  1. 向量相减
    (x1,y1,z1)-(x2,y2,z2)=((x1-x2),(y1-y2),(z1-z2))
    在这里插入图片描述
 private void Demo03()
    {
   
        //向量计算
        Vector3 relativeDirction = t1.position - t2.position;
        //方向:指向被减向量
        //大小:两点间距
        
        //t3沿着relativeDirction移动
        //如果relativeDirction不标准化,t3的移动的距离会根据t1与t2之间的距离变化而改变
        t3.Translate(relativeDirction.normalized);
        t3.position = t3.position + relativeDirction.normalized;

    }

向量与标量的乘除

  1. 乘法:k*(x,y,z)=(xk,yk,z*k);
  2. 除法:(x,y,z)/k=(x/k,y/k,z/k)
  3. 几何意义:缩放向量长度

二、三角函数

角的度量方式

  1. 角度Degree
    当弧长等于圆周长的360分之一时,夹角为1度
    在这里插入图片描述

  2. 弧度Radian
    弧长等于半径时,夹角为1弧度
    在这里插入图片描述

  3. 角度与弧度的换算;
    PI=180度
    1弧度=180度/PI
    1角度=PI/180度

代码如下(示例):

 private void Demo04()
    {
   
        float d1=60;
        //角度->弧度
        float r1 = d1 * Mathf.PI / 180;
        float r2 = d1 * Mathf.Deg2Rad;
        //Mathf.Rad2Deg
    }

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值