Wie man mit der Schildkröte n-zackige Sterne zeichnetPython

Python-Programme
Anonymous
 Wie man mit der Schildkröte n-zackige Sterne zeichnet

Post by Anonymous »

Ich versuche, ein „Sternpolygon“ mit n Punkten zu zeichnen, indem ich sowohl Iteration als auch Rekursion verwende. Die Funktion star_iter(size, n) sollte einen Stern mit n Punkten und Seiten der Länge size zeichnen.
Für meine Zwecke ist ein Sternpolygon wie in diesem Video definiert:
  • Es hat n Punkte, die in einem Kreis angeordnet sind, wie dieser beginnt mit 5 Punkten:
    Image
  • Es gibt einen Parameter „Dichte“, der ausdrückt, wie weit die verbundenen Punkte voneinander entfernt sein sollten. Hier ein Beispiel: Ein Sternpolygon mit einer Dichte von 2 fordert Sie auf, jeden zweiten Punkt miteinander zu verbinden.
    Image
  • Die Zahl n/Dichte kann nicht als ganze Zahl ausgedrückt werden.
Beispiele für funktionierende Sternpolygone:
Image

Ich möchte, dass mein Programm zwei Dinge tut:
  • Bestimmen Sie die Mindestdichte, die erforderlich ist, damit eine n-spitze Figur ein Stern ist.
  • Zeichnen Sie diesen Stern mit Turtle.
Die Formel, die ich zur Berechnung des Innenraums verwendet habe Winkel der Sternpolygone: Winkelsumme im Sternpolygon = 180 * (n - 2 * Dichte)
Ich habe diesen Code geschrieben, um die Dichte zu ändern, wenn der GCD von n und der Dichte nicht 1 ist.

Code: Select all

def gcd(a,b):
while b != 0:
a,b = b, a % b
return a

def star_iter(size,n):
#size stands for the length of the sides
#n stands for number of points in the star.
density = 2 #set default density to 2
turtle.pendown()
if n

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post