2016-07-03 42 views
0

我有一個座標,想要像下面的圖像旋轉後得到一個新的座標。任何人都可以給我一個簡單的公式?如何從平移旋轉中找到新的座標

enter image description here

編輯:使用EOL公式後...

Debug

有一個非常小小姐 「6.1232338E-15」。

+0

恐怕這是題外話題。你可以在任何數學教科書中查看。 – Hulk

+0

如果這樣那麼簡單,可以在這裏發佈你的數學教科書公式.. – Mardi

+2

我投票結束這個問題作爲題外話,因爲這是一個數學問題。 – Eiko

回答

-1

只需使用一個旋轉矩陣(從https://en.wikipedia.org/wiki/Rotation_matrix拍攝):

float newX = x*Math.cos(angleRad) - y*Math.sin(angleRad); 
float newY = x*Math.sin(angleRad) - y*Math.cos(angleRad); 

有一點要提的是,你需要確保這個角度是弧度,所以你可能需要執行此轉換:

float angleRad = angle*Math.PI/180; 
+0

我使用你的公式,但計算中有非常小的遺漏。我知道它會忽略渲染,但你知道爲什麼? – Mardi

+0

@Mardi這可能是由於舍入錯誤。請參閱http://stackoverflow.com/questions/1661273/floating-point-arithmetic-not-producing-exact-results – eol