将一个二维坐标系
O
X
Y
OXY
OXY逆时针旋转至新的坐标系
O
′
X
′
Y
′
O'X'Y'
O′X′Y′后,原坐标系中的坐标点
(
x
,
y
)
(x,y)
(x,y)在新坐标系中的坐标为
(
x
′
,
y
′
)
(x',y')
(x′,y′)
(
x
′
y
′
)
=
(
cos
β
sin
β
−
sin
β
cos
β
)
(
x
y
)
\begin{pmatrix}x' \\ y'\end{pmatrix}=\begin{pmatrix}\color{red}\cos\beta & \color{red}\sin\beta \\ -\sin\beta & \cos\beta \end{pmatrix}\begin{pmatrix}x \\ y\end{pmatrix}
(x′y′)=(cosβ−sinβsinβcosβ)(xy)
上述转换式可以如此理解,转换矩阵的第一行为新坐标系的
X
′
X'
X′轴在旧坐标系中的方向矢量,第二行类似。
如果需要平移,则需要看是先平移再旋转还是先旋转再平移。假定平移后的坐标系原点在平移前坐标系中的坐标是 ( d x , d y ) (dx, dy) (dx,dy)
- 先旋转再平移,直接在上述变换完的 ( x ′ , y ′ ) (x', y') (x′,y′)上再减去 ( d x , d y ) (dx, dy) (dx,dy)
- 先平移再旋转,直接在上述进行变换的 ( x , y ) (x, y) (x,y)上减去 ( d x , d y ) (dx, dy) (dx,dy)
对于经常使用的如下式,与先旋转再平移是等价的
(
x
′
y
′
1
)
=
(
cos
β
sin
β
−
d
x
−
sin
β
cos
β
−
d
y
0
0
1
)
(
x
y
1
)
\begin{pmatrix}x' \\ y' \\ 1 \end{pmatrix}=\begin{pmatrix}\cos\beta & \sin\beta & -dx \\ -\sin\beta & \cos\beta & -dy \\ 0 & 0 & 1 \end{pmatrix}\begin{pmatrix}x \\ y \\ 1\end{pmatrix}
x′y′1
=
cosβ−sinβ0sinβcosβ0−dx−dy1
xy1