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