Visibilité polygone à polygone :



Documents pareils
Programmation linéaire

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

Introduction au maillage pour le calcul scientifique

Programmation Linéaire - Cours 1

Cours de Master Recherche

ANALYSE CATIA V5. 14/02/2011 Daniel Geffroy IUT GMP Le Mans

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

Programmation linéaire

Big Data et Graphes : Quelques pistes de recherche

LA PHYSIQUE DES MATERIAUX. Chapitre 1 LES RESEAUX DIRECT ET RECIPROQUE

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Big Data et Graphes : Quelques pistes de recherche

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

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Rétablissement d un réseau cellulaire après un désastre

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Transmission d informations sur le réseau électrique

Object Removal by Exemplar-Based Inpainting

CARTE DE VOEUX À L ASSOCIAEDRE

PRODUIRE DES SIGNAUX 1 : LES ONDES ELECTROMAGNETIQUES, SUPPORT DE CHOIX POUR TRANSMETTRE DES INFORMATIONS

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

Modélisation multi-agents - Agents réactifs

Contributions à l expérimentation sur les systèmes distribués de grande taille

Chapitre 22 : (Cours) Numérisation, transmission, et stockage de l information

Optimisation et programmation mathématique. Professeur Michel de Mathelin. Cours intégré : 20 h

Title Text. Outil intégré de collecte, d'analyse et de visualisation de données de mobilité

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Chapitre 2 : Systèmes radio mobiles et concepts cellulaires

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

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

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

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

Apprentissage Automatique

Fonctions de plusieurs variables

ETUDE D IMPACT ACOUSTIQUE

Les technologies du Big Data

Sujet. calculatrice: autorisée durée: 4 heures

BOUYGUES TELECOM ENTREPRISES - CLOUD

Le concept cellulaire

Les algorithmes de base du graphisme

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Appel à Propositions. Thème : «Couplage CFD / CAA»

Microsoft Excel : tables de données

Groupe Eyrolles, 2006, ISBN :

Résolution d équations non linéaires

PRÉSENTATION PRODUIT. Plus qu un logiciel, la méthode plus efficace de réconcilier.

Cours Fonctions de deux variables

Gestion de scène pour les moteurs 3D

Jean-Philippe Préaux

Conception de réseaux de télécommunications : optimisation et expérimentations


Table des matières. I Mise à niveau 11. Préface

Programmation par contraintes. Laurent Beaudou

Correction du baccalauréat ES/L Métropole 20 juin 2014

Les nouveautés de Femap 11.1

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Annexe 6. Notions d ordonnancement.

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Application des algorithmes de haute résolution à la localisation de mobiles en milieu confiné

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Traitement bas-niveau

L utilisation du lidar terrestre en foresterie. Richard Fournier Département de géomatique appliquée

Raisonnement probabiliste

6.4. Les Ombres Raytracées (Raytraced Shadows) Shading Lamp Shadow and Spot Hemi Spot Sun Sun Scene F10 Shadow Render Ray Ray Shadow Shadow and Spot

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

BACCALAUREAT GENERAL MATHÉMATIQUES

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Resolution limit in community detection

Smart Notification Management

Prédiction de couverture de champ radioélectrique pour les réseaux radiomobiles : L apport du Système d Information Géographique ArcInfo 8

Deux disques dans un carré

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Biochimie I. Extraction et quantification de l hexokinase dans Saccharomyces cerevisiae 1. Assistants : Tatjana Schwabe Marcy Taylor Gisèle Dewhurst

La (les) mesure(s) GPS

Chaine de transmission

Le Futur de la Visualisation d Information. Jean-Daniel Fekete Projet in situ INRIA Futurs

Chapitre 5 : Flot maximal dans un graphe

Analyse de la bande passante

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

CEGEP DU VIEUX-MONTRÉAL

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

chapitre 4 Nombres de Catalan

données en connaissance et en actions?

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Initiation au HPC - Généralités

Placez vous au préalable à l endroit voulu dans l arborescence avant de cliquer sur l icône Nouveau Répertoire

Documentation d information technique spécifique Education. PGI Open Line PRO

Etude comparative de différents motifs utilisés pour le lancé de rayon

Surveillance et Detection des Anomalies. Diagnostic d une digue: rappel méthodologique

Livre blanc. Au cœur de Diskeeper 2010 avec IntelliWrite

modélisation solide et dessin technique

Utilisation du SIG dans une entreprise industrielle pour l analyse et la prise de décision

LA VIDÉOSURVEILLANCE SANS FIL

Prise en compte des nœuds constructifs dans la PEB Formation développée dans le cadre de PATHB2010

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

Simulation d'un examen anthropomorphique en imagerie TEMP à l iode 131 par simulation Monte Carlo GATE

Cartes de l étendue des eaux libres liés aux inondations Guide des produits

Ordonnancement robuste et décision dans l'incertain

Enjeux mathématiques et Statistiques du Big Data

Transcription:

Introduction Visibilité polygone à polygone : calcul, représentation, applications Frédéric Mora Université de Poitiers - Laboratoire SIC 10 juillet 2006 1

