Hi,
ist eigentlich ganz einfach! Sagen wir mal, du willst ein Neuneck zeichnen. Dann hast du auf deinem Kreis 9 Eckpunkte mit jeweils gleichem Abstand auf der Kreislinie. Willst du nun den entsprechenden Winkel am Kreis haben, der diesen Abstand beschreibt nimmst du 360° und teilst es durch 9. Also im Beispiel 40°. Jetzt nehmen wir noch die Formel zur Drehung eines Punktes um den Nullpunkt:
Quelltext
1: 2:
| x' = x * cos(alpha) - y * sin(alpha) y' = x * sin(alpha) + y * cos(alpha) |
x' und y' sind die Position des neuen Punktes, x und y die Position des alten Punktes. Starten kann man auf einem belibigen Punkt des Kreies. Für unser Beispiel müssten wir 8 mal den nächsten Punkt ausrechnen, beim 9. mal wären wir wieder im Ausgangspunkt.
Wichtig ist noch noch, dass diese Formel nur für den Nullpunkt gilt, das heißt du startest am besten mit x = "Radius des Kreises" und y = "0" und verschiebst dann die entsprechenden Ergebnisse um den den x- und y-Wert die dein Kreismittelpunkt auf der Zeichenebene hat. Auch nicht zu vergessen ist, dass die Funktionen cos und sin in Delphi im Bogenmaß und nicht im Gradmaß rechnen, dass heißt entweder umrechnen oder gleich durch 2*Pi teilen statt 360°.
MFG Blackbird8690
What to do if you find yourself stuck with no hope of rescue. Consider how lucky you are that life has been good to you so far. Alternatively, if life hasn't been good to you so far, consider how lucky you are that it won't be troubling you much longer.