C4b
Transcription
C4b
à l’Université Pierre et Marie Curie, le 1 mars 2004 Maîtrise Polyvalente Internet et Multimédia Cours 4b : Synthèse des images Timur FRIEDMAN basé sur des transparents de Claude MONTACIE Copyright 2004 by Timur Friedman Introduction Génération d’images sans utilisation de données provenant d’autres images Inverse du traitement d’image Présentation d’informations Simulation Visualisation scientifique (médecine, mécanique, biologie, …) Etapes du processus de synthèse Description du modèle (plans) Construction du modèle (maquette) Prise de vue (vue) Affichage (rendu) Copyright 2004 by Timur Friedman Décomposition d’une forme Copyright 2004 by Timur Friedman Décomposition en polygones • Pourquoi ? – pour des raisons de calcul – aide à la modélisation 3D, rendu d’image • Quels polygones ? – triangles : matériel bas de gamme, grand public – polygones convexes : plus couteux Copyright 2004 by Timur Friedman Polygones : définitions Polygone convexe Toutes les droites reliant deux sommet sont à l’intérieur du polygone Polygone monotone suivant une droite Droite reliant les deux sommets extrémaux, Deux listes ordonnées des projections (par rapport à la droite) des sommets Copyright 2004 by Timur Friedman Polygone monotone : exemple Copyright 2004 by Timur Friedman Tracé de contour Approximation par des polygones Représentation simple (liste des N sommets), Difficulté de traitement pour les topologies complexes polygones à trous, polygones concaves, polygones à sommets multiples Décomposition des polygones complexes En triangles (triangulation), En polygones convexes (convexification) Copyright 2004 by Timur Friedman Méthodes de triangulation Du plus simple au plus complexe : • Triangulation trapézoïdale • Triangulation par polygones monotones • Convexification triangulaire Copyright 2004 by Timur Friedman Triangulation trapézoïdale Algorithme de balayage, Tracé de segments de droite à chaque sommet Triangulation des trapèzes (ajout de sommets) Copyright 2004 by Timur Friedman Triangulation par polygones monotones Algorithme de balayage, Tracé de segments de droite entre deux sommets successifs Triangulation des polygones monotones Copyright 2004 by Timur Friedman Convexification triangulaire Décomposition par triangulation, Suppression des diagonales superflues Convexification optimale Copyright 2004 by Timur Friedman Minimisation du nombres de polygones convexes Localisation d’un point Identification du polygone contenant le point Elimination d’une partie des polygones par la méthode des boites englobantes (carré associé à chaque polygone et le contenant) Recherche parmi les polygones restants (méthode du centre de gravité) • Calcul du triangle (Si G Si+1) en O(log N) 6 * 6 Copyright 2004 by Timur Friedman Coloriage d’un polygone Affichage sur une matrice de pixels des point occupés par un polygone Décomposition du polygone en une liste ordonnée de trapèzes, Coloriage de chaque trapèze, ligne par ligne, de haut en bas Calcul de l’intersection de la ligne avec les arêtes gauches et droite Copyright 2004 by Timur Friedman Aliassage : affichage des droites Problème : échantillonnage insuffisant Présence de marches d’escalier irréguliers sur les contours, Clignotements des petits objets dans une animation, Affichage en pointillé des petits objets allongés Copyright 2004 by Timur Friedman Antialiassage Méthodes Filtrage passe-bas de l’image : atténuation des contours coût de calcul important Méthodes géométriques (polygones) variante de l’algorithme de Bresenham (distance entre le centre du pixel et la droite théorique) Copyright 2004 by Timur Friedman 3D Objets 3D Ecrans 2D • • • • On doit choisir un point de vue On fait une projection On élimine les parties cachées On illumine les objets Copyright 2004 by Timur Friedman Types de Projections Projection parallèle – Conservation du parallélisme des droites, – Conservation des rapports de distance selon une direction donnée – Pas naturel Projection perspective – Pas de conservation du parallélisme des droites non parallèle au plan de projection, – Taille d’un objet inversement proportionnelle à sa distance au point de vue – Plus couteux Copyright 2004 by Timur Friedman Eliminations des parties cachées Test de visibilité – Un seul objet convexe, – Vérification de la position du point de vue avec chaque facette Z-buffer – Calcul de la distance de chaque facette au point de vue, – Ajout à chaque pixel de l’écran d’une quatrième composante (en général, un réel), – Initialisation de cette composantes à Zmax, – Affichage d’un pixel d’une facette si Z(pixel-facette) < Z(pixel-écran), – Pas de traitement des objets translucides Algorithme du peintre – Tri des facettes en fonction de la distance au point de vue, – Dessin en premier des facettes les plus éloignées Copyright 2004 by Timur Friedman Illumination d’une scène Interactions de la lumière avec la scène – Locales (une surface), globale (ensemble des surfaces) Modélisation des surfaces – Surface spéculaire (réflexion de la lumière dans une faisceau étroit ) • angle d’incidence égal à l’angle de réflexion – Surface diffuse (réflexion de la lumière dans toutes les directions) – Surface translucide (réfraction de la lumière à travers la surface) Modélisation de l’éclairement (sources lumineuses) – Source diffuse (intensité de la lumière égale pour tous les points) – Source ponctuelle (intensité de la lumière proportionnelle à l’inverse de la distance) • émission de lumière dans toutes les directions – Projecteur (émission de lumière dans un cône) – Source éloignée (rayons de lumière parallèle) Copyright 2004 by Timur Friedman Modèles d’illumination Modèles de Phong (somme de trois composantes) – Composante ambiante, produit de la couleur et l’intensité de la lumière ambiante – Composante diffuse, produit de la couleur, de l’intensité de la lumière diffuse et du cosinus de l’angle entre la lumière et la surface – Composante spéculaire, produit de la couleur, de l’intensité de la lumière diffuse et de la puissance nième du cosinus de l’angle entre la lumière et la surface Modèles globaux – Radiosité (transferts d’énergie entre tous les objets) – Tracé de rayon (lois de l’optique appliqués à chaque pixel) • rayon primaire (point de vue - pixel) • rayons secondaires (lancés vers chaque source de lumière, directe ou réfléchie) Copyright 2004 by Timur Friedman Squelette d’une application OpenGL • Ouverture d’une session, • Visualisation de la scène • Déclarations des objets (dessin et texture) • Illumination de la scène, • Déclarations des fonctions événements, affichage et recadrage Copyright 2004 by Timur Friedman