我正在試圖製作一個簡單的應用程序,它可以讓角色查看相對於當前位置的矢量。查看2d的方向矢量
旋轉值的範圍從0 - 180和-180 - 0
Math不是我的強項和我會感激如果C#代碼例子可以進行解釋,我需要的值設置到旋轉變量在上述範圍內。
我正在試圖製作一個簡單的應用程序,它可以讓角色查看相對於當前位置的矢量。查看2d的方向矢量
旋轉值的範圍從0 - 180和-180 - 0
Math不是我的強項和我會感激如果C#代碼例子可以進行解釋,我需要的值設置到旋轉變量在上述範圍內。
使用Atan2()
功能相對於轉換X,ÿ位置成角度
double dx=target.X-actor.X;
double dy=target.Y-actor.Y;
double angle=Math.Atan2(dy, dx)*180/Math.PI;
的角度可以通過矢量轉換到極座標(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
乾杯。
對不起,我數學並不好! – JamieB 2012-04-03 18:46:15
您傳遞var的x,y值,atan2函數完成所有工作(您需要將度數轉換爲弧度乘以180/pi)。你總是可以讓你的數學更好,嘗試可汗學院:) – 2012-04-03 19:36:46