Unity3D数学之路——Vector3类(一)

来源:互联网 发布:java math 生成随机数 编辑:程序博客网 时间:2024/06/13 06:52

因为一直在补数学方面的姿势(初中高中都因为老师的原因没去学数学[其实是懒) 

特别来把Vector3里的经常方法拆解一次

只把运算过程撸出来 理论嘛 这里不多说 直接Google或者wiki就好了

Vector3.Distance(Vectro3 a,Vectoe3 b)

求两个向量的距离

Vector3 v = b - a;//

float Distance = Mathf.Sqrt(v.x * v.x + v.y * v.y + v.z * v.z); //这里是求向量长度,即两个向量的距离

float Distance = v.sqrtMagnitude;//用自带的静态属性获取亦可

如果是y轴一样或者忽略y轴的时候可以自己写一个方法 


Vector3.Dot(Vector3 v1,Vector v2)

求向量内积

float dot = v1.x * v2.x + v1.y * v2.y + v1.z * v2.z;


Vector3.Normalize(Vector3 v)

向量归一化

float Length = Mathf.Sqrt(v.x * v.x + v.y*v.y + v.z*v.z);//求出向量长度

Vector3 normalized = new Vector3(v.x / Lenght,v.y / Length,v.z / Length);//向量的XYZ分别除以长度即可将向量变成0~1


阅读全文
0 0