Modélisation Géométrique et Synthèse d’Images Modélisation Géométrique: les représentations Marc NEVEU Bureau G210

Slides:



Advertisements
Présentations similaires
Chaîne de Synthèse Réel Modélisation Rendu Image Fichier Scène
Advertisements

Constructive Volume Geometry (CVG) Article de Min Chen & John V. Trucker COMPUTER GRAPHICS Benoît Capelli – Stéphane Renaudie DESS IMM
Modélisation par Surfaces Implicites à Squelettes Complexes
Modélisation 3D Réalisation d'une image de synthèse
IFT3730 : Infographie 3D Systèmes et modèles graphiques Pierre Poulin, Derek Nowrouzezahrai Hiver 2013 DIRO, Université de Montréal.
IFT2740 : Outils de l'infographie 3D Systèmes et modèles graphiques
Réalisation d'une image de synthèse
1 Modèles de particules Reeves, W. T., "Particle Systems - A technique for Modeling a Class of Fuzzy Objects," SIGGRAPH 83, Reeves, W. T., and.
Modélisation géométrique
Création en images de Synthèse Modèles de rendu d’une scène 3D
Un état de l’art sur les logiciels de détection de collision
Modèles Mathématiques et représentation discrètes pour la description des images couleur Luc Brun.
Les bases de la modélisation Primitives simples et CSG.
LCIN4U73 Bases géométriques de l’imagerie
Introduction aux Surfaces implicites
OBJETS ÉLÉMENTAIRES DANS L’ESPACE À TROIS DIMENSIONS
Chaîne infographique  Dans le monde réel  Les objets  Occupent une position, un volume  Ont un comportement (mouvement,....)  Interagissent avec l'environnement.
1 Initiation à la micro-informatique Le matériel un clic pour la suite… Moniteur.
Marid 5 décembre 2006Présentation du code parallèle – PEGASE – INRIA Sophia-Antipolis 1 Code Parallèle pour la Simulation Numérique en Mécanique des Fluides.
L'image: Le codage des images BacPro SEN Lycée Condorcet.
Introduction : Besoins - Modèles Modélisation Géométrique Introduction Loïc Barthe Equipe VORTEX – IRIT Université de Toulouse
Modélisation Géométrique Cours 4 : Acquisition de la géométrie.
Arithmétique d'Intervalles L'arithmétique d'intervalles.
Octree et maillages Modélisation Géométrique.
Tableau Numérique Interactif Quels usages du TNI dans sa pratique de classe et pourquoi ? Prise en main des différentes fonctionnalités et applications.
Présentation du programme
Grilles 3D Les grilles 3D. Grilles 3D Plan ● Les grilles 3D – Grille 3D ? – Reconstruction de continuité C 0 – Octree min/max – Visualisation d'une iso-surface.
Master ESEEC Rédaction de documents (longs) structurés Patrice Séébold Bureau 109, Bât B.
Révision – mathématiques 8
Construction d’une maquette pour un mélange de 4 constituants
L’école s’ouvre sur des paysages proches
Synthèse d’images Antoine Bouthors
Evaluation diagnostique
La chaîne numérique dans les activités professionnelles
Dominique PETRELLA – Frédéric GUINEPAIN - IA-IPR STI Versailles
Pas de variable globale
Les notions de classe et d'objet
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Dessin technique 1. Généralité. 1.1 Principaux types de dessins industriels. 1.2 Échelles 1.3 Formats normalisés. 1.4 Cartouche. 1.5 Principaux traits.
INTRODUCTION A LA GEOMETRIE
Les Processeurs Graphiques Programmables
Modélisation 3D sous SoliWorks Initiation à la DAO / CAO
Les bases de données et le modèle relationnel
DESSIN TECHNIQUE Té de dessin Collège technique Sousse Collège technique Sousse.
Jean-Emmanuel DESCHAUD
Constructions géométriques Copyright F. Becker Académie de Nancy-Metz
Fonctions Logiques & Algèbre de BOOLE
GRAPHISME PAR ORDINATEUR
GRAPHISME PAR ORDINATEUR
Géométrie dans l’espace
GRAPHISME PAR ORDINATEUR
Cours N°9: Algorithmiques Les Tableaux 1
Modélisation avec UML 2.0 Partie II Diagramme de classes.
Type Concret – Type Abstrait
Calcul Scientifique Initiation à SCILB
DESSIN DE DEFINITION RAPPEL DES NOTIONS DE BASE.  Dessin technique Consiste à apporter des informations techniques (dimensions, matière…) par une représentation.
1 Histoire des interfaces Homme-Machine. Introduction Avec l’avènement des ordinateurs, la question de l’interface avec l’utilisateur s’est posée. C’est.
Java, open GL et la mobilité
Cours de physique générale I Ph 11
1 Centre d’intérêt 4 : Représentation graphique du réel  Le dessin technique.
M. Moumnassi, S. Bordas, R. Figueredo, P. Sansen
Tableau Numérique Interactif
Pierre-Yves Lucas LabSTICC / UBO Ecole doctorale SICMA
Principes de programmation (suite)
Constructions géométriques Copyright F. Becker Académie de Nancy-Metz
Révision – mathématiques 8
Constructions géométriques
F. BUSSACSOLIDESSOLIDES 1. VOCABULAIRE Un polyèdre est un solide délimité par des polygones appelés faces. Les côtés de ces polygones sont appelés arêtes.
Visualisation de volumes techniques de rendu de volumes
DONNÉE DE BASE QM Manuel de formation. Agenda 2  Introduction  Objectif de la formation  Données de base QM: Caractéristique de contrôle Catalogue.
Transcription de la présentation:

