🏠 Turtle Python - Dessiner une Maison

📝 Exercice : Dessiner une maison

Utilisez le module turtle de Python pour dessiner la maison suivante :

Consigne : Créez un programme Python qui reproduit exactement cette maison avec les dimensions données.
210 210 60° 60° 60° 100 100 70 70 70 210 70 70
📏 Dimensions à respecter :
• Côtés du toit : 210 pixels (×3 - triangle équilatéral)
• Murs verticaux : 100 pixels (×2)
• Base divisée en 3 parties : 70 + 70 + 70 = 210 pixels
• Porte : 70×70 pixels
• Angles du triangle : 60° (×3)

Objectif : Reproduire cette maison avec le toit en triangle équilatéral et la porte rectangulaire au centre.

✅ Solution expliquée

⚠️ Code corrigé : La version précédente avait des erreurs dans les rotations et le positionnement. Voici la version corrigée qui dessine correctement la maison sans la porte.

Cette maison se compose de plusieurs parties géométriques :

  • Le toit : Un triangle Ă©quilatĂ©ral avec 3 cĂ´tĂ©s de 210 pixels et 3 angles de 60°
  • Les murs : Deux segments verticaux de 100 pixels
  • La base : DivisĂ©e en 3 parties de 70 pixels (l'espace central correspond Ă  la largeur de la porte)

🎯 Stratégie de dessin :

  1. Triangle du toit : Commencer orienté vers la droite, tourner à 60° vers le haut, puis dessiner les 3 côtés avec des rotations de 120°
  2. Mur gauche : Après la base du triangle, tourner à gauche de 90° pour descendre de 100 pixels
  3. Base : Tracer 3 segments de 70 pixels en tournant Ă  chaque fois
  4. Mur droit : Remonter de 100 pixels
  5. Porte : À ajouter séparément (non incluse dans ce code simplifié)

🔑 Points mathématiques :

  • Triangle Ă©quilatĂ©ral : tous les cĂ´tĂ©s sont Ă©gaux (210) et tous les angles internes sont de 60°
  • Pour tourner au sommet : on tourne de 120° (180° - 60° = 120°)
  • La base mesure 210 pixels, divisĂ©e en 3 parties Ă©gales de 70
  • La porte (70 pixels) est centrĂ©e : elle occupe la partie centrale de la base

đź’» Code Python

from turtle import * # Configuration speed(3) pensize(3) color("black") # Dessiner le toit (triangle équilatéral) left(60) # Orienter vers le haut-droite forward(210) # Côté gauche du toit right(120) # Tourner au sommet forward(210) # Côté droit du toit right(120) # Tourner au coin droit forward(210) # Base du triangle # Dessiner le mur gauche left(90) # Orienter vers le bas forward(100) # Mur gauche # Dessiner la base (en 3 parties) left(90) # Orienter vers la droite forward(70) # Partie gauche (70 pixels) left(90) # Orienter vers le haut forward(70) # Montée pour la porte right(90) # Orienter vers la droite forward(70) # Partie centrale (porte) right(90) # Orienter vers le bas forward(70) # Descente après la porte left(90) # Orienter vers la droite forward(70) # Partie droite (70 pixels) # Dessiner le mur droit left(90) # Orienter vers le haut forward(100) # Mur droit hideturtle() done()

🎯 Résultat : Ce code dessine une maison avec un toit triangulaire équilatéral, des murs verticaux de 100 pixels, et la base divisée en 3 parties de 70 pixels (l'espace central correspond à la porte).

📝 Explication détaillée des rotations :
  • left(60) : Orienter la tortue Ă  60° pour commencer le triangle
  • right(120) : Tourner au sommet du triangle (angle externe = 180° - 60° = 120°)
  • right(120) : Tourner au deuxième sommet
  • left(90) : Se rĂ©orienter vers le bas pour dessiner le mur gauche
  • Les sĂ©quences left(90) et right(90) permettent de tourner Ă  angle droit pour tracer les murs et la base
Note importante : Ce code dessine le contour de la maison mais pas la porte. Pour ajouter la porte, il faudrait utiliser penup() et pendown() pour se positionner au bon endroit, puis tracer un rectangle de 70Ă—70 pixels.