La visibilité Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Une question incontournable en informatique graphique... Visualisation promenade virtuelle, occultation... Synthèse d images simulation d éclairage, ombres dures ou douces... Une information qui supporte très mal les approximations Importance de l éclairage pour la perception d une image Toute erreur est visuellement choquante 2

La visibilité Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Une question incontournable en informatique graphique... Visualisation promenade virtuelle, occultation... Synthèse d images simulation d éclairage, ombres dures ou douces... Une information qui supporte très mal les approximations Importance de l éclairage pour la perception d une image Toute erreur est visuellement choquante 2

Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Difficulté d un problème de visibilité Des problèmes liés à un point de vue Visualisation d environnements 3D Les ombres dures, engendrées par une source ponctuelle Des problèmes liés à une infinité de points de vue Visibilité depuis une cellule de vue Les ombres douces, engendrées par une source étendue Calcul d illumination globale 3

Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Difficulté d un problème de visibilité Des problèmes liés à un point de vue Visualisation d environnements 3D Les ombres dures, engendrées par une source ponctuelle Des problèmes liés à une infinité de points de vue Visibilité depuis une cellule de vue Les ombres douces, engendrées par une source étendue Calcul d illumination globale 3

Introduction Visibilité polygone à polygone Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker générale Dépasse le seul cadre de l informatique graphique Concerne tout échange d énergie entre éléments de surface Les domaines concernés Simulations d éclairage Simulations en électromagnétisme Simulations en acoustique, thermique... 4

Introduction Visibilité polygone à polygone Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker générale Dépasse le seul cadre de l informatique graphique Concerne tout échange d énergie entre éléments de surface Les domaines concernés Simulations d éclairage Simulations en électromagnétisme Simulations en acoustique, thermique... 4

Introduction Visibilité polygone à polygone Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Un problème 4D par nature La visibilité de deux polygones correspond à un ensemble de droites B l Exemple ci-contre, une paramétrisation possible de l est (α l, β l, γ l, θ l ) A 5

Introduction Visibilité polygone à polygone Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Un problème 4D par nature La visibilité de deux polygones correspond à un ensemble de droites θ θ l B l γ Exemple ci-contre, une paramétrisation possible de l est (α l, β l, γ l, θ l ) β β l A α l γ l α 5

Travaux précédents Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Des approches basées sur les mêmes fondamentaux [Nirenstein, 2002], [Bittner, 2002], [Haumont, 2005] Approches basées sur la paramétrisation de Plücker Un contexte applicatif commun Précalcul exact de cellules de vue Seule la preuve de la visibilité de deux polygones est utile 6

Travaux précédents Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Des approches basées sur les mêmes fondamentaux [Nirenstein, 2002], [Bittner, 2002], [Haumont, 2005] Approches basées sur la paramétrisation de Plücker Un contexte applicatif commun Précalcul exact de cellules de vue Seule la preuve de la visibilité de deux polygones est utile 6

Objectifs Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Visibilité polygone à polygone Calcul et représentation Réduire les coûts du calcul Représenter toutes les visibilités Démontrer le potentiel de l information calculée en synthèse d images Propagation des ondes électromagnétiques 7

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 OP π 3 OQ π 4 π 5 z Q PQ π 0 π 1 π 2 P x O y Coordonnées de Plücker d une droite orientée (PQ) = l dans R 3 l (π 0, π 1, π 2, π 3, π 4, π 5 ) dans P 5 8 π 0 = q x p x π 1 = q y p y π 2 = q z p z π 3 = q z p y q y p z π 4 = q x p z q z p x π 5 = q y p x q x p y

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 OP π 3 OQ π 4 π 5 z Q PQ π 0 π 1 π 2 P x O y Coordonnées de Plücker d une droite orientée (PQ) = l dans R 3 l (π 0, π 1, π 2, π 3, π 4, π 5 ) dans P 5 8 π 0 = q x p x π 1 = q y p y π 2 = q z p z π 3 = q z p y q y p z π 4 = q x p z q z p x π 5 = q y p x q x p y

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 OP π 3 OQ π 4 π 5 z Q PQ π 0 π 1 π 2 P x O y Coordonnées de Plücker d une droite orientée (PQ) = l dans R 3 l (π 0, π 1, π 2, π 3, π 4, π 5 ) dans P 5 8 π 0 = q x p x π 1 = q y p y π 2 = q z p z π 3 = q z p y q y p z π 4 = q x p z q z p x π 5 = q y p x q x p y

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Représentation duale point/hyperplan l (π 0, π 1, π 2, π 3, π 4, π 5 ) h l = {x P 5 π 3 x 0 + π 4 x 1 + π 5 x 2 + π 0 x 3 + π 1 x 4 + π 2 x 5 = 0} P 5 l h l P 5 La quadrique de Plücker Droites de R 3 sous ensemble 4D de P 5 {x P 5 h x (x) = 0}\{0} 9

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Représentation duale point/hyperplan l (π 0, π 1, π 2, π 3, π 4, π 5 ) h l = {x P 5 π 3 x 0 + π 4 x 1 + π 5 x 2 + π 0 x 3 + π 1 x 4 + π 2 x 5 = 0} P 5 l h l P 5 La quadrique de Plücker Droites de R 3 sous ensemble 4D de P 5 {x P 5 h x (x) = 0}\{0} P 5 h l (l ) = 0 h x (x) 0 Quadrique de Plücker 9

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker l 1 l l 1 h l (l 1 ) > 0 h l (x) = 0 l 2 l 3 l l l 2 l 3 h l (l 2 ) = 0 h l (l 3 ) < 0 Orientation relative de deux droites orientées Position relative d un point et d un hyperplan 10

