Chaîne infographique Dans le monde réel Les objets Occupent une position, un volume Ont un comportement (mouvement,....) Interagissent avec l'environnement (réflexions, chocs,....) Perceptions par un capteur l'oeil (perception subjective et interprétation) autres capteurs (mesure physique) Le but de l'infographie Créer des mondes destinés à être vue Capteur final identique Introduction de l'ordinateur avant ce capteur
Chaîne infographique Deux étapes principales Modélisation (création du monde) Rendu (affichage du monde) Des retours possibles Modifier l'image pour améliorer le rendu Modifier la scène en fonction du rendu souhaité .... Modélisatio n Réel RenduImage Fichier Scène ex. VRML,... Fichier Image ex. BMP, JPG,...
Modélisation Occupation de l'espace Principalement la géométrie Positionnement dans l'espace Position relative entre les objets Interactions avec les autres objets Propriétés visuelles Tout ce qui définira la couleur finale Liées à l'objet : matériaux, réflexions, etc... Extérieures à l'objet : lumière, etc... Propriétés géométriques des modèles Est-ce que cet objet a une intersection non vide avec un autre objet ? Quelles sont les points du bord de l’objet ? Quelle est la géométrie locale sur un point de l’objet (normale, courbure) ? Quel est le volume, l’aire de l’objet ? Comment cet objet est-il situé par rapport à un autre objet ?
Les Modèles Géométriques 3D Modélisation de solides Représentations « bord » (B-Rep) : surfaces à base de facettes polygonales Constructive Solid Geometry : combinaison de primitives ( sphères, cylindres, cubes, coniques) par des opérateurs Surfaces limites (subdivisions) Représentations paramétriques Courbes et Surfaces (Bézier, B-Splines, Nurbs) Modèles et surfaces implicites Placement dans l’espace Transformations géométriques : translations, rotations, homothéties, etc
B-rep et Surfaces Le solide est géométriquement représenté par son bord (B-rep). Le bord d’un solide dans l’espace est une surface. Suffit pour modéliser la géométrie de l’objet A priori plus économique que de modéliser le solide tout entier Définitions usuelles Une surface est un ensemble similaire localement à un plan ou un demi-plan Similaire à un demi-plan : le bord de la surface Si le bord est vide, on dit que la surface est fermée
Surfaces (2) Souvent en mod. géom., les surfaces sont des sous-ensembles de R 3 Exemple : feuille de papier, feuille de papier repliée, une sphère, etc
Surfaces subdivisées Ensemble de facettes, arêtes, sommets Structure de données simple Facettes triangulaires : surfaces triangulées Facettes quadrangulaires : maillages Facettes polygonales Facettes polygonales à trous Facettes pas forcément planaires Facettes topologiques contre facettes géométriques
Surfaces triangulées Représentation simple d'une surface triangulée fermée Chaque sommet connaît la liste orientée de ses voisins (ombrelle) Les arêtes et faces sont implicites Représentation simple d'une surface triangulée ouverte Collections de sommets, arêtes, triangles Chaque sommet connaît ses arêtes incidentes, etc.
Maillage Surface polyédrique : – Coordonnées à chaque sommet – Faces planaires (morceaux de plans passant par des points) Requêtes géométriques : géométrie affine (intersection droite / plans, …) résolution de systèmes linéaires Trois points x 1, x 2, x 3 non-alignés normale au plan ? équation du plan ? intersection au plan ? intersection au triangle ? x1x1 x3x3 x2x2
Géométrie des surfaces subdivisées Estimation de la normale aux sommets, arêtes moyennage des normales des faces planaires Aire et volume produits vectoriels sur chaque triangle Les courbures opérateurs différentiels discrets (variation des normales) Surfaces lisses faces = subdivision topologique ; sur chaque face, la géométrie est définie à l’aide de surfaces paramétriques avec critères de continuité
Niveaux de détails
Simplification de mailles Représentation simplifiée Critère de ressemblance/fidélité : à maximiser Algorithme qui fusionnent les faces / arêtes Ex: [Hoppe96] ecol(v s,v t, v’) vlvlvlvl vrvrvrvr vtvtvtvt vsvsvsvs vsvsvsvs vlvlvlvl vrvrvrvr (optimisation) ’
Simplification 2 13, M0M0M0M0 M1M1M1M1 M 17 5 ecol 0 ecol i ecol n- 1 M=M n ^
Reconstruction : opération inverse vsvsvsvs vlvlvlvl vrvrvrvr vspl(v s,v l,v r, v s,v t,…) vlvlvlvl vrvrvrvr vtvtvtvt vsvsvsvs S ’’ ’ ’ attributs
Simplification M0M0M0M0 M1M1M1M1 vspl M … vspl i … 13,546 vspl n- 1 Mn=MMn=MMn=MMn=M ^ S V
Surface de Subdivision Notion de Surface Limite Lorsque l'on pousse la subdivision à son maximum Avantages Manipulations des hauts niveaux Possibilités de garder des arêtes vives Multirésolution intégrée
Surface, profils, Objets de révolution Profil Axe de révolution L’objet résultant est modélisé par un ensemble de facettes quadrangulaires Facettes quadrangulaires car planaires par construction. Justification de facettes planes : opérations sur les objets ; géométrie : un point est-il à l’extérieur ou à l’intérieur de l’objet ?
Génération de terrains ; modèle fractal
Soustraction (cube - sphère) Intersectio n Unio n Objets de départ Constructive Solid Geometry (CSG) Générer des formes complexes à l’aide de primitives. – Dessiner un objet : rogner des parties, percer des trous, … – Coller des pièces entre-elles Utilisé généralement dans la CAO. Operation possibles union A + B intersection A ∩ B Soustraction A – B Transformations géométriques
Un Train CSG Brian Wyvill & students, Univ. of Calgary
Représentations Paramétriques Principe Représenter des géométries lisses et continues Définition et édition locale : retouches ponctuelles, influence limitée Solution Générale courbes paramétriques polynomiales recollées par morceaux avec des contraintes de continuité définies par des points de contrôle nombre de points de contrôle lié au degrés du polynôme Modèles Bézier B-Spline Nurbs Bézie r B-Spline Nurbs
Exemples
Surfaces Implicites Iso-valeur d'une fonction 3D Avantages Continues / Lisses Mélange facilités (ex CSG) Désavantages Angles vifs Rendu interactif Paramétrisation Examples ?
Surface à base de points Surface sans topologie explicite Seulement les sommets et leurs attributs Définition de la surface Globale : Surface Implicites Semi-globale : Combinaison de surfaces implicites Locale : MLS La plus répandue : MLS Surface reconstruite sur un k-voisinage Projection du point sur cette surface Logiciel PointShop3D
Modélisation Transformations Géométriques
Repère du Monde placement des objets placement de la caméra (point de vue) Transformations translation, rotation, mise à l’échelle construire des scènes complexes en positionnant des objets simples (transformations successives) transformer les coordonnées de l’objet en coordonnées du Monde Projection pyramide de vue projection en perspective clipping WORLD OBJEC T CAMER A Un pied générique est construit une seule fois, puis chaque pied de la table est une instanciation du premier Il est ensuite déplacé à la bonne position.
Translation 2D Une translation est une somme vectorielle Avant Après
Mise à l’échelle 2D Le changement d’échelle est une multiplication matricielle les coordonnées sont multipliées par le facteur d’échelle Avant Après
Rotation 2D La rotation est une multiplication matricielle Avant Après
Coordonnées homogènes On veut une notation unifiée pour toutes les transformations ! Addition ou bien multiplication ? Comment faire pour combiner plusieurs transformations ? Coordonnées homogènes On ajoute une troisième coordonnée w Un point 2D devient un vecteur à 3 coordonnées : Deux points sont égaux si et seulement si x’/w’ = x/w et y’/w’= y/w Utile aussi pour les projections w=0 permet de représenter les points « à l’infini »
Coordonnées Homogènes Toutes les transformations 2D peuvent être exprimées comme des produits matrice/vecteur en coordonnées homogènes (notation très générale)
Composition des transformations Il suffit de multiplier les matrices composition d’une translation suivie d ’une rotation : M = R.T composition d’une rotation suivie d ’une translation : M = T.R rotation autour d’un point Q : 1) Translation du marteau jusqu’au repère du monde, 2) Effectuer la rotation désirée, 3) Effectuer la translation inverse bis Q
Exercice Rotation autour d’un point Q Translater Q à l’origine : T Q Rotation autour de l’origine d’un angle : R Translater en retour vers Q : - T Q Calculer la matrice de transformation M=-T Q.R .T Q
Et en 3 dimensions ? C’est pareil, on introduit une quatrième coordonnée, w Toutes les transformations sont des matrices 4x4 Matrice de translation Matrice de mise à l’échelle
Rotations en 3D Rotation simple d ’un angle autour de l ’axe x, y ou z la matrice dépend de l’axe et de l’angle Rotation complexe par combinaison de rotations simples produits matriciels
Exercice Écrire la matrice de transformation à associer à l’objet cube ci-dessous pour qu’il passe dans la position B. A B x y z
Exemples
CSG (2) Exercice : montrez que suivant l’ordre des opérations, les deux solides ci-dessous peuvent être obtenus
CSG (2) Pour que toute combinaison de solides soit un solide : opérations régularisées Operations régularisées union : Fermeture( Ouverture( A + B ) ) intersection : Fermeture( Ouverture( A ∩ B ) ) soustraction : Fermeture( Ouverture( A – B ) ) Les primitives peuvent être complexes : Quadriques Fonctions implicites