« INFO821 : Infographie » : différence entre les versions
(→TD1) |
|||
Ligne 5 : | Ligne 5 : | ||
==== Problème 1 ==== |
==== Problème 1 ==== |
||
* Comment dessiner une sphère ? Nous réfléchirons ensemble ... Remarque les sphères de la librairie GLU (un composant d'openGL), ont un axe |
* Comment dessiner une sphère ? Nous réfléchirons ensemble ... Remarque les sphères de la librairie GLU (un composant d'openGL), ont un axe de symétrie particulier bien visible. |
||
de symétrie particulier bien visible. |
|||
[ http://lama.univ-savoie.fr/~raffalli/INFO821/td1_sphere Le corrigé est ici ]. IL faut surtout regarder `̀`sphere.c`` et les fonctions qu'il utilise dans ``geometrie.c``. |
|||
Dans le fichier principal ̀ `td1_sphere.c`` il y a plein de choses pour l'instant obscure. Il faut juste regarder la fonction ``initGLScene()`` |
|||
==== Problème 2 ==== |
==== Problème 2 ==== |
Version du 10 janvier 2012 à 22:56
TPs et TDs
TD1
Problème 1
- Comment dessiner une sphère ? Nous réfléchirons ensemble ... Remarque les sphères de la librairie GLU (un composant d'openGL), ont un axe de symétrie particulier bien visible.
[ http://lama.univ-savoie.fr/~raffalli/INFO821/td1_sphere Le corrigé est ici ]. IL faut surtout regarder `̀`sphere.c`` et les fonctions qu'il utilise dans ``geometrie.c``. Dans le fichier principal ̀ `td1_sphere.c`` il y a plein de choses pour l'instant obscure. Il faut juste regarder la fonction ``initGLScene()``
Problème 2
- Dessiner un ruban de Moebius (une bande de papier recollée sur elle même en faisant un demi tour).
- Le relier à un disque avec des courbes de Bézier (la bande n'a qu'un bord).
- Faire une animation pour mieux montrer ce qui se passe.
- Eliminer les arrêtes trop petites.
Représentation des objets
Nombres
- Nombres entiers (pb de taille)
- Nombres flottants (plus précisément virgule flottante) (pb de précision) norme IEEE 754
- Nombres à virgule fixe : peu utilisés/disponibles, mais pratique si l'on connait l'ordre de grandeur des nombres. Revient à utiliser
des entiers avec une unité bien choisie.
Points
- Tableaux (ou liste)
- Coordonnées cartésiennes :
* dans le plan * dans l'espace * Généralisation dans
Distinction entre points et vecteurs (direction). Opération sur les vecteurs : addition, multiplication, produits (par un scalaire, scalaire et vectoriel, déterminant), norme.
- Coordonnées projectives :
Idée : ajouter les points à l'infini. Intérêt : simplifie beaucoup de choses (transformation affine, projection, classification des quadriques, ...). Inconvéniant : certaines choses n'ont plus de sens (addition des vecteurs, ...)
* dans le plan projectif si . De plus si , * dans l'espace projectif * Généralisation dans
Comparaison avec les coordonnées cartésiennes : est le point à l'infini dans la direction (x,y,z) ou (-x:-y:-z). Parfois utile de distinguer de . représente le point si . Donc le point de coordonnées cartésiennes à les coordonnées projectives pour tout .
- On essaye de ne calculer qu'une fois les coordonnées de chaque point, pour éviter les erreurs d'arrondis (deux fois le même point avec des
coordonnées légèrement différente).
Courbes
- Courbe affine par morceaux : liste ou tableaux de points. Utilisation d'une indirection.
- Courbe paramétrée (droite, cercle).
- Discrétisation à vitesse constante :
- Discrétisation utilisant la courbure :
- Courbe de Bézier.
Surfaces
- Liste de triangles
- Liste de Quadrilatères et polygones (attention plan) (fin du cours du 11 janvier)
- Représentation avancée par demi-arrêtes
- Surfaces paramétrées
- Surfaces implicites
Triangulation de surfaces implicites Algorithme du marching-cube
- Idée générale
- Découpage du cube en tétrahèdre
- Algorithme
Traitement des triangulations
- Permutation des arrêtes
- Changement de résolution
Triangulation de nuages de points
Utilisation d'OpenGl
Bases mathématiques (vues au fur et à mesure)
Coordonnées cartésiennes dans le plan et l'espace
- dans le plan
- dans l'espace
- Généralisation dans
Distinction en point et vecteur (direction).
Problèmes de représentation en machine : virgule flottante, virgule fixe, entier ... Tableau ou enregistrement (record).
Opérations sur les vecteurs : sommes, multiplication par un scalaire, produit scalaire et produit vectoriel.
Coordonnées projectives dans le plan et l'espace
Idée : ajouté les points à l'infini. Intérêt : simplifie beaucoup de choses (transformation affine, projection, classification des quadriques, ...)
- dans le plan projectif si . De plus si ,
- dans l'espace projectif
- Généralisation dans
Comparaison avec les coordonnées cartésiennes : est le point à l'infini dans la direction (x,y,z) ou (-x:-y:-z). Parfois utile de distinguer de . représente le point si . Donc le point de coordonnées cartésiennes à les coordonnées projectives pour tout .
Opération sur les vecteurs : attention à la somme !
Équation d'un plan et d'une droite
Donnée d'une droite du plan par un point et une direction . est alors une direction orthgonale (on dit normale à la droite). Équation implicite en cartésien : . C'est à dire: . En projectif: (l'équation est homogène).
Donnée d'un plan de l'espace par un point et une direction normale . Équation implicite en cartésien : . C'est à dire: . En projectif: (l'équation est homogène).
Donnée d'une droite de l'espace par un point et une direction . ...