Introduction La paramétrisation de Plücker Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker l 1 l l 1 h l (l 1 ) > 0 h l (x) = 0 l 2 l 3 l l l 2 l 3 h l (l 2 ) = 0 h l (l 3 ) < 0 Orientation relative de deux droites orientées Position relative d un point et d un hyperplan 10

Introduction Droites poignardantes Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker h e 1 h e 2 e 1 e 2 l l e 3 h e 3 R 3 P 5 Droites intersectant au moins un polygone convexe Ensemble des points de Plücker contenus dans l intersections de demi-espaces (la H-représentation) 11

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B b 1 b 2 h b 3 P AB b 3 h a 1 A a 1 a 2 a 3 P 5 12 Construction d un premier polytope P AB......en utilisant les hyperplans duaux des droites supports aux arêtes de A et B

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B b 1 b 2 h b 3 P AB b 3 h a 1 A a 1 a 2 a 3 P 5 Un polytope est......un volume convexe et fermé de R n (ici n = 5) 12

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 1 A P 5 Prendre en compte les bloqueurs Un bloqueur nuit potentiellement à la visibilité de A et B 13

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B h o 1 O o 1 A P 5 13 Principe Intersections successives de P AB par les hyperplans duaux des droites supports aux arêtes du bloqueur O

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 1 A P 5 Intersection par l hyperplan h o 1......le dual de la droite support à l arête o 1 de O 13

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 1 A P 5 Intersection par l hyperplan h o 1......le dual de la droite support à l arête o 1 de O 14

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 2 A P 5 Intersection par l hyperplan h o 2......le dual de la droite support à l arête o 2 de O 15

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 2 A h o 2 P 5 Intersection par l hyperplan h o 2......le dual de la droite support à l arête o 2 de O 15

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 2 A P 5 Intersection par l hyperplan h o 2......le dual de la droite support à l arête o 2 de O 15

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 2 A P 5 Intersection par l hyperplan h o 2......le dual de la droite support à l arête o 2 de O 16

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 3 A P 5 Intersection par l hyperplan h o 3......le dual de la droite support à l arête o 3 de O 17

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B h o 3 O o 3 A P 5 Intersection par l hyperplan h o 3......le dual de la droite support à l arête o 3 de O 17

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 3 A P 5 Intersection par l hyperplan h o 3......le dual de la droite support à l arête o 3 de O 17

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O o 3 A P 5 Intersection par l hyperplan h o 3......le dual de la droite support à l arête o 3 de O 18

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O A P 5 18 Intersections terminées! Le droites de P AB bloquées par O sont isolées dans un polytope

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O A P 5 19 Fin de la soustraction du bloqueur O Suppression du polytope contenant les droites bloquée. On a calculé : P AB 3 1 h+ o i

Introduction Suppression des droites occultées Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker R 3 B O A P 5 20 Résultat : un complexe de polytopes......dont seule l intersection avec la quadrique de Plücker correspond aux visibilités de A et B

Résumons Introduction Contexte L espace de Plücker Calculer la visibilité dans l espace de Plücker Visibilité polygone à polygone Calculable via des opérations géométriques CSG en 5D Représentable par un complexe de polytopes Seule l intersection de ce complexe avec la quadrique de Plücker constitue l information pertinente! 21

Plan Visibilité polygone à polygone 1 Visibilité polygone à polygone 2 3 22

Un problème complexe Complexité théorique [Pellegrini, 1990] O(n 4 log n) Complexité temps et mémoire d un arrangement de n hyperplans au voisinage de la quadrique de Plücker 23

Un problème complexe Complexité théorique [Pellegrini, 1990] O(n 4 log n) Complexité temps et mémoire d un arrangement de n hyperplans au voisinage de la quadrique de Plücker 23

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées... 24

Un problème complexe [Pu, 1999] Complexité pratique complexité théorique 16 polygones maximum [Nirenstein, 2002], [Bittner, 2002] Moins d intersections calculées......mais des opérations inutiles demeurent 24

Travaux précédents Nirenstein Preuve exacte de la visibilité mutelle de deux polygones. Application : calcul exact de cellules de vues Avantages Efficacité des opérations CSG dans l espace de Plücker Ordonnancement des bloqueurs Inconvénient Aucune représentation de la visibilité 25

Travaux précédents Nirenstein Preuve exacte de la visibilité mutelle de deux polygones. Application : calcul exact de cellules de vues Avantages Efficacité des opérations CSG dans l espace de Plücker Ordonnancement des bloqueurs Inconvénient Aucune représentation de la visibilité 25

