Unity中的数学基础

您所在的位置:网站首页 unity向量加法 Unity中的数学基础

Unity中的数学基础

2023-10-08 14:17| 来源: 网络整理| 查看: 265

一:概念 

——向量也称为矢量,是具有大小和方向的量(零向量比较特殊,是唯一一个大小为0并且没有方向的向量)。向量的大小(长度)称为模,长度为1的向量称为单位向量 ——书写向量时,水平书写的向量([1,2,3])叫做行向量,垂直书写的向量叫做列向量

二:点与向量的关系

点代表了一个位置,他没有大小和方向的概念。而向量具有大小和方向的概念。Unity中的transform.position代表了一个点,它不具有方向。transform.forward代表了一个向量,它代表了当前物体在世界坐标z轴上的指向。但是他们在Unity中都是通过(x,y,z)来表示的

三:向量的几种关系

——向量AB不等于向量BA,因为方向不同 ——向量AB等于负的向量BA,因为方向相同 ——向量AB的长度等于向量BA的长度 ——向量AB+向量BA=零向量,因为两个向量相反

四:单位向量

长度为1的向量称为单位向量。当我们只关心向量方向,不关心向量大小时,则可以使用单位向量。  普通向量变换为单位向量的过程称为向量归一化

Vector3 A = new Vector3(1, 2, 3); Vector3 B = new Vector3(2, 4, 5); Vector3 v = (B - A).normalized; Debug.Log("AB向量归一化后的坐标:" + v); //AB向量归一化后的坐标:(1/3,2/3,2/3) 五:向量的长度

Vector3 A = new Vector3(1, 2, 3); Vector3 B = new Vector3(2, 4, 5); //第一种方法:Vector3.Magnitude,Vector3.SqrMagnitude求出的是长度的平方 float dis = Vector3.Magnitude(B - A); //第二种方法:Vector3.Distance //float dis = Vector3.Distance(A, B); Debug.Log("AB向量的长度:" + dis); //AB向量的长度:3 六:向量的点积(内积)

向量点积后的结果是一个标量点乘的结果大于0,则两个向量的夹角0



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3