Ich würde gerne wissen, wie man einen bestimmten Punkt auf dem Umfang eines Kreises mit einem bestimmten Winkel bekommt. Der Durchmesser des Kreises ist 1 und der Mittelpunkt des Kreises ist { X: 0.5, Y: 0.5 }
.
Ich würde gerne wissen, wie man einen bestimmten Punkt auf dem Umfang eines Kreises mit einem bestimmten Winkel bekommt. Der Durchmesser des Kreises ist 1 und der Mittelpunkt des Kreises ist { X: 0.5, Y: 0.5 }
.
Antworten:
Sie können dies mit der grundlegenden Trigonometrie herausfinden. http://www.freehomeworkmathhelp.com/Trigonometry/Trigonometry_Introduction/trigonometry.html
Tan(angle) = Opposite / Adjacent
Sin(angle) = Opposite / Hypotenuse
Cos(angle) = Adjacent / Hypotenuse
Ich erinnere mich immer an das oben Gesagte als
The Old Arab
Sat On His
Camel And Howled
Das obige bedeutet, wenn wir den Winkel und eine Länge eines rechtwinkligen Dreiecks haben, können wir die Längen der anderen Seiten berechnen. Glücklicherweise kann man sich Ihr Problem so vorstellen, dass es die Länge der Dreieckseiten berechnet:
Oben ist r die Hypotenuse, x ist die benachbarte und y ist das Gegenteil.
Also für x:
Cos(a) = x / r
Cos(a) * r = x
x = Cos(a) * r
Und für Sie:
Sin(a) = y / r
Sin(a) * r = y
y = Sin(a) * r
Dies setzt einen Kreis bei (0, 0) voraus, also addieren wir nur den Mittelpunkt des Kreises.
radius = 1;
CenterX = 0.5;
CenterY = 0.5;
x = Cos(angle) * radius + CenterX;
Y = Sin(angle) * radius + CenterY;
Hinweis: Die C # Math-Funktionen verwenden Winkel im Bogenmaß. Wenn Sie also Grad haben, konvertieren Sie diese zuerst:
radians = degrees * Math.PI / 180