PLAN :
3. Finalisation
* Liens
Dans le cadre de notre Licence
d' Informatique à Orsay, et plus précisément dans le module d' Informatique
Graphique, nous
avons eu un projet à réaliser. Il nous était proposé 5 sujets, que vous
pourrez voir plus profondément sur la page de notre enseignant
en IG, Mr
Jacquemin.
Pour notre part, nous avons choisi de traiter le problème de
l' avatar d' un insecte, car énormément de monde avait pris le
même sujet, à savoir la conception d' un petit Quake-like.
De plus, ce sujet à une application concrète dans la robotique, et semblait
donc intéressant à ce point de vue.
Notre binôme était composé de Tristan Pastier, et de Mickael Guerin.
Les consignes du projet, étaient de travailler principalement
sur un des points d' études de chaque sujet.
Pour l' avatar d' insecte, nous avions le choix entre le réalisme des
mouvements, le réalisme du modèle, plus des améliorations comme
la marche sur terrain accidenté, ou d' autre.
Nous avons quant à nous essayer de traiter non pas un des points de manières poussée,
mais plutôt d' avoir un insecte à la fois avec une
démarche cohérente, mais aussi une certaine esthétique.
En effet, cela nous permettait ainsi d' utiliser beaucoup des notions vues en
cours, et non de se cantonner à un des points du programme.
Ainsi, nous avons eu à traiter les courbes et surfaces de Béziers, les
éclairages, les rotations et translation de la caméra...
Le projet a été développé en C, en utilisant les
librairies OpenGL, Glu et Glut, afin d' assurer une portabilité totale entre
toutes les
plate-formes du marché de l' informatique.
Vous trouverez dans la section Liens, un ensemble de sites
proposant des cours ou tutoriels OpenGL, ainsi que les spécifications des
diverse
librairies.
Mais revenons en détails sur chacune des phases de la réalisation de notre
projet.
Malgré ce qu' on pourrait
penser, faire marcher un insecte en ligne droite est loin d' être chose facile.
En effet, notre insecte possède 6 pattes, chacune étant articulées à 2
endroits, que nous appellerons coude et épaule.
Si le coude n' a qu' un axe de rotation, l' épaule en a 2, en permettant de
lever les pattes, ou de les avancer.
Or, lors d' un mouvement, les pattes d' appuis doivent garder
le même point d' impact avec le sol, ce qui implique une
différence de longueur de patte, opérée grâce au coude.
Malheureusement, le coude bougeant , le point d' appui de la patte ne se retrouve
plus à la même hauteur, d' où
une montée/descente de l' insecte.
Tout ce travail de démarche a été effectué avec un modèle
très grossier d' un insecte, mais qui nous permettait de bien
observé les déplacements.
Vous trouverez ci-dessous le modèle qui a servi à la conception de la
démarche.
La
seconde étape de notre projet était de créer le corps de l' insecte que nous
avions choisi de réaliser, à savoir une fourmi.
Pour se faire, nous avons "découpé" la fourmi en 3 morceaux, à
savoir la tête, le corps et l' abdomen.
Ces trois parties ont été réalisées à l' aide de surfaces de Béziers à 5
points de contrôles.
Pour information la tête à demander à elle seule 4 surfaces de Béziers.
Ensuite, nous avons combiné ces 3 éléments avec le
squelette de la fourmi que nous avions conçus à l' étape précédente.
Nous avons ainsi obtenu notre réelle première fourmi animée.
Ci-dessous, l' abdomen de la fourmi réalisé avec 2 courbes de Béziers.
Nous avons ensuite
procéder à toutes les étapes de finalisation de notre projet.
Dans un premier temps, nous avons fini le modèle de notre fourmi, en ajoutant
des yeux, des antennes, et des rotules (sphères)
à chaque articulation afin de ne pas voir les deux cylindres constituant une
patte, mais de les voir joint.
Nous avons ensuite ajouter une lumière sur notre fourmi, que nous avons coloré
à la manière d' une fourmi rousse.
Ensuite, nous avons créé un sol basique vert, et mis la couleur de fond de la
fenêtre en bleu-ciel.
Finalement, nous avons implémenté tous les effets de
translation et rotations de la scène grâce à la souris et au clavier, pour au
final, obtenir une manière très intuitive de voir la fourmi évoluer dans son
monde.
Voici le résultat final :
Ce projet était
fort intéressant car il nous a permis d' appliquer la plupart des notions
OpenGL que nous avons étudiées cette année.
De plus, nous avons une nouvelle fois constaté que des sujets qui paraissent au
premier abord être simples à traiter se révèlent en réalité
beaucoup plus complexes. Ainsi le mouvement d' un insecte s' avère être une
chose ardue à reproduire par l' informatique et des outils
géométriques .
Les améliorations que nous pourrions apportés à cet avatar
serait d' avoir des antennes et un abdomen qui se "balancent" en
suivant le
mouvement général de la fourmi.
De plus il faudrait permettre à l' insecte de pouvoir
tourner, ce que nous n' avons jamais réussi à faire, tant cela est chose
complexe si nous
voulons avoir une démarche exacte et les que les points d' appuis de l' insecte
restent exactement au même endroit durant la phase de poussée.
Enfin, il faudrait le plonger dans un monde virtuel à son échelle,
avec de l' herbe, des bouts de bois, des cailloux....
* OPENGL & GLUT
- cours OpenGL : http://www.limsi.fr/Individu/jacquemi/IG-TD/ig-presentation.html
- tutoriels openGL : http://nehe.gamedev.net
- OpenGL Spec. : http://www.opengl.org/developers/documentation/Specs/glspec1.1/glspec.html
- OpenGL Man Pages : http://pyopengl.sourceforge.net/documentation/manual/reference-GL.html
- Glu Man Pages : http://pyopengl.sourceforge.net/documentation/manual/reference-GLU.html
- Glut API : http://www.opengl.org/developers/documentation/glut/spec3/spec3.html
- Glut Man Pages : http://pyopengl.sourceforge.net/documentation/manual/reference-GLUT.html
* AVATAR INSECTES
- Démarches insectes : http://www.tarry.de , rubrique Animationen
* NOTRE PROJET
- Télécharger sources : fourmi
- Nous contacter :