在坐标系
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?=p1x?cosα?p1y?sinα
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?=p1x?sinα+p1y?cosα
用矩阵表示
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α?]
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?不动但旋转坐标系来实现,两者虽然结果一样,但所处的坐标系不一样。