Article épinglé

lundi 12 août 2019

Turtle - Créer une rosace avec 6 cercles

Rosace avec ses 6 cercles + son cercle central

Construction

  • Tracer les axes
  • Tracer le premier cercle centré sur l'origine
    • Parcourir sur 30° le premier cercle et placer un point
    • Orienter la tortue de 90° sur un axe centrifuge
    • S'éloigner du diamètre du cercle de la longueur du rayon
    • Orienter la tortue tangentiellement au prochain cercle
    • Tracer le cercle
    • Retourner au centre (home)
  • Pour les cercles suivants, ajouter 60° 
    • Parcourir sur 30° + 60° sur le premier cercle et placer un point
    • etc...

Suite à donner

Script

from turtle import *
# dessin des axes
home()
penup()
goto(-200,0)
pendown()
fd(400)
penup()
goto(0,-200)
pendown()
left(90)
fd(400)
penup()
home()

# cercle centree 0,0
goto(0,-50)
pendown()
pencolor("red")
circle(50)
penup()
home()

# 1er cercle bleu centree 50,0 
goto(0,-50)
circle(50,30)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

# 2eme cercle bleu centree 50,0 
goto(0,-50)
circle(50,30+60)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

# 3eme cercle bleu centree 50,0 
goto(0,-50)
circle(50,30+60+60)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

# 4eme cercle bleu centree 50,0 
goto(0,-50)
circle(50,30+60+60+60)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

# 5eme cercle bleu centree 50,0 
goto(0,-50)
circle(50,30+60+60+60+60)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

# 6eme cercle bleu centree 50,0 
goto(0,-50)
circle(50,30+60+60+60+60+60)
dot()
penup()
right(90)
forward(50)
right(-90)
pendown()
pencolor("blue")
circle(50)
penup()
home()

En plus court avec une boucle

from turtle import *
# dessin des axes
home()
penup()
goto(-200,0)
pendown()
fd(400)
penup()
goto(0,-200)
pendown()
left(90)
fd(400)
penup()
home()

# cercle centree 0,0
goto(0,-50)
pendown()
pencolor("red")
circle(50)
penup()
home()

for i in range (6):
    goto(0,-50)
    circle(50,30+i*60)
    dot()
    penup()
    right(90)
    forward(50)
    right(-90)
    pendown()
    pencolor("blue")
    circle(50)
    penup()
    home()

Aucun commentaire:

Enregistrer un commentaire

Tout commentaire nous engage ;)