~ / teaching / OpenGL / tps / 1-logo
© 2007—2009 - Renaud Blanch
Le but de ce Tp est de vous familiariser avec le modèle graphique d'OpenGL, en particulier les transformations géométriques.
Vous allez réalisez pendant ce Tp un petit interpréteur du langage graphique logo.
Il s'agit de donner des ordres sous forme textuelle à une tortue représentée à l'écran par un triangle : forward <n>
la fait avancer de n pixels ; right <a>
, tourner à droite de a degrés, etc.
Récupérez les sources du programme initial.
Exécutez ./interpreter.py
et ./logo.py
, lisez les différents fichiers pour vous familiariser avec le code.
Modifiez le programme pour que la couleur de fond soit le blanc, la couleur de dessin, le noir, et que la fenêtre soit nettoyée à chaque réaffichage (glClearColor, glColor, glClear
).
Modifiez le programme pour que le point de départ de la tortue soit toujours centré au milieu de l'écran, et pour que l'unité de ses déplacements soit toujours le pixel (glViewport, glOrtho, glTranslate
).
Réalisez les actions qui déplacent la tortue :
forward <d>
(backward <d>
) doit la faire avancer (reculer) de d
unités ;left <a>
(right <a>
) doit la faire tourner à gauche (droite) de a
degrés ;home
doit la ramener à l'origine.Réalisez les actions qui modifient l'état graphique de la tortue :
color <r> <g> <b>
doit la faire changer de couleur (valeur initiale : noir) ;pendown
(penup
) active (désactive) la trace au cours du déplacement (valeur initiale : baissé).
Si vous avez le temps, ajoutez une action scale
qui modifie l'échelle de la tortue, et donc celle de ses déplacements.
mise à jour : 1er octobre 2009