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.向量与标量的乘除能够实现的就是向量长度的缩和放 --- 不会改变方向!