J'imagine que c'est une question simple, mais je suis l'obtention de certains résultats étranges avec mon code actuel, et je n'ai pas de formation en mathématiques pour bien comprendre pourquoi. Mon objectif est simple, comme indiqué dans le titre: je veux juste trouver le point à une certaine distance et l'angle à partir d'un point central.
Mon code actuel:
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 ) );
En général, cela semble fonctionner assez, mais j'ai des problèmes à différents endroits, notamment lorsque l'angle correspond à des points dans le négatif de l'axe x et y. Clairement, je suis en train de faire quelque chose de mal -- réflexions sur ce que c'est?
Mise à JOUR: Ce qui a été mon erreur, ce code fonctionne très bien-les quelques valeurs aberrantes qui ne travaillaient pas étaient en fait dû à un bogue dans quelle mesure l'angle de 1,5 PI a été calculé. Je pensais que j'avais vérifié que assez bien, mais de toute évidence n'avait pas. Merci à tous pour leur temps, espérons-le code de travail ci-dessus vous seront utiles à quelqu'un d'autre.