Ich kann mir vorstellen, dass dies eine einfache Frage ist, aber ich erhalte einige seltsame Ergebnisse mit meinem aktuellen Code und ich habe nicht den mathematischen Hintergrund, um vollständig zu verstehen, warum. Mein Ziel ist einfach, wie im Titel angegeben: Ich möchte nur den Punkt in einem bestimmten Abstand und Winkel von einem Mittelpunkt finden.
Mein aktueller Code:
Point centerPoint = new Point ( 0, 0 );
Point result = new Point ( 0, 0 );
double angle = 0.5; //between 0 and 2 * PI, angle is in radians
int distance = 1000;
result.Y = centerPoint.Y + (int)Math.Round( distance * Math.Sin( angle ) );
result.X = centerPoint.X + (int)Math.Round( distance * Math.Cos( angle ) );
Im Allgemeinen scheint dies ziemlich vernünftig zu funktionieren, aber ich bekomme Probleme an verschiedenen Stellen, vor allem, wenn der Winkel Punkte in der negativen x und y-Achse entspricht. Offensichtlich tue ich etwas falsch - Gedanken darüber, was das ist?
UPDATE: Das war mein Fehler, dieser Code funktioniert einwandfrei - die wenigen Ausreißer, die nicht funktionierten, waren tatsächlich auf einen Fehler in der Art und Weise zurückzuführen, wie der Winkel für 1,5PI berechnet wurde. Ich dachte, ich hätte das gut genug überprüft, aber offensichtlich war das nicht der Fall. Vielen Dank an alle, die sich die Zeit genommen haben, und ich hoffe, dass der obige funktionierende Code für andere hilfreich ist.