Travaux précédents Nirenstein Preuve exacte de la visibilité mutelle de deux polygones. Application : calcul exact de cellules de vues Avantages Efficacité des opérations CSG dans l espace de Plücker Ordonnancement des bloqueurs Inconvénient Aucune représentation de la visibilité 25

Travaux précédents Bittner Calcul de la visibilité depuis un polygone Application : calcul exact de cellules de vues Avantage Représentation de la visibilité par un arbre BSP Inconvénients Algorithme de calcul coûteux Ordonnancement des bloqueurs impossible Des problèmes de robustesse 26

Travaux précédents Bittner Calcul de la visibilité depuis un polygone Application : calcul exact de cellules de vues Avantage Représentation de la visibilité par un arbre BSP Inconvénients Algorithme de calcul coûteux Ordonnancement des bloqueurs impossible Des problèmes de robustesse 26

Travaux précédents Bittner Calcul de la visibilité depuis un polygone Application : calcul exact de cellules de vues Avantage Représentation de la visibilité par un arbre BSP Inconvénients Algorithme de calcul coûteux Ordonnancement des bloqueurs impossible Des problèmes de robustesse 26

Visibilité polygone à polygone Précédents travaux Visibilité polygone à polygone : pas de solution dédiée Un problème commun : apparition d intersections inutiles Objectifs Calculer et représenter la visibilité de deux polygones Tendre vers une représentation minimale Réduire le nombre d intersections 27

Visibilité polygone à polygone Précédents travaux Visibilité polygone à polygone : pas de solution dédiée Un problème commun : apparition d intersections inutiles Objectifs Calculer et représenter la visibilité de deux polygones Tendre vers une représentation minimale Réduire le nombre d intersections 27

Pourquoi des intersections inutiles? P AB Faiblesse des tests d intersection Le rejet du bloqueur n est pas possible Effet de fragmentation de la visibilité 28 Notre approche : l esl-représentation d un bloqueur

Pourquoi des intersections inutiles? P AB Faiblesse des tests d intersection Le rejet du bloqueur n est pas possible Effet de fragmentation de la visibilité 28 Notre approche : l esl-représentation d un bloqueur

Pourquoi des intersections inutiles? P AB Faiblesse des tests d intersection Le rejet du bloqueur n est pas possible Effet de fragmentation de la visibilité 28 Notre approche : l esl-représentation d un bloqueur

Pourquoi des intersections inutiles? P AB Faiblesse des tests d intersection Le rejet du bloqueur n est pas possible Effet de fragmentation de la visibilité 28 Notre approche : l esl-représentation d un bloqueur

esl-représentation d un bloqueur B O R 3 A esl-représentation Les droites bloquées par O forment un polyèdre esl ij : droite définie par le sommet i de A et j de O Droites supports aux arêtes du polyèdre esl ij : l esl-representation du bloqueur O 29

esl-représentation d un bloqueur B B esl ij O O R 3 A R 3 A esl-représentation Les droites bloquées par O forment un polyèdre esl ij : droite définie par le sommet i de A et j de O Droites supports aux arêtes du polyèdre esl ij : l esl-representation du bloqueur O 29

esl-représentation d un bloqueur B B esl ij esl ij O O R 3 A R 3 A P 5 esl-représentation Les droites bloquées par O forment un polyèdre esl ij : droite définie par le sommet i de A et j de O Droites supports aux arêtes du polyèdre esl ij : l esl-representation du bloqueur O 29

Rejet d un bloqueur R 3 Rejet d un bloqueur Orientation relative d une droite avec les droites bloquées Orientation relative d une droite avec l esl-représentation P 5 30

Rejet d un bloqueur h l R 3 1 l 1 Rejet d un bloqueur Orientation relative d une droite avec les droites bloquées Orientation relative d une droite avec l esl-représentation P 5 30

Rejet d un bloqueur R 3 l 3 h l 3 Rejet d un bloqueur Orientation relative d une droite avec les droites bloquées Orientation relative d une droite avec l esl-représentation P 5 30

Visibilité polygone à polygone Rejet d un bloqueur R 3 h l 2 l 2 Rejet d un bloqueur Orientation relative d une droite avec les droites bloquées Orientation relative d une droite avec l esl-représentation P 5 30

Test d intersections P AB P AB Intersection polytope - bloqueur Rejet d un polytope les hyperplans du bloqueur Rejet de l esl-representation par les hyperplans du polytope 31

Test d intersections P AB P AB esl ij Intersection polytope - bloqueur Rejet d un polytope les hyperplans du bloqueur Rejet de l esl-representation par les hyperplans du polytope 31

Test d intersections P AB P AB esl ij Intersection polytope - bloqueur Rejet d un polytope les hyperplans du bloqueur Rejet de l esl-representation par les hyperplans du polytope 31

Algorithme de calcul Illustration de l algorithme P P Soustraction d un premier bloqueur 32

