坐标轴变换与坐标变换
主要结论
- 新坐标轴向量组成的矩阵即为对象变换矩阵
- 变换矩阵可以转换为新坐标轴的向量
- 坐标轴不正交时,点的横纵方向分量也都是与坐标轴平行的
- 错切不能替代旋转
矩阵与自己的逆矩阵互逆
假设B为A的逆矩阵,则
A ⋅ B = E A\cdot B = E A⋅B=E
A ⋅ B ⋅ A = E ⋅ A = A A\cdot B\cdot A = E\cdot A = A A⋅B⋅A=E⋅A=A
A ⋅ ( B ⋅ A ) = A A\cdot (B\cdot A) = A A⋅(B⋅A)=A
B ⋅ A = E B\cdot A = E B⋅A=E
线性变换Linear Transformation
就是满足分配律的变换,目前遇到的有乘法,矩阵的乘法.
A = [ x 1 y 1 ] A = \begin{bmatrix} x_1 \\ y_1 \\ \end{bmatrix} A=[x1y1]
B = [ x 2 y 2 ] B = \begin{bmatrix} x_2 \\ y_2 \\ \end{bmatrix} B=[x2y2]
M = [ a 1 1 a 1 2 a 2 1 a 2 2 ] M = \left[\begin{array}{cc} a_11 & a_12 \\ a_21 & a_22 \\ \end{array}\right] M=[a11a21a12a22]
M ∗ ( A + B ) = [ a 1 1 ( x 1 + x 2 ) + a 1 2 ( y 1 + y 2 ) a 2 1 ( x 1 + x 2 ) + a 2 2 ( y 1 + y 2 ) ] = [ a 1 1 x 1 + a 1 1 x 2 + a 1 2 y 1 + a 1 2 y 2 a 2 1 x 1 + a 2 1 x 2 + a 2 2 y 1 + a 2 2 y 2 ] = [ a 1 1 x 1 + a 1 2 y 1 a 2 1 x 1 + a 2 2 y 1 ] + [ a 1 1 x 2 + a 1 2 y 2 a 2 1 x 2 + a 2 2 y 2 ] = M ∗ A + M ∗ B M * ( A + B ) = \left[\begin{array}{cc} a_11(x_1 + x_2) + a_12(y_1 + y_2) \\ a_21(x_1 + x_2) + a_22(y_1 + y_2) \\ \end{array}\right] = \left[\begin{array}{cc} a_11x_1 + a_11x_2 + a_12y_1 + a_12y_2 \\ a_21x_1 + a_21x_2 + a_22y_1 + a_22y_2 \\ \end{array}\right] = \left[\begin{array}{cc} a_11x_1 + a_12y_1 \\ a_21x_1 + a_22y_1 \\ \end{array}\right] + \left[\begin{array}{cc} a_11x_2 + a_12y_2 \\ a_21x_2 + a_22y_2 \\ \end{array}\right] = M * A + M * B M∗(A+B)=[a11(x1+x2)+a12(y1+y2)a21(x1+x2)+a22(y1+y2)]=[a11x1+a11x2+a12y1+a12y2a21x1+a21x2+a22y1+a22y2]=[a11x1+a12y1a21x1+a22y1]+[a11x2+a12y2a21x2+a22y2]=M∗A+M∗B
M ∗ ( A + B ) = M ∗ A + M ∗ B M * ( A + B ) = M * A + M * B M∗(A+B)=M∗A+M∗B
几何意义是,向量单个变换后相加,与相加后变换,结果是一样的。
并由此可见,除平移这种需要借助多一维的变换,其它能以向量维度相同矩阵实现的变换,都是线性变换:包括伸缩,旋转,错切,反射。
坐标系变换
以二维为例
原来的坐标轴为 X ⃗ , X ⃗ \vec{X},\vec{X} X,X
新的坐标轴为 U ⃗ , V ⃗ \vec{U},\vec{V} U,V
经XY坐标系中表示为
U ⃗ = [ a b ] [ X ⃗ Y ⃗ ] V ⃗ = [ c d ] [ X ⃗ Y ⃗ ] \vec{U} = \left[\begin{array}{cc} a & b \\ \end{array}\right] \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] \ \ \ \ \ \ \ \ \vec{V} = \left[\begin{array}{cc} c & d \\ \end{array}\right] \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] U=[ab][XY] V=[cd][XY]
[ U ⃗ V ⃗ ] = [ a b c d ] [ X ⃗ Y ⃗ ] = M [ X ⃗ Y ⃗ ] \left[\begin{array}{cc} \vec{U} \\ \vec{V} \\ \end{array}\right] = \left[\begin{array}{cc} a & b \\ c & d \\ \end{array}\right] \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] = M \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] [UV]=[acbd][XY]=M[XY]
M = [ a b c d ] M = \left[\begin{array}{cc} a & b \\ c & d \\ \end{array}\right] M=[acbd]
UV坐标系上的点 P ( u , v ) P(u,v) P(u,v),使用 X ⃗ Y ⃗ \vec{X} \vec{Y} XY表示为:
P = [ u v ] [ U ⃗ V ⃗ ] = [ u v ] M [ X ⃗ Y ⃗ ] = [ u v ] [ a b c d ] [ X ⃗ Y ⃗ ] = [ u a + v c u b + v d ] [ X ⃗ Y ⃗ ] P = \left[\begin{array}{cc} u & v \\ \end{array}\right] \left[\begin{array}{cc} \vec{U} \\ \vec{V} \\ \end{array}\right] = \left[\begin{array}{cc} u & v \\ \end{array}\right] M \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] = \left[\begin{array}{cc} u & v \\ \end{array}\right] \left[\begin{array}{cc} a & b \\ c & d \\ \end{array}\right] \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] = \left[\begin{array}{cc} ua + vc & ub + vd \\ \end{array}\right] \left[\begin{array}{cc} \vec{X} \\ \vec{Y} \\ \end{array}\right] P=[uv][U