二维坐标系的转换

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

一、旋转变换

假设已知基坐标系XOY中的一点P(x,y),坐标原点为O,绕点O旋转θ,可以求得点P在新坐标系X'OY'中坐标值(x',y'),如下图所示:

求解x'和y'的关键是坚持用已知的边做斜边来求解,结合上图利用三角函数可以求得:

x'=x·cos(θ)+y·sin(θ)

y'=y·cos(θ)-x·sin(θ)

那么点P在X'OY'中的坐标值为(x',y')。

同理如果知道P点在坐标系X'OY'中的坐标(x',y'),可以求得点P在基坐标系XOY中的坐标值:

x=x'·cos(-θ)+y'·sin(-θ)

y=y'·cos(-θ)-x'·sin(-θ)

 

通过上述两个算式可以知道:已知一个点P在一个坐标系中的坐标值(x,y),那么把坐标系绕坐标原点旋转θ以后,点P在新坐标系中的坐标值x'和y'分别为:

x'=x·cos(θ)+y·sin(θ)

y'=y·cos(θ)-x·sin(θ)

绕坐标原点逆时针旋转θ,上式θ值为正,顺时针旋转θ,上式θ值为负。

二、平移变换

已知基坐标系XOY,把坐标系平移(a,b)得到一个新的坐标系X'O'Y',如果基坐标系中一点P(x,y),跟随坐标系一起平移,那么此时P点在基坐标系XOY中的坐标为(x+a,y+b)。

根据向量加法可以求得:

OP=OO'+O'P'=T+O'P'

所以向量OP'的坐标为(x+a,y+b)。

三、旋转平移变换

旋转平移变换是以上两种情况的叠加,已知旋转平移后的坐标系X'O'Y'中的一点P'(x',y'),求P'在基坐标系中的坐标值:

 

可以先求出P'在坐标系XO'Y中的坐标值,X'O'Y'顺时针旋转θ(此时θ应取负值)可以变换为坐标系XO'Y,然后坐标系XO'Y经过平移(-a,-b)可以变换为坐标系XOY,至此可以求出坐标系X'O'Y'中的一点P'(x',y')在基坐标系XOY中的坐标值x,y分别为:

x=x'·cos(θ)+y'·sin(θ)+a
y=y'·cos(θ)-x'·sin(θ)+b

 

-----------------------------------------------------------------------------------------------------------------

 

posted @ 2016-07-09 13:08  漠刀凡尘  阅读(38513)  评论(1编辑  收藏  举报