Dessin Turtle python

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 :

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

  1. 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)
    
    1. 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()
      
      1. et du coup pour le collier t'as fait comment ?
    2. 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)
      1. Qu'as tu fait pour résoudre le problème de ta perle C ?
      2. Comment tu a fait stp
      3. @AnnJuste le collier ou le collier avec les perles dessus ?
    3. 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
      1. Salut ta perle C a un petit problème et as tu finis pour le reste?
        1. Contributeur
          bonjour,
          comment penses-tu faire cela?
          1. Peut être faire l'arc de cercle pour le collier et appeler les autres fonctions pour poser les perles dessus
          2. @yg_bepour l'instant je n'ai programmé que les 'perles'
          3. Contributeur
            @Anicetc'est le moment de programmer le reste.
          4. @yg_beJ'ai fais ça pour le fil du collier (le debut):
            def collier(nb_perles, couleur):
                reset()
                circle(150, -60)
                left(90)
                circle(10, 360)
                right(90)
                circle(300 ,60)
                right(90)
                circle(10, 360)