Algorithmes des vus et caches

Documents pareils
Les algorithmes de base du graphisme

Synthèse d'images I. Venceslas BIRI IGM Université de Marne La

Analyse de la vidéo. Chapitre La modélisation pour le suivi d objet. 10 mars Chapitre La modélisation d objet 1 / 57

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Franck VAUTIER, Jean-Pierre TOUMAZET, Erwan ROUSSEL, Marlène FAURE, Mohamed ABADI, Marta FLOREZ, Bertrand DOUSTEYSSIER

Sillage Météo. Notion de sillage

Techniques d interaction dans la visualisation de l information Séminaire DIVA

GMEC1311 Dessin d ingénierie. Chapitre 1: Introduction

L analyse d images regroupe plusieurs disciplines que l on classe en deux catégories :

Photoshop Séquence 4 - Créer une image de taille personnalisée taille

modélisation solide et dessin technique

point On obtient ainsi le ou les points d inter- entre deux objets».

COURS EULER: PROGRAMME DE LA PREMIÈRE ANNÉE

Problèmes de dénombrement.

Limitations of the Playstation 3 for High Performance Cluster Computing

TP Blender n 2 : Importation d un modèle SketchUp et animation

Le projet 3D de la Ville de Liège: réflexions sur l'exploitation des données. Bernard Lechanteur, Responsable Cellule cartographie Ville de Liège

Comment sélectionner des sommets, des arêtes et des faces avec Blender?


Initiation à l algorithmique

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

Synthèse d images Edmond Boyer

Géométrie Algorithmique Plan du cours

AMELIORATIONS DES FONCTIONNALITES DISPONIBLES

Lecture graphique. Table des matières

Veille Opérationnelle Chapitre 5 Mesure de l efficacité des moyens de communication

Programmation linéaire

CHAPITRE IX : Les appareils de mesures électriques

05/09/2015. M Ponctualité : CM TD TP & Projet Æ En cas d absence : récupérer!!! 3 05/09/2015

DECOUVREZ Discover TYPE EDIT V12 Français

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Algorithmique I. Algorithmique I p.1/??

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Indications pour une progression au CM1 et au CM2

Bases de programmation. Cours 5. Structurer les données

Algorithmique et structures de données I

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

chapitre 4 Nombres de Catalan

Comparaison de Relevés 3D issus de plusieurs Systèmes de Numérisation

Keysight Technologies Identification rapide des caractéristiques thermiques d un prototype. Inspection thermographique des bâtiments.

Documentation Administrateur

Chap III : Les tableaux

Manuel Utilisateur Logiciel PEB Partie modeleur version 2.5

Manuel d utilisation NETexcom

1. Vocabulaire : Introduction au tableau élémentaire

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Chapitre 5 : Flot maximal dans un graphe

Le MeiLLeuR RappORt qualité-prix

Leçon 10. Travailler avec la pile d effets

Notice d Utilisation du logiciel Finite Element Method Magnetics version 3.4 auteur: David Meeker

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

Cours d algorithmique pour la classe de 2nde

Les nouveautés de Femap 11.1

La segmentation à l aide de EG-SAS. A.Bouhia Analyste principal à la Banque Nationale du Canada. Chargé de cours à l UQAM

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

RIE LE RENDU THEO. 2 e trim ÉTAPE DE FINITION BOÎTE DE DIALOGUE. remarques

Traitement bas-niveau

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Le droit à l image???

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

LES REPRESENTATIONS DES NOMBRES

LE PROJOPHONE de Fresnel

GL BE FLYER. Chef de projet de l équipe : SCIONICO Pierre

données en connaissance et en actions?

Date : Tangram en carré page

TBI et mathématique. Pour vous soutenir dans votre enseignement des mathématiques. Les outils du logiciel Notebook. les ressources internet

Initiation à LabView : Les exemples d applications :

31. OOo Draw Réglages propres à Draw

Rhinoceros Modeleur NURBS sous Windows

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Module Planification

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Correction : E = Soit E = -1,6. F = 12 Soit F = y = 11. et G = -2z + 4y G = 2 6 = 3 G = G =

JPEG, PNG, PDF, CMJN, HTML, Préparez-vous à communiquer!

LIDAR LAUSANNE Nouvelles données altimétriques sur l agglomération lausannoise par technologie laser aéroporté et ses produits dérivés

Les arbres binaires de recherche

6 ème. Rallye mathématique de la Sarthe 2013/ ère épreuve de qualification : Problèmes Jeudi 21 novembre 2013

Projet MDMA - Rapport L2

Edition de sites Jahia 6.6

Chp. 4. Minimisation d une fonction d une variable

EXERCICES DE REVISIONS MATHEMATIQUES CM2

Condition inf-sup pour l Elément Fini de Taylor-Hood È ¾ -iso-è ½

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Architecture des ordinateurs

Tâche complexe produite par l académie de Clermont-Ferrand. Mai 2012 LE TIR A L ARC. (d après une idée du collège des Portes du Midi de Maurs)

Transférer et enregistrer les photos sur l'ordinateur

Pour les futurs développeurs Sommaire

