Dessin Turtle python
Anicet
-
Ann -
Ann -
Bonjour, je dois faire une sorte de 'collier' avec des sortes de 'perles' en Turtle python.
J'ai déjà créé toutes les perles et je dois maintenant les mettre sur le fil (ici juste un arc de cercle) et je galère a faire cette étape. Pouvez vous m'aider ?
Voici le code de toutes les perles :
J'ai déjà créé toutes les perles et je dois maintenant les mettre sur le fil (ici juste un arc de cercle) et je galère a faire cette étape. Pouvez vous m'aider ?
Voici le code de toutes les perles :
from turtle import *
def perleA(n, couleur):
import math
reset()
fillcolor(couleur)
width(1)
circle(n,360)
up()
left(90)
forward(n/2)
up()
left(45)
down()
color(couleur)
begin_fill()
for i in range(4):
forward(math.sqrt(2*((n/2)**2)))
right(90)
end_fill()
def perleB(m, couleur):
import math
reset()
fillcolor(couleur)
width(1)
circle(m,360)
up()
left(90)
forward(m/(3.3/4))
down()
left(150)
color(couleur)
begin_fill()
forward(math.sqrt(((m*1.3/4)**2)+(m*1/6)**2))
left(30)
circle(m*(1/6),180)
left(30)
forward(math.sqrt(((m*1.3/4)**2)+(m*1/6)**2))
ht()
end_fill()
def perleC(rayon, n, couleur):
reset()
width(1)
for i in range(n):
if i%2 == 0:
color('black')
else:
fillcolor(couleur)
begin_fill()
circle(rayon*i, 360)
up()
right(90)
forward(rayon)
left(90)
down()
end_fill()
def perleD(rayon, couleur1, couleur2):
reset()
speed(10)
#tracé du cercle (contour de la perle)
circle(rayon, 360)
up()
left(90)
forward(rayon)
left(90)
down()
#partie de couleur couleur1 du logo "python"
width(2)
color('black')
fillcolor(couleur1)
begin_fill()
forward(rayon/8)
circle(rayon/8, 90)
forward(rayon/8)
right(90)
forward(rayon/8)
right(240)
circle(rayon/2, -60)
left(120)
forward(rayon*3/8)
backward(rayon/4)
left(90)
forward(rayon/8)
right(240)
circle(rayon/2, -60)
left(120)
forward(rayon/4)
right(180)
circle(rayon/8, -90)
right(180)
forward(rayon/8)
end_fill()
up()
forward(rayon/8)
circle(rayon/8, 90)
forward(rayon/8)
down()
#tracé de la partie de couleur couleur2 du logo "python"
color('255,222,217')
fillcolor(couleur2)
begin_fill()
forward(rayon/8)
left(60)
circle(rayon/2, 60)
left(60)
forward(rayon/8)
left(90)
forward(rayon/4)
backward(rayon*3/8)
right(120)
circle(rayon/2, 60)
left(60)
forward(rayon/8)
left(90)
forward(rayon/8)
right(180)
circle(rayon/8, -90)
right(180)
forward(rayon/4)
circle(rayon/8, 90)
left(180)
end_fill()
up()
#cercle blanc dans la partie de couleur couleur1
forward(rayon*7/16)
right(90)
forward(rayon/8)
fillcolor('white')
begin_fill()
circle(rayon/32, 360)
end_fill()
up()
#cercle blanc dans la partie de couleur couleur2
right(90)
forward(rayon/2+rayon/8+rayon/16)
left(90)
forward(rayon/2-rayon/4)
down()
color('white')
fillcolor('white')
begin_fill()
circle(rayon/32, 360)
end_fill()
ht()
7 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
comment penses-tu faire cela? -
-
effectivement et je n'arrive pas a mettre la couleur dans les cercles alterné (comme une sorte de cible).
Sinon oui le reste est correct
Merci -
Je viens de résoudre le problème des couleurs sir la perle C. Il me reste plus qu'a mettre les perles sur le collier. (et il faut en plus choisir un nombre aléatoire de perles qui vont être posés sur le collier)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Voici mon code pour la perleC :
def perleC(rayon, n, couleur): reset() width(1) for i in range(1,(n+1)): if i%2 == 0: color('black') fillcolor('white') begin_fill() else: fillcolor(couleur) begin_fill() circle(rayon-(rayon/n*i), 360) up() right(90) backward(rayon/n) left(90) down() end_fill() -
-
le code de mon collier (sans les perles dessus) :
def collier(): reset() circle(200, -60) left(90) circle(10, 360) right(90) circle(200 ,60) circle(200, 60) right(90) circle(10, 360) left(90)