étoile de David turtle python
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

étoile de David turtle python



  1. #1
    loxis

    étoile de David turtle python


    ------

    Nom : Etoile de David .png
Affichages : 2506
Taille : 19,5 Ko

    Bonjour, est-ce-que quelqu'un pourrait m'aider à réaliser un programme pour dessiner l'étoile de David avec Turtle en python avec comme longueur 100 pixels pour les deux triangles mais pas de manière à la chaîne ( forward()-right()-forward()-right() ) mais de manière automatisé ( en créant une variable avec la longueur prédéfinie etc...
    Merci de me répondre sous cette discussion

    -----

  2. #2
    Dicedead

    Re : étoile de David turtle python

    Eyyo
    Tu pourrais commencer par définir une fonction equilateral_triangle qui a comme paramètres une longueur et une Turtle. Il suffira d'y faire une boucle faisant faire 3 fois la séquence suivante: avancer de 'longueur' en traçant un trait, tourner vers la droite de 120 degrés. Ce qui est pratique avec cette implémentation: on connait l'orientation finale de la tortue, qui est identique à l'orientation initiale.
    Définis ensuite les inputs: length pour la longueur, sommet_x et sommet_y pour les coordonnées du sommet, et tu peux également rajouter la couleur si tu en as envie (ou est-ce que l'étoile est forcément bleue? je ne sais plus )
    Et tu es fin prêt à dessiner l'étoile. Il suffira de placer la tortue aux coordonnées voulues - une méthode doit exister pour ça, mais je n'ai presque jamais utilisé turtle; essaie peut être goTo ou setTo -, de la tourner vers sa droite jusqu'à ce qu'elle fasse un angle de 60 degrés vers le bas avec l'horizontale, puis d'appeler equilateral_triangle(length, turtle). Pour la mettre à la bonne position pour tracer le second triangle: d'abord tourner la tortue de 30 degrés vers le haut / sa gauche cette fois (elle fait donc un angle de 30 degrés vers le bas avec l'horizontale) puis, sans tracer le trait, la faire avancer de .
    Tu peux enfin la tourner de 90 degrés vers sa droite et tracer un equilateral_triangle(length, turtle), et le tour sera joué.

    Je t'invite à justifier les angles et la longueur (1/sqrt(3))*length employés, sachant que les deux triangles équilatéraux de l'étoile de David forment deux hexagones réguliers, l'un inscrit et l'autre circonscrit; aussi, je rappelle que length est la longueur de côté des 2 grands triangles équilatéraux (ie pas celle des 6 plus petits). Ce ne sont que des applications directes de Pythagore + formules de sommes des angles dans un triangle (équilatéral qui plus est) et un hexagone régulier.

    En espérant que ce message t'est utile!

  3. #3
    polo974

    Re : étoile de David turtle python

    pas besoin d'utiliser la racine de 3.

    il suffit d'avancer d'un tiers de la longueur du segment pour rencontre l'autre...

    (puis tourner et avancer d'un tiers pour retrouver un sommet.)
    Jusqu'ici tout va bien...

  4. #4
    loxis

    Re : étoile de David turtle python

    Merci pour vos réponses je vais étudier cela

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Python turtle : bille de billard
    Par prunebanane dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 22/05/2018, 08h29
  2. Besoin d'aide PYTHON / TURTLE
    Par Speakerss dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 15/11/2017, 16h01
  3. Python, turtle et onclick
    Par Mayl dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 24/12/2011, 11h51