Cours de synthèse d'images, animation, et sons

Table des matières
Cours

La semaine dernière nous avons pris en main GL4Dummies, et généré nos premières applications graphiques. (Je rédigerai un petit résumé très bientôt, promis !). Cette semaine vous allez commencer par télécharger cette archive et faire tourner ce code chez vous. Une fois que vous avez lu le code, compris ce qu'il faisait, nous allons pouvoir le modifier pour générer d'autres forme.

Exercice

Modifiez les programmes de façon à obtenir l'affichage de deux carrés de 150×150 : l'un, blanc, centré en (150, 150) ; l'autre, rouge, centré en (450, 450) avec un angle de 30 °.

Pour vous aider, un petit rappel sur les transformations géométriques, l'image de la la translation de vecteur t(tx, ty) d'un point de coordonnées P(x, y), a poour coordonnées P'(x+tx, y+ty).

De même le point P, aura pour image par la rotation d'angle a : P'(x * c - y * s, x * s + y * c) avec s = sin (a), c = cos (a) Voilà à quoi devrait ressembler le résultat :

dommage

Exercice

Nous avons pu constater qu'effectuer, nous même les transformations géométriques n'étaient pas des plus simples (sachant que là, les primitives géométriques sont basiques et les transformations aussi). J'ai modifié le code pour arriver au même résultat mais en utilisant les coordonnées du cube de côté 2 et centré en (0, 0) qu'on a transformé à l'aide des opérations sur les matrices fournies par GL4D. Observez le code fourni : tp2.5

Exercice

Polygone régulier à n côtés.

Désormais, nous souhaitons modéliser un polygone régulier à n côtés, de rayon r et centré en (0, 0). Codez la fonction polygone (n, r) qui générera le VAO permettant de dessiner un polygone régulier à n sommets et de rayon r. Dessinez un héxagone de rayon 200 en (300, 300).

dommage

Étoiles à n branches

Nous souhaitons maintenant modéliser une étoile à n branches, de rayon intérieur r1 et de rayon extérieur r2. Cette fonctionnalité nous permettra ensuite de composer une scène représentant trois étoiles à cinq branches :

Codez la fnction étoile ( n, r1, r2) qui générera le VAO, puis grâce à trois appels affichez les 3 étoiles aux dimensions et positions désirées. Voilà à quoi ce que vous devriez obtenir :

dommage