Algorithme de calcul Illustration de l algorithme P h 1 P, h 1 Un nœud = un polytope + l hyperplan qui l intersecte 32

Algorithme de calcul Illustration de l algorithme h 1 P, h 1 P h + 1 P h 1 Ajout de deux fils, produits de l intersection 32

Algorithme de calcul Illustration de l algorithme P, h 1 h 2 P h + 1 P h 1, h 2 Poursuite dans le demi-espace contenant les droites bloquées 33

Algorithme de calcul Illustration de l algorithme P, h 1 h 2 P h + 1 P h 1, h 2 P h 1 h+ 2 P h 1 h 2 Intersection par l hyperplan suivant 33

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 P h 1 h 2 L ensemble des droites bloquées est déterminé 33

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Suppression du polytope correspondant 33

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Intersection des polytopes avec la quadrique de Plücker? 33

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Soustraction des bloqueurs suivants 34 Un bloqueur hyperplans + esl-représentation Feuille invisible atteinte : rien à faire Feuille visible atteinte : soustraction au polytope contenu

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Soustraction des bloqueurs suivants 34 Un bloqueur hyperplans + esl-représentation Feuille invisible atteinte : rien à faire Feuille visible atteinte : soustraction au polytope contenu

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Soustraction des bloqueurs suivants 34 Un bloqueur hyperplans + esl-représentation Feuille invisible atteinte : rien à faire Feuille visible atteinte : soustraction au polytope contenu

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Soustraction des bloqueurs suivants 34 Un bloqueur hyperplans + esl-représentation Feuille invisible atteinte : rien à faire Feuille visible atteinte : soustraction au polytope contenu

Algorithme de calcul Illustration de l algorithme P, h 1 P h + 1 P h 1, h 2 P h 1 h+ 2 invisible Soustraction des bloqueurs suivants 34 Un bloqueur hyperplans + esl-représentation Feuille invisible atteinte : rien à faire Feuille visible atteinte : soustraction au polytope contenu

Algorithme de calcul En sortie : un arbre VBSP A e 1 e 3 e 4 e 1 e 2 e5 e 2 e 5 e 3 V e 4 V B I V I V 35 À la fin des calculs Suppression des polytopes associés aux nœuds Représentation de la visibilité par un arbre BSP (VBSP)

Évaluation pratique Scènes générées Scène urbaine Valeurs mesurées Nombre d intersections hyperplan/polytope (temps) Nombre de polytopes représentant la visibilité (mémoire) 36

Scènes générées Visibilité polygone à polygone Intersections Nb intersections 45000 40000 35000 30000 25000 20000 15000 10000 5000 0 test partiel vbsp 0 20 40 60 80 100 120 Bloqueurs effectifs Polytopes Nb polytopes 9000 8000 7000 6000 5000 4000 3000 2000 1000 0 test partiel vbsp 0 20 40 60 80 100 120 Bloqueurs effectifs Gain 60% des ressources temps et mémoire Temps : O(n 1.92 ). Mémoire : O(n 1.76 ) 37

Scène urbaine Visibilité polygone à polygone Intersections Nb intersections 2500 2000 1500 1000 500 test partiel vbsp 0 0 20 40 60 80 100 120 Bloqueurs effectifs Polytopes Nb polytopes 500 450 400 350 300 250 200 150 100 50 0 test partiel vbsp 0 20 40 60 80 100 120 Bloqueurs effectifs Différence flagrante de complexité Comportement borné de notre approche 38

Plan Visibilité polygone à polygone 1 Visibilité polygone à polygone 2 3 39

Simuler la propagation des OEM Dans quel but? Déploiement d antennes Étude du canal de propagation Comment? Différents modèles de propagation Les plus souples et les plus précis : les modèles basés rayons 40

Simuler la propagation des OEM Dans quel but? Déploiement d antennes Étude du canal de propagation Comment? Différents modèles de propagation Les plus souples et les plus précis : les modèles basés rayons 40

Les modèles basés rayons Principe Onde rayon Interactions : réflexion, transmission, diffraction Trouver les trajets émetteur récepteur Deux approches Approches basées lancer de rayons Rapide Avec pertes de trajet Approches basées source-images Sans perte de trajet (recherche combinatoire) Complexité prohibitive : O(n (I d +I r +I t ) ) 41

Les modèles basés rayons Principe Onde rayon Interactions : réflexion, transmission, diffraction Trouver les trajets émetteur récepteur Deux approches Approches basées lancer de rayons Rapide Avec pertes de trajet Approches basées source-images Sans perte de trajet (recherche combinatoire) Complexité prohibitive : O(n (I d +I r +I t ) ) 41

Les modèles basés rayons Principe Onde rayon Interactions : réflexion, transmission, diffraction Trouver les trajets émetteur récepteur Deux approches Approches basées lancer de rayons Rapide Avec pertes de trajet Approches basées source-images Sans perte de trajet (recherche combinatoire) Complexité prohibitive : O(n (I d +I r +I t ) ) 41

