二维平面坐标转换

坐标转换

二维坐标系的变换分为旋转变换和平移变换

一、旋转变换

如下图所示,假设已知基坐标系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 θ);
二维平面坐标转换_第1张图片

二、平移变换

如下图所示,已知基坐标系XOY,把坐标系平移(a, b)得到一个新的坐标系X’OY’,如果基坐标系中一点P(x, y),跟随坐标系一起平移,那此时P点在基坐标系XOY中的坐标为(x+a, y+b);
二维平面坐标转换_第2张图片

三、旋转平移变换

旋转平移变换时以上两种情况的叠加,已知旋转平移后的坐标系X’OY’中的一点P’(x’, y’), 求P’在基坐标系中的坐标(x, y):
二维平面坐标转换_第3张图片

方法:
第一步先得到P’点在坐标系XO’下的坐标,第二步然后得到在坐标系XOY下的坐标。
x = x’ ∗ * cos( θ \theta θ) - y’ ∗ * sin( θ \theta θ) + a;
y = y’ ∗ * cos( θ \theta θ) + x’ ∗ * sin( θ \theta θ) + b;

你可能感兴趣的:(坐标变换,经验分享)