2010-09-07 158 views
1

我正在旋轉其中心點周圍的圖像,但需要跟蹤圖像旋轉時的位置。圖像旋轉和跟蹤位置

鑑於:

  1. 原點(0,0)處
  2. 圖像的寬度和100的高度,100
  3. 旋轉點在C(50,50)
  4. 角度 「a」 的(比方說在這個例子中爲90度)
  5. P點開始於(25,25)和所述旋轉後它在P新(75,25)

alt text

我還沒有觸及20年trig的,但猜測的公式很簡單...

回答

2

我還沒有觸及20年trig的,但猜測的公式很簡單...

是的,相當。要通過繞原點旋轉映射點(X1,Y1):

x2 = cos(a) * x1 + sin(a) * y1; 
y2 = cos(a) * y1 - sin(a) * x1; 

...所以你只需要先轉化爲原點,即(-50,-50),在你的榜樣和翻譯後回回轉。

x2 = cos(a) * (x1 - 50) + sin(a) * (y1 - 50) + 50; 
y2 = cos(a) * (y1 - 50) - sin(a) * (x1 - 50) + 50; 

...或者類似的東西。 (你可以生成一個矩陣,它將完成所有三個轉換,我會將其作爲另一個答案或作爲練習...)

+0

非常感謝。起初我並不認爲這是正常工作,但唉,幾何中的角度是有效的逆時針。我的應用程序將所有角度視爲順時針。只需要添加一些負號。 – andleer 2010-09-07 17:55:27