当前位置:   article > 正文

Unity --- 三维数学 --- Vector类 --- 向量部分_unity vector3 magnitude

unity vector3 magnitude

 

 1.注意每一个数字都表示一段有向位移 --- 有方向的距离

1.从尾到头那一段称为向量的模长 --- magnitude (direction对应的是向量的方向)

2.一个向量有大小 -- 模长(magnitude) , 有方向(direction)

1.向量的模长等于各分量的平方和的平方根

2.由于在计算机中计算平方和要比计算平方根更快,更简单,所以我们常常用向量的模长的平方(求平方和)来表示向量的大小。 

1.A向量的单位向量是在A向量的方向上模长为1的向量,用来表示A向量的方向 

1.tranform类中的Position属性用来表示物体的位置,是一个Vector3类型的三维点变量

Unity中获取一个向量的方式有两种:

1.用公式来求

2.调用Vector3类中的 magnitude(模长)属性,直接获得模长 

3.每一个Vector3类对象都相当于一个向量,当我们给这个对象的Vector3数据是属于世界坐标系中的Position时,此时通过该对象计算的模长(magnitude)为从世界坐标系原点到该Position之间的长度

如果是localPositon的话,则是从父类坐标系原点到该localPositon的位置

4.Vector3中的静态属性zero中装的是一个点的坐标,这个点的坐标就是世界坐标系的原点

 

 1.获取单位向量的两种方法:公式法 --- 向量 / 模长  ---》得到的结果依然是一个向量(该向量的每一个分量的值等于 --- 原向量的每一个分量的值 / 模长),且该向量即为我们想求的单位向量

2.直接调用已有的属性 ---normalized来获取向量所对应的单位向量

1.两向量点相减之后得到的新的向量的大小(模长)为两向量点之间的距离

(a - b == a + (-b) --- -b  ==  b向量方向取反,大小不变)

2.如果是a向量点减去b向量点的话,则得到的新向量方向为b向量点指向a向量点,下面的那个同理

3.在unity中,一个Vector3类对象既可以表示一个三维空间点,也可以表示向量,当表示向量的时候,默认该向量的起点是世界坐标系原点 / 父物体坐标系原点 --- 如果向量点是用 position来表示的话就是世界坐标系为起点,并指向该向量点的positon位置,如果是localPositon的话则是父物体坐标系为原点,并指向该向量点的localPosition位置

1.如果给Translate方法传一个Vector3类对象作为参数的话,则调用该方法的游戏物体会沿着该Vector3类对象的向量形态对应的方向前进,且前进的距离等于向量的大小

(PS:如果想要让以单位距离1沿着向量方向前进的话,我们可以将向量的单位向量(normalized)作为参数传给translate方法 --- 单位向量与原向量的方向相同,但是大小为1)

(PS:在Unity中,Vector3类所形成的向量都是相对于世界坐标系的 --- 即向量起点选的是世界坐标系原点) 

 1.Unity中物体移动的本质其实就是向量相加 --- a向量+b向量最终呈现的效果就是a向量的终点沿着b向量对应的方向移动,移动的距离等于b向量的大小。 --- 移动之后就能够得到一个新的向量了 

1.向量与标量的乘除能够实现的就是向量长度的缩和放 --- 不会改变方向! 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/100214?site
推荐阅读
相关标签
  

闽ICP备14008679号