Les modèles basés rayons Le problème Avec perte de trajets : validité des simulations Sans perte de trajets : scènes non significatives Aucune solution optimale et praticable Objectif Proposer une solution optimale et praticable! Optimisation sans perte d un modèle basé source-images 42

Les modèles basés rayons Le problème Avec perte de trajets : validité des simulations Sans perte de trajets : scènes non significatives Aucune solution optimale et praticable Objectif Proposer une solution optimale et praticable! Optimisation sans perte d un modèle basé source-images 42

Vue d ensemble Visibilité polygone à polygone Calculer un graphe exact de visibilité un nœud = un polygone, une arête un arc = visibilité de deux primitives géométriques Apport du graphe Restreindre la recherche des trajets aux seuls couples de primitives visibles La nature exacte des calculs de visibilité garantit de ne perdre aucun trajet 43

Vue d ensemble Visibilité polygone à polygone Calculer un graphe exact de visibilité un nœud = un polygone, une arête un arc = visibilité de deux primitives géométriques Apport du graphe Restreindre la recherche des trajets aux seuls couples de primitives visibles La nature exacte des calculs de visibilité garantit de ne perdre aucun trajet 43

Les arcs du graphe de visibilité Relations de visibilité à déterminer polygone - polygone polygone - arête arête - arête Solution proposée La visibilité de deux polygones inclue celle de leurs arêtes Extraire cette information du complexe de polytopes associé 44

Les arcs du graphe de visibilité Relations de visibilité à déterminer polygone - polygone polygone - arête arête - arête Solution proposée La visibilité de deux polygones inclue celle de leurs arêtes Extraire cette information du complexe de polytopes associé 44

Où trouver l information recherchée? Les bords de P AB Ils sont formés de polytopes de dimension k, ou k-faces, avec k < 5 45

Visibilité polygone à polygone Où trouver l information recherchée? Les bords de P AB Ils sont formés de polytopes de dimension k, ou k-faces, avec k < 5 Description combinatoire d une k-face L ensemble des hyperplans qui lui sont incidents 45

Où trouver l information recherchée? a 1 a 2 A B a 0 Visibilité arête-polygone Visibilité de a 2 avec B : droites incidentes à h a 2 Description combinatoire d une 4-face de P AB 46

Où trouver l information recherchée? a 1 a 2 a 0 A b 1 b 2 b 0 B Visibilité arête-arête Visibilité de a 2 avec b 1 : droites incidentes à h a 2 et à h b 1 Description combinatoire d une 3-face de P AB 47

Résumons Visibilité polygone à polygone La visibilité des arêtes de A et B est contenue dans le bord du polytope P AB Visibilités arête-arête arête-polygone P AB 3-faces 4-faces Solution Marquer les 3-faces et 4-faces concernées de P AB Calculer la visibilité, i.e. soustraire les bloqueurs potentiels Vérifier s il demeure tout ou partie des 3-faces et 4-faces initialement marquées 48

Résumons Visibilité polygone à polygone La visibilité des arêtes de A et B est contenue dans le bord du polytope P AB Visibilités arête-arête arête-polygone P AB 3-faces 4-faces Solution Marquer les 3-faces et 4-faces concernées de P AB Calculer la visibilité, i.e. soustraire les bloqueurs potentiels Vérifier s il demeure tout ou partie des 3-faces et 4-faces initialement marquées 48

Exemple Visibilité polygone à polygone b 2 B a 1 b 2 A Visibilités arête-polygone, arête-arête A a 0 a 1 a 2 a 3 B b 0 - - - - - b 1 - - - - - b 2 b 3 - - - - - 49

Calcul complet du graphe de visibilité Environnements ciblés Scènes extérieures 2.5D Possibilité d extension à tout environnement 3D Une complexité non négligeable Tester tous les couples de polygones de la scène Complexité en O(n 2 ) 50

Calcul complet du graphe de visibilité Environnements ciblés Scènes extérieures 2.5D Possibilité d extension à tout environnement 3D Une complexité non négligeable Tester tous les couples de polygones de la scène Complexité en O(n 2 ) 50

Calcul complet du graphe de visibilité Calcul hiérarchique Hiérarchie de boîtes englobantes Phase 1 : visibilité feuille-hiérarchie Phase 2 : visibilité feuille à feuille Précision variable Phase 1 : Une preuve de la visibilité suffit [Haumont, 2005] Phase 2 : Requête unifiée et mise à jour du graphe de visibilité 51

Calcul complet du graphe de visibilité Calcul hiérarchique Hiérarchie de boîtes englobantes Phase 1 : visibilité feuille-hiérarchie Phase 2 : visibilité feuille à feuille Précision variable Phase 1 : Une preuve de la visibilité suffit [Haumont, 2005] Phase 2 : Requête unifiée et mise à jour du graphe de visibilité 51

Précalcul : résultats Précalcul des graphes de visibilité Graphe de visibilité Paris A Paris B Nb polygones 2 163 6 693 Nb arêtes 1 807 5 792 Sans hiérarchie 55 min 40 s 15 h 23 min Temps de calcul 24 min 20 s 4 h 14 min 5 s AMD64 3200+ (2.2Ghz) - 3Go RAM 52

