齐次坐标系(Homogeneous coordinates)
对于有些3D变换(后面会说),无法用笛卡尔坐标系下的矩阵表示,但是都可以用齐次坐标系下的矩阵表示
public Vector3(float x, float y, float z);
注意:Unity是左手坐标系
其中,有几个单位向量是可以用Vector3.right,Vector3.up这样的内容表示的
使用点积判断小车在靠近目标还是在远离目标
public static Vector3.Cross(Vector3 lhs, Vector3 rhs);
判断小车应该顺时针转韩式逆时针转(根据直积结果的z分量)
这个是用笛卡尔坐标系无法解决的
右手法则判断旋转角度的正负方向
任意一个3*3的旋转矩阵R可以看成是前面三个沿着坐标轴旋转的矩阵的乘积
旋转矩阵R的性质:
旋转R和平移T的组合
\(\begin{bmatrix} R & T\\ 0^T & 1 \end{bmatrix}_{4 \times 4}\)
线之间的长度、区域、角度不变
自由度为6(R的3+T的3)
欧几里得变换+各维度相同放缩S
\(\begin{bmatrix} SR & T\\ 0^T & 1 \end{bmatrix}_{4 \times 4}\)
自由度为7(欧几里得变换的6+放缩的1)
\(\begin{bmatrix} A & T\\ 0^T & 1 \end{bmatrix}_{4 \times 4}\)
自由度为12(A的9+T的3)
void Translate(Vector3 translation, Space relativeTo = Space.Self);
进行方向和距离的移动