計算一點繞另外一點旋轉n度後的座標(親測)

遇到問題先網上找一找(由於本身已經忘完了……),搜到好幾個以下的答案:
1、引用

假設o點爲圓心(原點0,0),則有計算公式:co

b.x = a.xcos(angle) - a.ysin(angle)

b.y = a.xsin(angle) + a.ycos(angle)

其中順時針旋轉爲正,逆時針旋轉爲負,角度angle是弧度值,如旋轉30度轉換爲弧度爲:angle = pi/180 * 30。

2、

若o不是原點,則可先將a點座標轉換爲相對座標計算,計算結果再加上o點座標。

參與計算的a點座標實際應爲 a - 0,由此得出最終計算公式以下:

b.x = ( a.x - o.x)cos(angle) - (a.y - o.y)sin(angle)

b.y = (a.x - o.x)sin(angle) + (a.y - o.y)cos(angle)

上面的內容是引用其餘朋友的說明,結果坑了我半天,都是沒作實驗的吧,
直接上正解:
前面的步驟都是對的,可是!重點來了!!!!,最終還要加上中心點的座標橫縱座標即:

b.x = ( a.x - o.x)cos(angle) - (a.y - o.y)sin(angle) + o.x

b.y = (a.x - o.x)sin(angle) + (a.y - o.y)cos(angle) + o.y

相關文章
相關標籤/搜索