Précalcul : résultats Statistiques Relation de visibilité Graphe de visibilité Paris A Paris B Visibilité polygone-polygone 2.58 % 1.67 % Visibilité polygone-arête 4.68 % 2.97 % Visibilité arête-arête 6.40 % 4.09 % Pourcentages de visibilités entre primitives 53

Calcul de zones de couvertures Paris A (8983 récepteurs) Interactions Avec GV Sans GV 1 R 0 D 3s 10s 2 R 0 D 36s 2h 55min 24s 2 R 1 D 3h 18min > 3 ans 3 R 0 D 23min 18s > 8 mois Paris B (8024 récepteurs) Interactions Avec GV Sans GV 1 R 0 D 4s 26s 2 R 0 D 34s > 1j 8h 2 R 1 D 7h 16min - 3 R 0 D 34min 23s - 54

Plan Visibilité polygone à polygone 1 Visibilité polygone à polygone 2 3 55

Visibilité polygone à polygone Source étendue Ombre douce Visibilité totale zone éclairée Visibilité partielle zone de pénombre Invisible zone d ombre 56 Un problème toujours actuel La qualité des ombres est visuellement importante Elle dépend de la visibilité des sources en chaque point = Qualité vs rapidité

Visibilité polygone à polygone Source étendue Ombre douce Visibilité totale zone éclairée Visibilité partielle zone de pénombre Invisible zone d ombre 56 Un problème toujours actuel La qualité des ombres est visuellement importante Elle dépend de la visibilité des sources en chaque point = Qualité vs rapidité

Visibilité polygone à polygone Source étendue Ombre douce Visibilité totale zone éclairée Visibilité partielle zone de pénombre Invisible zone d ombre 56 Un problème toujours actuel La qualité des ombres est visuellement importante Elle dépend de la visibilité des sources en chaque point = Qualité vs rapidité

Visibilité polygone à polygone Source étendue Ombre douce Visibilité totale zone éclairée Visibilité partielle zone de pénombre Invisible zone d ombre 56 Un problème toujours actuel La qualité des ombres est visuellement importante Elle dépend de la visibilité des sources en chaque point = Qualité vs rapidité

Visibilité polygone à polygone Source étendue Ombre douce Visibilité totale zone éclairée Visibilité partielle zone de pénombre Invisible zone d ombre 56 Un problème toujours actuel La qualité des ombres est visuellement importante Elle dépend de la visibilité des sources en chaque point = Qualité vs rapidité

Visibilité polygone à polygone Précédents travaux Approches stochastiques Sources échantillonnées + rayons d ombre [Whitted, 1980] Qualité beaucoup d échantillons Source échantillonnée Caméra Rayons d ombre 57

Précédents travaux Faisceaux de rayons Tirer partie de la cohérence spatiale Problèmes : géométrie des faisceaux, formes des sources Source Caméra Faisceaux 58

Précédents travaux Volumes d ombres et de pénombres Éléments éclairés, dans la pénombre, dans l ombre. [Nishita et al, 1985], [Chin et al, 1992], [Lethinen, 2006] 59

Objectifs Visibilité polygone à polygone Qualité & Rapidité Calcul analytique de l illumination directe Détermination efficace de la visibilité des sources Comment? Un arbre VBSP par couple (source, polygone) Contient tous les points de vue de la source depuis le polygone Algorithme d extraction de la visibilité depuis un point 60

Objectifs Visibilité polygone à polygone Qualité & Rapidité Calcul analytique de l illumination directe Détermination efficace de la visibilité des sources Comment? Un arbre VBSP par couple (source, polygone) Contient tous les points de vue de la source depuis le polygone Algorithme d extraction de la visibilité depuis un point 60

Objectifs Visibilité polygone à polygone Qualité & Rapidité Calcul analytique de l illumination directe Détermination efficace de la visibilité des sources Comment? Un arbre VBSP par couple (source, polygone) Contient tous les points de vue de la source depuis le polygone Algorithme d extraction de la visibilité depuis un point 60

Objectifs Visibilité polygone à polygone Qualité & Rapidité Calcul analytique de l illumination directe Détermination efficace de la visibilité des sources Comment? Un arbre VBSP par couple (source, polygone) Contient tous les points de vue de la source depuis le polygone Algorithme d extraction de la visibilité depuis un point 60

Objectifs Visibilité polygone à polygone Qualité & Rapidité Calcul analytique de l illumination directe Détermination efficace de la visibilité des sources Comment? Un arbre VBSP par couple (source, polygone) Contient tous les points de vue de la source depuis le polygone Algorithme d extraction de la visibilité depuis un point 60

Question Soit un point w sur un polygone B visible d une source A. A Comment extraire de leur arbre VBSP les parties visibles de A depuis w? B w Réponse Traverser l arbre VBSP en subdivisant la source A par les projetées des droites depuis w 61

Question Soit un point w sur un polygone B visible d une source A. A Comment extraire de leur arbre VBSP les parties visibles de A depuis w? B w Réponse Traverser l arbre VBSP en subdivisant la source A par les projetées des droites depuis w 61