Modélisation Géométrique et Synthèse d’Images Modélisation Géométrique: les représentations Marc NEVEU Bureau G210

Introduction Infographi e InformatiqueGraphisme Produit final : image de synthèse. Ensemble de méthodes et techniques permettant de représenter des objets plus ou moins complexes pour créer et manipuler des images synthétiques. 2

Historique Naissance aux États-Unis au début des années 50. Recherche scientifique SKETCHPAD (1963): interface graphique Système graphique (Écran à tube cathodique + Crayon optique) Invention du curseur pour définir la position du crayon Début des années 80 : L’infographie prend du terrain. Apparition des ordinateurs personnels. Début des années 90 : Images en temps réel. Jeux vidéos. « Vrai » 3D. 3 Quelques jalons : 1979 : James H. Clark : 1er processeur programmable dédié au 3D 1982 : création de Silicon Graphics, d’Adobe et d’AutoDesk 1984 : premiers travaux sur la radiosité à Cornell University 1985 : création de ATI : conception de circuits intégrés graphiques 1987 : création de la 1ère carte graphique, Marching Cubes 1992 : OpenGL : création de NVIDIA, Jurassic park 1994 : standard VRML 1996 : Microsoft lance DirectX 1997 : Sun lance Java 3D 1998 : logiciel Alias Maya 2007 : Spécifications d’OpenGL 3.0 Etc.....

Champs d’applications Dessin et conception assistés par ordinateur Construction et Tracé de courbes et surfaces interactives Interfaces utilisateurs Cartographie Médecine, chirurgie assistée par ordinateur Système multimédia Simulation et visualisation pour la vie scientifique Production audiovisuelle, jeux video, serious games Construction mécanique

Opérations Modélisation Géométrique Visualisation Animation Topologie Géométrie Modèles d'illuminatio n Algorithmes de rendu Habillage Cinématiqu e, dynamique

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterization) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D)

Les espaces de coordonnées Transformations de Modélisation Transformations de Visualisation Fenêtrage Coordonnées de Modélisation Coordonnées Universelles Coordonnées Virtuelles (normalisées) Coordonnées Ecran

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) Choix du type de représentation Adapté aux objets Aux besoins Pour manipulation, interaction, animation, visualisation, etc.... Par les bords, volumique, surfacique

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) Repère Objet (local) Coordonnées de Modélisation (de l'objet) Repère Scène (global) Coordonnées universelles (ou du monde)

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) Les primitives sont éclairées selonleur matériau, le type de surface et les sources de lumière Les modèles d’illumination sont locaux ( calcul effectué par primitive)

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) z Coordonnées universelles Coordonnées virtuelles (de l'oeil, de la caméra) z Coordonnées Normalisées (NDC) Découpage x y

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) x y z x y (0,0) Projection 3D (NDC) → vers espace écran 2D

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D) Découpe des primitives 2D en pixels Interpole les valeurs connues aux sommets : couleur, profondeur, etc. pour chaque fragment affiché

PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterizatio n) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D)

Les représentations Par les bords Seuls les sommets, les arêtes et les faces d’un objet sont représentés. (Polyèdres) Volumique Les objets sont représentés par leurs caractéristiques ou par voxels. (Solides) Surfacique Notion de surface. (carreaux de surface ou « Patches ») 15

Par les bords Souvent Visualisation « fil de fer » représentation  visualisation 16

Représentation par les Bords Brep (Boundary Representation) Un volume est délimité par sa surface extérieure décrite sous la forme d'un ensemble de faces ou de morceaux de surface, définis par des ensembles de segments de droites ou de courbes, eux-mêmes définis par des points (et/ou des équations).

Représentation par les Bords union d'un ensemble de faces ou de morceaux de surface. Ces faces et ces morceaux de surface sont des représentants de surfaces de base telles que plans, cylindre, NURBS, etc.

Représentation par les Bords Chaque face ou morceau de surface doit vérifier : ● Une face ou un morceau de surface d'un objet est un sous-ensemble de la frontière de l'objet. ● L'union de toutes les faces ou des morceaux de surface constitue la frontière de l'objet. ● Une face ou un morceau de surface doit avoir une aire non nulle et ne pas comporter d'arêtes ballantes ou de points isolés. OUIproblématique NON

Représentation par les Bords Avantages : ● Description naturelle ● Transformations géométriques simples ● Visualisation aisée Inconvénients : ● Opérations de composition délicates ● Validation difficile ● Absence d'algorithmes généraux (sauf pour les facettes planes)

