2012-04-03 63 views
0

我正在試圖製作一個簡單的應用程序,它可以讓角色查看相對於當前位置的矢量。查看2d的方向矢量

旋轉值的範圍從0 - 180和-180 - 0

Math不是我的強項和我會感激如果C#代碼例子可以進行解釋,我需要的值設置到旋轉變量在上述範圍內。

回答

1

使用Atan2()功能相對於轉換Xÿ位置成角度

 double dx=target.X-actor.X; 
     double dy=target.Y-actor.Y; 
     double angle=Math.Atan2(dy, dx)*180/Math.PI; 
1

的角度可以通過矢量轉換到極座標(R,THETA)來計算: http://en.wikipedia.org/wiki/Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates

要獲得theata從x和y,你可以使用http://msdn.microsoft.com/en-us/library/system.math.atan2.aspx

乾杯。

+0

對不起,我數學並不好! – JamieB 2012-04-03 18:46:15

+0

您傳遞var的x,y值,atan2函數完成所有工作(您需要將度數轉換爲弧度乘以180/pi)。你總是可以讓你的數學更好,嘗試可汗學院:) – 2012-04-03 19:36:46