Jeux mathématiques en maternelle. Activités clés. Jeu des maisons et des jardins (Yvette Denny PEMF)

Zone 2 L aventure de la copie

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

MAT2027 Activités sur Geogebra

Introduction à Expression Web 2

Visualisation Scientifique 3D

Icônes des didacticiels. Aliro - le contrôle d accès sur IP sans complication.

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Projet de traitement d'image - SI 381 reconstitution 3D d'intérieur à partir de photographies

Création de maquette web

Dentiste Numérique Zfx. Un cabinet dentaire certifié avec la technologie innovante signée Zfx

Transcription:

Algorithmes des vus et caches Christian NGUYEN Departement d informatique Universite de Toulon et du Var Algorithmes des vus et caches p.1/27

Introduction Algorithmes des vus et caches p.2/27

Différences et similitudes On distingue ces algorithmes principalement par l espace dans lequel ils travaillent : objet ou image (mais aussi : modèle de représentation, périphérique de sortie,...). Notions communes : le tri géométrique dont le critère est une quantité géométrique et qui donne un ordre de priorité sur les objets, la cohérence d image : deux représentations d un même objet sont peu différentes si certains paramètres ont peu variés. Algorithmes des vus et caches p.3/27

Cohérence d image Cohérence de faces : faces petites vis à vis de l écran. Cohérence d arêtes (intersectantes et non intersectantes) Cohérence de ligne de balayage : un segment visible sur une ligne l est sur la ligne suivante. Cohérence de profondeur : des faces se superposant dans le plan de projection ont des profondeurs différentes. Cohérence de pages écrans : en animation les images successives d une scène sont peu différentes les unes des autres. Algorithmes des vus et caches p.4/27

Classification Trois catégories [Sutherland, Sproull, Schumacker 74] : ceux qui travaillent dans l espace objet ( ceux qui travaillent dans l espace image par une projection sur le plan image qui entraîne une moins grande précision dans les calculs et un traitement plus rapide de l image ( fonction de la résolution), ceux qui travaillent de manière hybride : pré-traitement dans l espace objet (liste de priorité des faces,...) puis traitement dans l espace image. ), Algorithmes des vus et caches p.5/27

Classification espace objet résolution exacte espace image résolution limitée algo de comparaison algo avec liste de priorité algo avec priorité de profondeur arête/volume arête/arête a priori dynamique échantillonnage de points échantillonnage de surface Algorithmes des vus et caches p.6/27

Algorithmes caractéristiques Algorithmes des vus et caches p.7/27

Arête/volume [Roberts 63] Scène uniquement constituée de polyèdres convexes. A partir de la définition paramétrique d une arête, on distingue les cas suivants par rapport à un solide convexe : 1. l arête est complétement visible, 2. l arête est complétement cachée, 3. l arête est partiellement visible (1 portion), 4. l arête est partiellement visible (2 portions). La recherche de l inclusion d un point dans un volume convexe est très coûteuse ( ). Algorithmes des vus et caches p.8/27

Arête/arête [Appel 67] Polyèdres dont les faces sont décrites par une liste de sommets dans le sens trigonométrique. 1. élimination des faces arrières (culling), 2. comparaison des arêtes potentiellement visibles avec les faces avants du polyèdre : quantité d invisibilité le long de l arête. Utilisation de la cohérence d arêtes pour limiter les temps de calcul : à chaque intersection QI = QI 1. Si une arête du contour polygonal traverse le triangle formé de l arête à tester et de l œil, elle coupe l arête en projection et son polygone l obscurcit. Algorithmes des vus et caches p.9/27

Arête/arête [Appel 67] Evolution de la quantité d invisibilité le long d une arête, par rapport à un point de vue donné. 0 1 2 1 0 1 0 Algorithmes des vus et caches p.10/27

Arête/arête [Appel 67] La QI du sommet initial est déterminée par une comparaison systématique de celui-ci avec l ensemble des faces. Le dénombrement se fait suivant deux conditions : la droite reliant le sommet à l œil doit couper le plan contenant la face entre l œil et le sommet, le point d intersection appartient à la face (contour polygonal). 1 0 0 Algorithmes des vus et caches p.11/27

Priorité a priori [Schumacker 69] Scène composée d objets convexes et partitionnable par des plans (clusters). On peut assigner une priorité aux faces indépendamment du point de vue. 3 A + 1 + B + B + A + B (3,1,2) (3,2,1) (1,2,3) (2,1,3) 3 2 Algorithmes des vus et caches p.12/27

Priorité dynamique [Newell 72] Algorithme du peintre : élimination des faces arrières, tri des faces restantes (suivant ), résolution des ambiguïtés en cas de chevauchements, affichage des polygones dans l ordre calculé. Le tri des faces suivant leur profondeur se fait en calculant la côte max. des sommets constituant chaque polygone. Levés des ambiguïtés : série de tests (comparaison de la face courante de profondeur avec celles dont au plus lent. Test réussi : face courante plus éloignée que face testée. ) de plus rapide Algorithmes des vus et caches p.13/27