Ex : polyèdre Un polyèdre est défini par ses faces. Chaque face est un polygone = liste ordonnée de ses sommets ou de ses côtés. intérieur <> extérieur : sommets des faces dans le sens trigonométrique lorsque la face est vue de l'extérieur du polyèdre. Ou plan de la face = (a, b, c, d) représentant l'équation du plan  i Soit P=(x, y, z) un point de E 3. P   i  ax + by +cz +d = 0 P est extérieur  ax + by +cz +d > 0 (par exemple) P est intérieur  ax + by +cz +d < 0 

Ex : cube x z y

Comparaison de quelques représentations (pour le cube) Structure 1 : M = 6 * 4 * 3 = 72 Structure 2 : M = 6 * * 3 = 48 Structure 3 : M = 6 * * * 3 = 72 Structure 4 : M = 6 * * * 3 = 96 F = ((x 1, y 1, z 1 ),…, (x n, y n, z n )) F = (V 1, V 2, …, V n )V = (x, y, z) F = (E 1, E 2, …, E n ), E = (V 1, V 2 ) V = (x, y, z) F = (E 1, E 2, …, E n ), E = (V 1, V 2, F 1, F 2 ), V = (x, y, z)

Sommet-Sommet V=((x,y,z),V 1,...,V n ) Vi = incident Cube : V=((x,y,z),V 1,V 2, V 3 ) M= 8*6 Information sur faces et arêtes implicite => parcours des données pour créer une liste de faces Operations sur arêtes et faces difficiles

Face-Sommet F=(V 1,V 2,...,V n ) V=((x,y,z), F 1,F 2,...F p ) Cube : M= 6*4+8*6= 72 Donnée explicite des sommets d'une face, et des faces partageant un sommet Liste de faces pour rendu Arêtes implicites => recherche pour trouver les faces entourant une face donnée

Winged Edge F =(E i ) E = (V 1,V 2,CW,CCW) CW = (F 1,E S1,E P1 ) CCW= (F 2,E S2,E P2 ) V = (E i, x, y, z) M cube = 6 * * * 6 = 168 Tout est explicite V1V1 V2V2 CCW E p2 Es1Es1 Autres arêtes CW E p1 E s2 F1 F2 Autres arêtes

Euler, polyèdre simple Soit V= #sommets, E =#arêtes, F=#faces Polyèdre simple : V-E+F=2 ex: tétraèdre V=4,E=6,F=4--> V-E+F=2 Poincaré = Euler généralisé à dim >= 3. points, côtés, faces --> éléments de dim 0, 1, 2, …, n-1. Leur nombre est N 0, N 1, … N n-1. Relation

Euler, autres polyèdres n = nombre de connectivité = # max de chemins fermés (boucles) distincts sur la surface d’un polyèdre ne séparant pas le polyèdre en deux régions. Ex : si la surface d’un polyèdre peut être divisée en deux régions par une boucle définie par les côtés des polygones définissant les faces alors n=0 (polyèdre simple). Ex : n sphère = 0 et n tore = 2 g = genre de l’objet = # d’anses accolées à une sphere = #trous : n=2g n = -V + E – F + 2 ou V-E+F=2-2g

Volumique Objet = nom d'une famille + ensemble de paramètres ex : (Sphère,{centre, rayon}), (Boite,{largeur, longueur,hauteur}),(Cylindre,{C1,R1,C2,R2}) Mémoire. Objets exacts. Pas d'opérations booléennes génériques 29

Composition Arborescente de Solides Constructive Solid Geometry (CSG) Objet = nom d'une famille + ensemble de paramètres ex : (Sphère,{centre, rayon}), (Boite,{largeur, longueur,hauteur}),(Cylindre,{C1,R1,C2,R2}) ex : (SphèreUnité,Xfos), (CubeUnité,Xfos),(CylindreUnité,Xfos) Assemblage à l’aide de transformations géométriques et d’opérations de composition -> arbre binaire ( arbre CSG)

Opérations Régularisées Pb de consistance :

Enumération spatiale ● Volume = liste de cellules occupées par le volume dans l'espace. ● Le plus souvent cellules de taille fixe appelés voxels (volume elements). ● Voxel représenté par les coordonnées d'un point P particulier ● Volume= tableau [ordonné] de (x i, y i, z i ) appelé tableau spatial. ● ● simple à obtenir, opérations booléennes ● précision, place en mémoire.

Arbres Octaux amélioration : arbre octal ou "octree" ["quadtree" en 2D] = hiérarchie de cubes de tailles variables. volume =arbre racine = boîte englobante de l'espace de travail nœud type (plein, vide ou indéterminé) indéterminé -> subdivision en 8 -> 8 fils arrêt : plus de nœuds de type indéterminé ou niveau max dans l'arbre. composition arbre octal & arbre CSG

Arbres Octaux Exemple d’octree

Balayage solide = objet + trajectoire ExtrusionRévolutionAu choix

Retour au PipeLine Graphique Transformation de Modélisation Illumination (shading) Découpage (clipping) Transformation de Projection Pixellisation (rasterization) Visibilité-Affichage Modèle de la scène (3D) IMAGE (2D)