坐标转换
二维坐标系的变换分为旋转变换和平移变换
一、旋转变换
如下图所示,假设已知基坐标系XOY中的一点P(x, y), 坐标原点为O,P点的方向为
θ
\theta
θ,则可以求得P点在新坐标系X’OY’(新坐标系X’OY’是将原来的坐标系XOY绕原点O旋转了
θ
\theta
θ角度)下的坐标(x’, y’),:
x’ = OA + BC = x
∗
*
∗cos(
θ
\theta
θ) + y
∗
*
∗sin(
θ
\theta
θ)
y’ = PC - AB = y
∗
*
∗cos(
θ
\theta
θ) - x
∗
*
∗sin(
θ
\theta
θ);
同理:如果知道P点在坐标系X’OY’中的坐标(x’, y’), 可以求的P点在基坐标系XOY中的坐标(x, y):
x = x’
∗
*
∗cos(
−
θ
-\theta
−θ) + y’
∗
*
∗sin(
−
θ
-\theta
−θ);
y = y’
∗
*
∗cos(
−
θ
-\theta
−θ) - x’
∗
*
∗sin(
−
θ
-\theta
−θ);
二、平移变换
如下图所示,已知基坐标系XOY,把坐标系平移(a, b)得到一个新的坐标系X’OY’,如果基坐标系中一点P(x, y),跟随坐标系一起平移,那此时P点在基坐标系XOY中的坐标为(x+a, y+b);
三、旋转平移变换
旋转平移变换时以上两种情况的叠加,已知旋转平移后的坐标系X’OY’中的一点P’(x’, y’), 求P’在基坐标系中的坐标(x, y):
方法:
第一步先得到P’点在坐标系XO’下的坐标,第二步然后得到在坐标系XOY下的坐标。
x = x’
∗
*
∗cos(
θ
\theta
θ) - y’
∗
*
∗sin(
θ
\theta
θ) + a;
y = y’
∗
*
∗cos(
θ
\theta
θ) + x’
∗
*
∗sin(
θ
\theta
θ) + b;