情形一(active or alibi transformation主动变换)
在坐标系 x − y x-y x−y中,点 p 1 p_1 p1逆时针旋转 α \alpha α后到达点 p 2 p_2 p2。
p 1 p_1 p1在 x − y x-y x−y中的表示与 p 2 p_2 p2在 x ′ − y ′ x'-y' x′−y′中的表示一样, x ′ − y ′ x'-y' x′−y′为 x − y x-y x−y旋转逆时针旋转 α \alpha α后的新坐标系。
我们要求 p 2 p_2 p2在 x − y x-y x−y中的表示?
(以下讨论均在 x − y x-y x−y中)
p 1 x = r c o s θ , p 1 y = r s i n θ p_1^x = rcos\theta, p_1^y = rsin\theta p1x=rcosθ,p1y=rsinθ
p 2 x = r c o s ( θ + α ) , p 2 y = r s i n ( θ + α ) p_2^x = rcos(\theta+\alpha), p_2^y = rsin(\theta+\alpha) p2x=rcos(θ+α),p2y=rsin(θ+α)
可以推出
p 2 x = p 1 x c o s α − p 1 y s i n α p_2^x = p_1^x cos\alpha - p_1^y sin\alpha p2x=p1xcosα−p1ysinα
p 2 y = p 1 x s i n α + p 1 y c o s α p_2^y = p_1^x sin\alpha + p_1^y cos\alpha p2y=p1xsinα+p1ycosα
用矩阵表示
A = [ c o s α − s i n α s i n α c o s α ] A = \begin{bmatrix} cos\alpha & -sin\alpha \\ sin\alpha & cos\alpha \end{bmatrix} A=[cosαsinα−sinαcosα]
p 1 = [ p 1 x , p 1 y ] p_1 = [p_1^x, p_1^y] p1=[p1x,p1y]
p 2 = [ p 2 x , p 2 y ] p_2 = [p_2^x, p_2^y] p2=[p2x,p2y]
p 2 = A p 1 p_2 = Ap_1 p2=Ap1
那么,假如我们已知 p 2 p_2 p2,我们要求 p 1 p_1 p1在 x − y x-y x−y中的表示?
p 1 = A − 1 p 2 p_1 = A^{-1} p_2 p1=A−1p2
A = [ c o s α s i n α − s i n α c o s α ] A = \begin{bmatrix} cos\alpha & sin\alpha \\ -sin\alpha & cos\alpha \end{bmatrix} A=[cosα−sinαsinαcosα]
情形二(passive or alias transformation被动变换)
https://en.wikipedia.org/wiki/Rotation_of_axes_in_two_dimensions
点 p p p不动, x ′ − y ′ x'-y' x′−y′为 x − y x-y x−y旋转逆时针旋转 α \alpha α后的新坐标系。
我们已知 p p p在 x − y x-y x−y中的表示 [ p x , p y ] [p^x,p^y] [px,py],要求 p p p在 x ′ − y ′ x'-y' x′−y′中的表示 [ p x ′ , p y ′ ] [p^{x'},p^{y'}] [px′,py′]?
p x = r c o s θ , p y = r s i n θ p^x = rcos\theta, p^y = rsin\theta px=rcosθ,py=rsinθ
p x ′ = r c o s ( θ − α ) , p y ′ = r s i n ( θ − α ) p^{x'} = rcos(\theta - \alpha), p^{y'} = rsin(\theta - \alpha) px′=rcos(θ−α),py′=rsin(θ−α)
可以推出
p x ′ = p x c o s α + p y s i n α p^{x'} = p^x cos\alpha + p^y sin\alpha px′=pxcosα+pysinα
p y ′ = − p x s i n α + p y c o s α p^{y'} = -p^x sin\alpha + p^y cos\alpha py′=−pxsinα+pycosα
用矩阵表示
A = [ c o s α s i n α − s i n α c o s α ] A = \begin{bmatrix} cos\alpha & sin\alpha \\ -sin\alpha & cos\alpha \end{bmatrix} A=[cosα−sinαsinαcosα]
[ p x ′ , p y ′ ] T = A [ p x , p 1 y ] T [p^{x'}, p^{y'}]^T = A [p^x, p_1^y]^T [px′,py′]T=A[px,p1y]T
那么,假如我们已知 p p p在 x ′ − y ′ x'-y' x′−y′中的表示 [ p x ′ , p y ′ ] [p^{x'}, p^{y'}] [px′,py′],要求 p p p在 x − y x-y x−y中的表示 [ p x , p 1 y ] [p^x, p_1^y] [px,p1y]?
[ p x , p 1 y ] T = A − 1 [ p x ′ , p y ′ ] T [p^x, p_1^y]^T = A^{-1}[p^{x'}, p^{y'}]^T [px,p1y]T=A−1[px′,py′]T
A − 1 = [ c o s α − s i n α s i n α c o s α ] A^{-1} = \begin{bmatrix} cos\alpha & -sin\alpha \\ sin\alpha & cos\alpha \end{bmatrix} A−1=[cosαsinα−sinαcosα]
主动变换与被动变换的变换矩阵一样?这说明要想让点 p 1 p_1 p1变换至 p 2 p_2 p2可通过主动绕原点旋转点 p 1 p_1 p1实现,也可以 p 1 p_1 p1不动但旋转坐标系来实现,两者虽然结果一样,但所处的坐标系不一样。