Priorité dynamique [Newell 72] Test 1 : priorité suivant suivante).. Test réussi si (face Test 2 : rectangles englobants (suivant x puis y). Test réussi s il n y a pas chevauchement. Test 3 : substitution des coord. des sommets de la face dans l équation du plan support de la face. Test réussi si tous les sommets donnent un résultat de même signe ( d un seul côté de z ). Qmax P Pmin Q x Algorithmes des vus et caches p.14/27

Priorité dynamique [Newell 72] Test 4 : tous les sommets de sont-ils plus près du point de vue que les points de ayant même projecteur? z P Q x Algorithmes des vus et caches p.15/27

Priorité dynamique [Newell 72] Test 5 : les projections de pas? z et ne s intersectent-elles P Q y x Algorithmes des vus et caches p.16/27

Priorité dynamique [Newell 72] Test 6 : partage de l un des plans par l autre (création d une arête) et reprise des tests. z Q P y x Algorithmes des vus et caches p.17/27

Echantillonnage de surf. [Warnock 68] Subdivision de l espace écran (area subdivision). Analyse du contenu de chaque fenêtre (looker), 3 cas : il n y a rien dans la fenêtre, ce qu il y a est facile à dessiner, ce qu il y a est complexe : division de la fenêtre en 4 (test d arrêt : limite de résolution). Le looker détermine chaque polygone par rapport à une fenêtre : englobant, intersectant et disjoint. Le thinker détermine la complexité de la fenêtre (cas simple : polygones intersectants non superposés, polygone englobant en avant-plan,...). Algorithmes des vus et caches p.18/27

Algorithmes actuels Algorithmes des vus et caches p.19/27

Méthodes les plus populaires L approche "polygone par polygone" (Z-buffer) : simple à implanter, pas de limite à la complexité d une scène mais pas de notion de cohérence. L approche "ligne de balayage" (scan-line) : gestion plus délicate (discrétisation, ombrage et texture simultanés) mais solution matérielle immédiate (génération suivant le balayage). Algorithmes des vus et caches p.20/27

L algorithme du Z-buffer [Catmull 75] opère dans l espace écran : comparaison des profondeurs de tous les points ayant même coordonnées (plus complexe dans l espace objet car il faudrait déterminer si 2 points ont le même projecteur que dans l espace écran). Chaque pixel d un polygone est mémorisé dans la mémoire image si sa profondeur est plus faible que le pixel correspondant de cette mémoire image (auquel cas, la nouvelle profondeur est mémorisée). Une dilatation de la scène est conseillée pour plus de précision. Les pixels à l intérieur d un polygone donné sont ombrés incrémentalement et leur profondeur est évaluée par interpolation sur les sommets constituant le polygone. Le Z-buffer est indépendant de la représentation des objets (même s il est le plus souvant utilisé dans l approximation par facettes). Algorithmes des vus et caches p.21/27

Z-buffer et CSG Moins coûteux que le lancer de rayons : seule la 1ère intersection est à retenir (méthode dirigée par les objets et non les pixels [Rossignac, Requicha 86]. Algo Lancer de rayons pour chaque pixel faire generer un rayon trouver ttes les surf. inter. evaluer l arbre CSG pour determiner la frontiere de la surf. la plus proche Algo Z-buffer pour chaque objet faire pour chaque surface faire pour chaque "pt" de la surf. faire projeter P et appliquer Z-buffer si (visible) alors si en evaluant l arbre CSG P est sur la frontiere alors m.a.j. du frame buffer Algorithmes des vus et caches p.22/27

Z-buffer et CSG primitive pixel z A primitive B rayon A B A v B A ^ B A B Algorithmes des vus et caches p.23/27

Le rendu Z-buffer Trois interpolations linéaires et trois boucles imbriquées : Algorithme Z-buffer Initialiser le Z-buffer a la valeur MAX pour chaque polygone faire Construire la liste des aretes (X, Z, I) pour y=ymin a Ymax faire pour chaque segment de la TAA faire pour x=xmin a Xmax faire Interpoler lineairement Z et I si (Z < Z-buffer[x][y]) alors Z-buffer[x][y] <- Z frame-buffer[x][y] <- I finsi finpour finpour finpour Algorithmes des vus et caches p.24/27

Le rendu scan-line Philosophie des TA/TAA en 3D (tri des sommets des arêtes sur les,...). Cas simple : on suppose que les polygones résultants ne s intersectent pas. La projection des sommets donne des spans (les segments de droite contenus dans les intersections d arètes), dans lesquels il y a cohérence. Algorithmes des vus et caches p.25/27

Le rendu scan-line y scan line plane z scan line z x spans x Algorithmes des vus et caches p.26/27

Le rendu scan-line Algorithme scan-line pour chaque polygone generer la TA pour chaque plan de balayage faire m.a.j. des parametres d ombrage Determiner les intersections plan/polygones Trier les AA suivant Xs Generer les "spans" pour chaque "span" faire Decouper les aretes suivant les "spans" Evaluer les portions d aretes appartenant a un "span" et resoudre le probleme de profondeur Ombrer la portion d arete visible (en ayant calculer les valeurs aux extremites) finpour finpour Algorithmes des vus et caches p.27/27