TD
Mini-langage
pour
la modélisation
Fichiers
VRML
OpenGL,
fonctions basiques pour la modélisation
Auxiliary library d'OpenGL
Programmation au moyen de fonctions C
Animations
WWWInline,
USE et DEF de VRML
Caméras,
implantation en VRML et en OpenGL
Lumières
et matériaux
Modèles
d'ombrage
Courbes
et surfaces lissées
TP
Mise
en route en VRML et en OpenGL
Lumières
en OpenGL
Utilisation des primitives graphiques
Clipping
RETOUR
Dernière modification
16/11/09 07:03:33 |
|
Travaux dirigés
On se donne le mini-langage de
description de scènes composé des instructions suivantes:
C pour le dessin d'un cube de coté
1, centré sur l'origine,
S pour le dessin d'une sphère de
rayon 1, centré sur l'origine,
Cy pour le dessin d'un cylindre
d'axe y, de hauteur 1, de rayon 1, centré sur l'origine,
Co pour le dessin d'un cône d'axe
y, de hauteur 1, de rayon 1, centré sur l'origine,
T(x,y,z) pour réaliser une
translation de vecteur (x,y,z),
R(a,x,y,z) pour réaliser une
rotation d'angle a autour de l'axe de vecteur directeur (x,y,z) passant par l'origine,
Z(rx,ry,rz) pour réaliser un zoom
de rapports rx, ry et rz selon les axes x, y et z.
Programmer les scènes suivantes:
Scène (1): Quatre cubes de coté
1.0 aux positions (1.5,0.0,1.5), (1.5,0.0,-1.5), (-1.5,0.0,1.5), (-1.5,0.0,-1.5).
Solution
Scène (2): Même scène que
précédemment, mais le cube de position (1.5,0.0,1.5) subit une rotation de 45° autour
de l'axe y passant par son centre.
Solution
Scène (3): Même scène que
précédemment, mais le cube de position (-1.5,0.0,1.5) possède une dimension en z égale
à 2.
Solution
Scène (4): Même scène que
précédemment, mais le cube de position (-1.5,0.0,-1.5) subit une rotation de 40° autour
de l'axe y passant par son centre et une dimension en z égale à 2.
Solution
Scène (5): Même scène que la
scène (3), mais le cube de position (-1.5,0.0,-1.5) subit une rotation de 30° autour de
l'axe y passant par le centre de sa base de z maximum.
Solution
On se donne les instructions
mini-langage supplémentaires suivantes:
Réécrire la scène (5) en exploitant
ces deux nouvelles instructions et en rendant les objets indépendants les uns des autres.
Solution
Programmer la scène (6) suivante:
Un bras robot composé d'un
avant-bras, d'un bras, et d'une paire de pinces. L'avant-bras est articulé pour tourner
autour de l'axe y d'un angle r1. Il s'agit d'un parallélépipède rectangle de dimension
(3,1,1) (rouge). Le bras est articulé autour de l'axe y au bout de l'avant bras pour un
angle r2. Il s'agit d'un parallélépipède rectangle de dimension (3,0.8,0.8) (vert). La
pince est située au bout du bras. Elle peut tourner autour de l'axe du bras pour un angle
r3. Le montant de la paire de pinces est un parallélépipède rectangle de dimension
(0.6,1.2,1.8) (bleu). Chacune des mâchoires est un parallélépipède rectangle de
dimension (1.0,1.2,0.4) (jaune) à même de se déplacer longitudinalement d'une valeur d
pour réaliser une ouverture totale de 2xd.
Solution
Solutions OpenGL
Reprendre les scènes du TD
précédent et les programmer en VRML.
Solutions
Reprendre les scènes du TD
précédent et les programmer en VRML.
On s'efforcera d'écrire des fonctions
C destinées à être utilisées au sein de fonctions display.
Définir un type coordonnées en 3D.
Définir un type polygone dans R3.
Spécifier et écrire une fonction C
permettant le calcul de n points modélisant la courbe de Bézier générée à partir
d'un polygone de R3.
Solution
On se donne les 5 points de contrôle
(3,2,-1), (-4,5,-4), (-5,4,3), (-1,-3,-2) et (4,-1,0). Ecrire une fonction display
assurant la génération et le dessin de 100 points modélisant la courbe de Bézier
associée à ces cinq points.
Solution
On souhaite modéliser un
"cercle" du plan xOz au moyen de morceaux de courbes de Bézier. Décrire une
méthode permettant de générer ce cercle. Programmer cette méthode.
Solution
On souhaite modéliser un
"tuyau" de l'espace (section circulaire) au moyen de morceaux de surfaces de
Bézier. Décrire une méthode permettant de générer ce cylindre. Programmer cette
méthode.
Solution
On souhaite modéliser un
"vase" de l'espace au moyen de morceaux de surfaces de Bézier. Décrire une
méthode permettant de générer ce vase. Programmer cette méthode.
Solution
Utiliser les NURBS de GLU pour
programmer la génération d'une surface NURBS modélisant de la tôle ondulée.
Travaux
pratiques
Le but du TP est de programmer deux
fonctions de dessin de cylindre et de dessin de cône. Ces deux fonctions devront
autoriser les paramétrages suivants:
De manière à supporter la gestion
d'un éclairage, ces fonctions devront gérer, outre la position des sommets de
facettisation, la création de normales extérieures au niveau de ces sommets.
Solution
Le but du TP est de programmer une
fonction de clipping permettant de restreindre le tracé d'un segment à une portion
parallélipipédique de l'espace par généralisation de l'algorithme de
Cohen-Sutherland de R2 vers R3.
Solution
|