Introduction à l'Informatique Graphique
Transformations géométriques

Le but de ce TD est de se familiariser avec les transformations géométriques proposées par OpenGL : rotations, translations et changements d'échelle. Pour cela, vous allez écrire de manière itérative un programme permettant d'afficher une mosaïque complexe à partir d'un motif très simple.

Rappel : la documentation des fonctions OpenGL est toujours accessible ici.

Récupérez les fichiers suivants : Makefile et transform.cc

Commencez par créer une nouvelle fonction permettant d'afficher le motif de la figure ci-dessous. Ce motif se compose de trois segments de ligne de longueur 1 unité, séparés deux à deux de 120°. Vous placerez l'origine du repère au pied du motif.

Remarque : pour pouvoir voir le motif, votre nouvelle fonction doit être appelée par la fonction display...

Créez une seconde fonction permettant de dessiner une étoile similaire à celle de la figure ci-dessous en appelant la fonction de l'étape 1.

Remarque : à ce stade, en plus des transformations géométriques, les fonctions glPushMatrix et glPopMatrix peuvent être utiles...

Modifiez la fonction display pour afficher la figure ci-dessous à partir de votre fonction de l'étape 2.

Modifiez encore la fonction display pour afficher la figure ci-dessous :

A l'aide des commandes glEnable (cap = GL_LINE_SMOOTH), glHint (target = GL_LINE_SMOOTH_HINT) et glBlendFunc, activez le lissage par transparence des lignes tracées.

Enfin, ajoutez un mode animation, similaire à celui de l'exercice 1 :

Refaites le même programme sans utiliser les transformations géométriques d'OpenGL...