Dessiner avec des variables — le motif du cœur
Dessiner avec des variables — le motif du cœur
Objectifs cantonaux : O1.6.
Cours complet sur la plateforme Runestone de Cédric Donner : Dessiner avec des variables.
Suite de la séance précédente : un exemple plus complet qui combine variables, boucle, fonction à paramètres et remplissage de forme.
from gturtle import *
def demi_coeur(taille, sens):
angle = 30
startPath()
for _ in range(16):
forward(taille)
left(angle * sens)
angle -= 2
fillPath()
def coeur(taille, couleur):
setFillColor(couleur)
setPenColor(couleur)
demi_coeur(taille, 1)
setPos(0, 0)
setHeading(0)
demi_coeur(taille, -1)
setPos(0, 0)
hideTurtle()
coeur(10, "pink")angleest une variable locale àdemi_coeur, qui diminue de 2° à chaque tour de boucle (angle -= 2) — c’est ce qui donne sa courbe au cœur, exactement commecote += 10faisait grandir la spirale.- Le paramètre
sens(1 ou -1) permet de réutiliser la même fonctiondemi_coeurpour dessiner les deux moitiés du cœur, symétriques l’une de l’autre. coeur(taille, couleur)orchestre les deux appels àdemi_coeur: encore un exemple de conception modulaire (S12) appliqué avec des variables.
▷ Créer ses propres couleurs
La commande makeColor(rouge, vert, bleu) fabrique une couleur personnalisée à partir de trois valeurs comprises entre 0 et 255 (voir le chapitre sur la représentation de l’information pour le détail de ce codage) :
couleur = makeColor(122, 10, 50)
setPenColor(couleur)Bilan rapide du projet carte de vœux
Le TP « carte de vœux » (S12-S13) est maintenant terminé. Les notions vues depuis (variables, incrémentation) montrent qu’il existe encore d’autres manières d’enrichir ce type de projet — dégradés de couleur, tailles progressives, etc. — pour celles et ceux qui souhaitent continuer à l’améliorer à titre personnel.