之前对坐标系的变换背后的数学原理感到不解,花时间研究下,发现只是简单的矩阵变换。
数学推导
\[ \left[ \begin{matrix} v1 & v2 & v3 \end{matrix} \right] \tag{V} \]
\[ \left[ \begin{matrix} u1 & u2 & u3 \\ \end{matrix} \right] \tag{U} \]
v1,v2,v3代表3个向量,V则是由v1,v2,v3三个向量构成坐标系的基底,U则是代表一个坐标系
V到U的变换关系如下,u中的每个向量都可以v的基底来表示
u1 = a11 * v1 + a12 * v2 + a13 * v3
u2 = a21 * v1 + a22 * v2 + a23 * v3
u3 = a31 * v1 + a32 * v2 + a33 * v3
然后可以由a11等标量获得矩阵M
\[ M = \left[ \begin{matrix} a11 & a12 & a13\\ a21 & a22 & a23\\ a31 & a32 & a33\\ \end{matrix} \right] \tag{V} \]
V,U的关系可以表示为
\[ \left[ \begin{matrix} u1\\ u2\\ u3\\ \end{matrix} \right] = M * \left[ \begin{matrix} v1\\ v2\\ v3\\ \end{matrix} \right] \tag{即U = M * V} \]
假设一个向量w
w = a1v1+a2v2+a3v3.\(即即\) \(w = A^TV\)
w = b1u1+b2u2+b3u3.即\(w = B^TU\)
\(w = B^TMV = A^TV\)
所以A到B的变换矩阵为
\(B = (M^T)^{-1}A\)