Quaternion q=Quaternion.Euler(Vector3 euler)该函数填入要旋转的角度欧拉角(即transform面板中Rotation),返回一个四元数的值q,物体的transform.rotation的类型是四元数类型,所以在赋值时先要将欧拉角转换为四元数。
Quaternion q=Quaternion.AngleAxis(float angles, Vector3 axis)该函数填入要旋转的轴axis,以及按轴旋转的角度angles。返回一个四元数的值q。
Quaternion q=Quaternion.Euler(new Vector3(0,90,0));返回一个绕Y轴旋转90度的操作的四元数
Vector3 p = new Vector3(0,0,2);
p= q*p;四元数左乘一个位置向量
得到一个按照q旋转方向的 新的p (2,0,0);再做3次这样的乘法运算:得到p点的位置分别为(0,0,-2),(-2,0,0)以及(0,0,2);
这样我们发现,如果我们要得到一个点(上例中的原点(0,0,0)),相隔一段距离(上例中2),以一定角度划分(90度)的所有点的集合,即可通过这种方法获得,这也就是以某一点为坐标,来画圆的所有点的集合,当坐标点不在原点时,先已原点为例来求解,最后在得到点的坐标上加上已知圆的原点坐标,即为所求!