Vidéo 12 : Turtle : exercice basique

\(\newcommand{\ds}{\displaystyle}\) \(\newcommand{\Frac}{\ds\frac}\) \(\renewcommand{\r}{\mathbb{ R}}\) \(\newcommand{\C}{\mathbb{ C}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\z}{\mathbb{ Z}}\) \(\newcommand{\Q}{\mathbb{ Q}}\) \(\newcommand{\N}{\mathbb{ N}}\) \(\newcommand{\n}{\mathbb{ N}}\) \(\newcommand{\ol}{\overline}\) \(\newcommand{\abs}[1]{\left| \,{#1} \right|}\) \(\newcommand{\pv}{\;;\;}\) \(\newcommand{\ens}[1]{\left\{ {#1} \right\}}\) \(\newcommand{\mens}[1]{\setminus\left\{ {#1} \right\}}\) \(\newcommand{\Par}[1]{\left({#1}\right)}\)

Vidéo 12 : Turtle : exercice basique

Turtle : enveloppes

Dans cet exercice, on s’efforcera d’utiliser des variables représentant les dimensions utiles au dessin.

  1. Dessiner une enveloppe vue de dos (avec le rabat) :

    ../../../_images/enveloppe-rabat.png
  2. Dessiner une enveloppe timbrée :

    ../../../_images/enveloppe-timbre.png

Solution

  1. On imagine l’enveloppe comme un rectangle. Le rabat est représenté par les deux demi-diagonales supérieures du rectangle. On utilise des variables définissant les dimensions de l’enveloppe et on définit des points représentant les coins. Le coordonnées sont utilisées de la manière suivante :
../../../_images/enveloppes-coordonnees.png

Il ne reste plus qu’à tracer une ligne continue :

from turtle import *

# longueur de l'enveloppe
L = 200
# hauteur de l'enveloppe
H = 100

# les quatre coins
O= (0, 0)
A= (0, -H)
B= (L, -H)
C= (L, 0)

# Le centre de l'enveloppe
M=(L/2, -H/2)

hideturtle()

# le rabat
goto(M)
goto(C)
goto(O)

# les bords
goto(A)
goto(B)
goto(C)

exitonclick()

L’usage de up() ou down() ici n’est pas nécessaire.

  1. On trace l’enveloppe sous forme de rectangle de dimensions L et H et dans le coin en haut à droite, le timbre sous forme de carré de côté c et à une distance sep de chacun des bords. Pour faciliter la saisie, on appellera (tx, ty) les coordonnées du coin supérieur droit du timbre. LKe repère est placé comme au dessin précédent. Le dessin suivant peut aider :
../../../_images/timbre_mesures.png

D’où le code suivant :

from turtle import *

# longueur de l'enveloppe
L = 200
# hauteur de l'enveloppe
H = 120

# les quatre coins
O= (0, 0)
A= (0, -H)
B= (L, -H)
C= (L, 0)

hideturtle()

# les bords
goto(A)
goto(B)
goto(C)
goto(O)
up()

c=25
sep=8

tx= L-sep
ty= -sep

goto(tx, ty)
down()
goto(tx -c, ty)
goto(tx -c, ty-c)
goto(tx, ty-c)
goto(tx, ty)

exitonclick()
  • Lignes 17-20 : tracé de l’enveloppe
  • Lignes 29-34 : tracé du timbre
  • Lignes 21 et 30 : comme les tracés sont disjoints, il faut utiliser la fonction up().