二维坐标系的转换

发布时间 2023-11-26 20:24:02作者: porter_代码工作者

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

一、旋转变换

假设已知基坐标系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(θ)

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