二維坐標系的變換分為旋轉變換和平移變換。
一、旋轉變換
假設已知基坐標系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
-----------------------------------------------------------------------------------------------------------------