Synthèse d images Chapitre I Modélisation Géométrique contact : Caroline Essert, Maître de conférence en informatique UFR de Math / Info Laboratoire LSIIT (UMR 7005) essert@unistra.fr slides sur : http://dpt-info.u-strasbg.fr/~essert - 1 -
PLAN Dimensions géométriques et topologiques Espace Euclidien et Interpolations Maillages en B-Rep (border representation) Modélisation volumique Acquisition et génération de modèles Conclusion. - 2 -
INTRODUCTION Modélisation des courbes et surfaces Modélisation des solides B-Rep : représentation par les bords = surfacique CSG : constructive solid geometry = volumique Que signifie surfacique et volumique? - 3 -
Dimension géométrique versus Dimension topologique Il faut distinguer la dimension de l espace de l objet de celui dans lequel il est plongé! Sphère Boule Dimension topologique: 2D 3D Dimension de plongement: 3D 3D - 4 -
Dimension géométrique versus Dimension topologique Plongement: 2D 3D Topologie (x,y) (x,y,z) 1D Ligne brisée / courbe Ligne brisée / courbe gauche 2D 3D Polygone / forme 2D Surface / Polyèdre volume - 5 -
Types de modélisation 3D Topologie 2D Continu Surface paramétrée Surface polynomiale (Splines, Bézier, NURBS) Discret Polyèdre (triangulation) Splat 3D Constructive Solid Geometry (CSG) Surface implicite (squelette) Volume paramétré Voxels (cubes), Polyèdres connectés (tétraèdres) Systèmes de particules Conversion très facile Conversion possible Conversion très difficile, voire impossible - 6 -
Rappels: Espace Euclidien de dimension 3 Géométrie Euclidienne - 7 -
Points et vecteurs POINT: c est un triplet (x,y,z) de coordonnées indiquant une position dans un espace Euclidien par rapport à une origine. Le nombre de coordonnées indique la dimension de l espace. VECTEUR: c est également un triplet (v x,v y,v z ) de coordonnées, mais indiquant une direction dans un espace. La taille (longueur ou élongation) du vecteur s appelle la norme (elle est mesurée en mètres). y x z Elle est calculée par: V = vx 2+ v2 y+ v z 2 Exemple: pour V(1,1,1), V =1,732-8 -
Points et vecteurs VECTEUR et POINT Deux points A et B définissent un vecteur V. Les coordonnées de ce vecteur V sont obtenues par calcul de différences: V x =B x -A x, V y =B y -A y, V z =B z -A z A B Si la norme du vecteur vaut 0, alors toutes les coordonnées sont nulles, et le vecteur est dit NUL. Si la norme d un vecteur vaut 1, on dit que le vecteur est normalisé. Pour normaliser un vecteur il suffit de diviser toutes ses coordonnées par sa norme. - 9 -
Angle entre deux vecteurs VECTEUR Deux vecteurs non nuls V et W définissent un angle α qui est mesuré en degrés ou radians. Si l angle formé par les deux vecteurs vaut 0 ou 180 degrés, on dit que les vecteurs sont colinéaires (ils ont alignés). Si l angle formé par les deux vecteurs vaut 90 degrés on dit que les vecteurs sont orthogonaux. α V W - 10 -
Produit scalaire VECTEUR Le produit scalaire entre deux vecteurs V et W est défini par: V W = V W + V W + V x x Si le produit scalaire vaut 0 alors les vecteurs sont orthogonaux (ou bien l un au moins est nul). y y z W z α V W Si les vecteurs V et W sont normalisés tous les deux, alors le produit scalaire est égal au cosinus de l angle entre ces vecteurs. V W =cos(α) - 11 -
Droite et plan DROITE: une droite est définie par un point et un vecteur, dit directeur. PLAN: un plan est défini par un point et deux vecteurs, qui ne doivent pas être colinéaires, ni nuls. Une droite est soit parallèle à un plan, soit complètement incluse dans le plan, soit elle le traverse en un unique point (l intersection). - 12 -
Normale au plan PLAN: Pour tout plan il n existe que deux vecteurs normalisés tel que ces deux vecteurs soient toujours orthogonaux à tout autre vecteur pris dans ce plan. Ces deux vecteurs sont colinéaires et sont appelés normale au plan. Un vecteur N orthogonal à un plan défini par les vecteurs non nuls V et W peut être calculé par : N N N x y z = VyWz VzWy Ce calcul s appelle produit en croix = V W z = V W x x y V W x V W y z x ou produit vectoriel - 13 -
Plan, Droites et Points PLAN: Deux plans sont soit confondus, soit parallèles, soit ils ont une intersection qui est une droite. Soit un ensemble de points. Ces points sont dits coplanaires, s il existe un plan contenant tous les points. Trois points sont forcément coplanaires. En effet trois points définissent un plan. Un plan divise l espace 3D en trois zones. Tout point de l espace se trouve soit sur le plan, soit d un coté du plan, soit de l autre. Pour déterminer si un point P est d un coté ou de l autre, il suffit de choisir un point A sur le plan. Le signe du produit scalaire entre la normale et le vecteur AP donne le coté. - 14 -
MODELISATION DISCRETE de SURFACES - 15 -
Modèle combinatoire Décomposition en cellules + liens entre les cellules : Sommets (0-cellule) - 16 -
Modèle combinatoire Décomposition en cellules + liens entre les cellules : Sommets (0-cellule) Arêtes (1-cellule) - 17 -
Modèle combinatoire Décomposition en cellules + liens entre les cellules : Sommets (0-cellule) Arêtes (1-cellule) Facette (2-cellule) - 18 -
Modèle combinatoire Décomposition en cellules + liens entre les cellules : Sommets (0-cellule) Arêtes (1-cellule) Facette (2-cellule) Surface (3-cellule) C est la topologie - 19 -
Plongement géométrique Pour représenter un objet géométrique discret, on complète la représentation combinatoire de sa topologie par un modèle de plongement en associant à chaque cellule un ensemble de points géométriques. Sommet Arête Facette Point Segment Surface polygonale - 20 -
Modélisation Objet à représenter = + Représentation combinatoire de sa topologie Plongement - 21 -
POLYGONES Avec une représentation discrète, un objet géométrique est codé sous la forme d un ensemble fini de points (sommets) de l espace avec des interconnections sémantiques entre ces points ; On parle de relation d adjacence: Deux arêtes sont adjacentes si elles partagent un même sommet; Deux facettes sont adjacentes si elles partagent une même arête; Une arête est dite incidente en un sommet si celui-ci représente une des deux extrémités de l arête; Une facette est dite incidente en un sommet si celui-ci est incident à une des arêtes de la facette. - 22 -
POLYGONES Ces relations d adjacence peuvent se limiter dans les cas simples à un ordre sur les points. S1 S2 S7 S8 S1 S2 S3 S3 S7 Ligne brisée S4 S5 S6 S6 S5 S4 Polygone = ligne brisée fermée - 23 -
Notion d orientation Orienter un polygone revient à choisir un sens de parcours des sommets du polygone. Il existe deux sens possibles de parcours. - 24 -
Notion de convexité Un polygone est dit convexe, si pour tout couple de points P1 et P2 pris dans ce polygone, le segment de droite P1P2 se trouve à l intérieur du polygone. Un polygone est dit concave s il n est pas convexe. - 25 -
Notion de dégénérescence Un polygone est dit dégénéré, s il n est pas planaire, si son aire est nulle, ou s il a des sommets confondus, ou une arête pendante, ou s il a des arêtes qui se croisent (intersection non nulle). dégénérés : non dégénérés : - 26 -
Appartenance d un point à un polygone Lorsqu un polygone n est pas dégénéré, il divise le plan en deux régions distinctes qui sont appelés intérieur et extérieur. En synthèse d images, on peut être amené à vouloir déterminer si un point V quelconque du plan se trouve à l intérieur ou à l extérieur d un polygone P=(P 0, P 1,, P n-1 ). dedans ou dehors? - 27 -
Appartenance d un point V à un polygone P L algorithme est le suivant : Soit D une des deux demi-droites issue de V et parallèle à l axe Ox. Soit n r le nombre d intersections de D avec les arêtes de P et n q le nombre de sommets P i de P situés sur D tels que : soit les sommets P i-1 et P i+1 sont de part et d autre de la droite qui porte D ; soit P i P i+1 est inclus dans D et les sommets P i-1 et P i+2 sont de part et d autre de la droite qui porte D. Si n r +n q est impair alors V est à l intérieur sinon à l extérieur. - 28 -
Appartenance d un point V à un polygone P P V n r =4 n r =1-29 -
Triangulation d un polygone L algorithme de triangulation le plus simple consiste à découper les creux d oreille d un polygone. Un creux d oreille P i peut être triangulé facilement en joignant les sommets P i-1 et P i+1. Pi+1 Pi Pi Pi-1 Pi - 30 -
Vecteur Normal Le vecteur normal à un polygone est le vecteur normal au plan du polygone. Il peut être dirigé dans deux directions selon le sens de l orientation du polygone: Ce vecteur normal se calcule en utilisant un produit en croix. - 31 -
POLYEDRE Définition (intuitive): surface de R 3 subdivisée en sommets, arêtes rectilignes, et faces polygonales simples (planes). Toute surface fermée continue délimitant un volume peut être approchée par un polyèdre. - 32 -
Exemples - 33 -
Intérieur soit D une demi-droite issue d un point M non sur le polyèdre P, ne coupant ni une arête, ni un sommet de P : alors M est à l intérieur de P si le nombre d intersections est impair. - 34 -
Orientabilité Orienter un polyèdre c est orienter chaque polygone de façon à ce que deux polygones voisins aient la même orientation : - 35 -
Orientabilité Certaines surfaces ne sont pas orientables : - 36 -
Définition: 2-Variété On définit une 2-variété comme suit: c est une surface (dimension deux), pour laquelle toute intersection d une boule avec la surface se déplie en un disque: En anglais: variété = manifold - 37 -
MODELISATION VOLUMIQUE - 38 -
Surface vs. Volume Les techniques de modélisation que nous avons vues jusqu ici permettent de construire des volumes par leur bord: on ne s intéresse donc pas «à leur intérieur». Mais qu en est-il d objets qui sont semitransparents ou translucides comme le brouillard, la fumée, la peau humaine, etc.? De même on peut vouloir modéliser le soussol d un terrain, l intérieur du corps humain, etc. - 39 -
Association de polyèdres Idée : un objet est défini par un ensemble de petits polyèdres accolés les uns aux autres. Les polyèdres possibles: tétraèdres, cubes, hexaèdres, - 40 -
Modèle combinatoire Décomposition en cellules + liens entre les cellules : Sommets (0-cellule) Arêtes (1-cellule) Facette (2-cellule) Surface (3-cellule) Volume (4-cellule) - 41 -
Appartenance d'un point à une cellule Pour une cellule convexe : Vérifier que le point est du même coté du plan de chaque face de la cellule - 42 -
Reconstruire une iso-surface Définition: une iso-surface est une surface pour laquelle la densité de l objet volumique est la même. Il existe l équivalent en 2D (iso-courbe) pour les cartes géographiques. - 43 -
Reconstruire une iso-courbe Pour une carte 2D il suffit de: Placer l objet dans une grille et de tester les configurations possibles - 44 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 45 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 46 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 47 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 48 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 49 -
Cas 2D: iso-contour Segmentation binaire Parcourir tous les nœuds - 50 -
Reconstruire une iso-surface 3D Pour une surface 3D il suffit de: Placer l objet dans une grille 3D et de tester les configurations possibles - 51 -
Exemple sur un modèle d IRM (source IPB, Strasbourg) - 52 -