2012-04-03 11 views
0

Ich versuche, eine einfache Anwendung, die ein Zeichen, um einen Vektor relativ zu seiner aktuellen Position zu sehen macht machen.Blick in Richtung 2d Vektor

Der Drehwert im Bereich von 0 - 180 und -180 - 0.

Math nicht meine Stärke ist, und ich würde es begrüßen, wenn C# Codebeispielen erklärt werden könnte, muss ich einen Wert in der einzustellen Rotationsvariable in den oben genannten Bereichen. http://en.wikipedia.org/wiki/Polar_coordinate_system#Converting_between_polar_and_Cartesian_coordinates

Um theata von x und y, können Sie http://msdn.microsoft.com/en-us/library/system.math.atan2.aspx

Beifall verwenden:

Antwort

1

Verwenden Sie die Atan2() Funktion zur Umwandlung relativ x, y Position in Winkeln

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

Der Winkel kann durch Verschieben der Vektor in Polar Notation (r, theta) berechnet werden.

+0

Sorry, meine Mathe ist nicht so gut! – JamieB

+0

Sie übergeben die X, Y-Werte Ihrer Var, und die Atan2-Funktion macht die ganze Arbeit (Sie müssen von Grad zu Radiant konvertieren, indem Sie mit 180/Pi multiplizieren). Du kannst deine Mathe immer besser machen, probiere die Khan-Akademie :) –