Visibilité polygone à polygone Question Soit un point w sur un polygone B visible d une source A. A Comment extraire de leur arbre VBSP les parties visibles de A depuis w? B w Réponse Traverser l arbre VBSP en subdivisant la source A par les projetées des droites depuis w B w A 61

Extraire la visibilité depuis un point Illustration de l algorithme P A O O e 1 P e 2 e 5 e 1 e 3 V e 4 V w I V I V 62

Extraire la visibilité depuis un point Illustration de l algorithme P A O O e 1 P e 2 e 5 e 1 O e 3 V e 4 V w O I V I V 62

Extraire la visibilité depuis un point Illustration de l algorithme R S A O O e 1 P e 2 e 5 O R S e 1 e 5 w e 3 V e 4 V O R I V I V 62

Extraire la visibilité depuis un point Caractéristiques de l algorithme Simple! Intersections 2D droites/polygones Procure les parties visibles d une source Complexité théorique : O(n) (n = nœuds du VBSP) Application au calcul des ombres douces En chaque point visible de la position de caméra Extraire les parties visibles des sources Calculer analytiquement l illumination directe 63

Extraire la visibilité depuis un point Caractéristiques de l algorithme Simple! Intersections 2D droites/polygones Procure les parties visibles d une source Complexité théorique : O(n) (n = nœuds du VBSP) Application au calcul des ombres douces En chaque point visible de la position de caméra Extraire les parties visibles des sources Calculer analytiquement l illumination directe 63

Extraire la visibilité depuis un point Caractéristiques de l algorithme Simple! Intersections 2D droites/polygones Procure les parties visibles d une source Complexité théorique : O(n) (n = nœuds du VBSP) Application au calcul des ombres douces En chaque point visible de la position de caméra Extraire les parties visibles des sources Calculer analytiquement l illumination directe 63

Extraire la visibilité depuis un point Caractéristiques de l algorithme Simple! Intersections 2D droites/polygones Procure les parties visibles d une source Complexité théorique : O(n) (n = nœuds du VBSP) Application au calcul des ombres douces En chaque point visible de la position de caméra Extraire les parties visibles des sources Calculer analytiquement l illumination directe 63

Visibilité polygone à polygone Salon - 2 sources Statistiques Étape de précalcul Temps 148 s Taille 20981 nds (1.1Mo) Étape de rendu Temps MentalRay c Facteur 5 s 888 s x177 64 1280x960 @ AMD64 3200+ (2.2Ghz) - 3Go RAM

Visibilité polygone à polygone Classe - 4 sources Statistiques Étape de précalcul Temps 542 s Taille 93436 nds (5Mo) Étape de rendu Temps MentalRay c Facteur 14.8 s 1172 s x79 65 1280x960 @ AMD64 3200+ (2.2Ghz) - 3Go RAM

Extraction : analyse pratique Salon Nb noeuds visités 140 120 100 80 60 40 20 0 0 100 200 300 400 500 600 700 800 Nb noeuds total Classe Nb noeuds visités 80 70 60 50 40 30 20 10 0 0 50 100 150 200 250 300 350 400 450 500 Nb noeuds total Complexité pratique Non linéaire! Tend vers un comportement logarithmique 66

Conclusion Conclusion et perspectives Visibilité polygone à polygone Contributions esl-représentation d un bloqueur algorithme de calcul efficace représentation de la visibilité Perspectives Prendre en compte la silhouette des objets Définir une mesure de la visibilité 67

Conclusion Conclusion et perspectives Visibilité polygone à polygone Contributions esl-représentation d un bloqueur algorithme de calcul efficace représentation de la visibilité Perspectives Prendre en compte la silhouette des objets Définir une mesure de la visibilité 67

Conclusion Conclusion et perspectives Propagation des ondes électromagnétiques Contributions Visibilité et bord d un polytope Algorithme de calcul d un graphe de visibilité exact Optimisation sans perte d un modèle basé rayons Perspectives Parcours intelligent du graphe de visibilité Combinaison avec d autres optimisations géométriques Utiliser l information contenue dans les arbres VBSP 68

Conclusion Conclusion et perspectives Propagation des ondes électromagnétiques Contributions Visibilité et bord d un polytope Algorithme de calcul d un graphe de visibilité exact Optimisation sans perte d un modèle basé rayons Perspectives Parcours intelligent du graphe de visibilité Combinaison avec d autres optimisations géométriques Utiliser l information contenue dans les arbres VBSP 68

Conclusion Conclusion et perspectives Contributions Algorithme d extraction de la visibilité d une source Calcul analytique des ombres douces rapide et exact Perspectives Visibilité absolue d un objet Extension au lancer de rayons interactif Généralisation à des calculs d illumination globale 69

Conclusion Conclusion et perspectives Contributions Algorithme d extraction de la visibilité d une source Calcul analytique des ombres douces rapide et exact Perspectives Visibilité absolue d un objet Extension au lancer de rayons interactif Généralisation à des calculs d illumination globale 69