Вы находитесь на странице: 1из 228

Universit Joseph Fourier e

Grenoble I

Radiosit Dynamique 2D e et Complexe de Visibilit e

tel-00004958, version 1 - 20 Feb 2004

Th`se prsente par : e e e

Rachel Orti
pour obtenir le titre de : Docteur de lUniversit Joseph Fourier e spcialit Informatique e e
Arrts ministriels du 5 Juillet 1984 et du 30 Mars 1992 ee e

soutenue le 15 Juillet 1997 devant la commission dexamen : MM. Philippe Bernard Michel Claude Xavier Cinquin Prsident e roche Pe Rapporteur Pocchiola Rapporteur Puech Pueyo

Th`se prpare au sein du laboratoire iMAGIS / GRAVIR-IMAG e e e


iMAGIS est un projet commun entre le CNRS, lINRIA, lINPG et lUJF.

tel-00004958, version 1 - 20 Feb 2004

Remerciements
Je tiens ` remercier Bernard Proche et Michel Pocchiola qui ont accept dtre les rappora e e e teurs de ma th`se. Merci aussi ` Xavier Pueyo qui a bien voulu faire partie de mon jury (dsole e a e e Xavier je ne ferai pas de postdoc en Espagne, jesp`re que tu ne men veux pas !), et merci ` e a Philippe Cinquin qui ma fait lhonneur de le prsider. e Je remercie Claude Puech de mavoir accueillie dans son quipe, de mavoir fait conance e pour ce sujet, et de mavoir toujours soutenue pendant les priodes de rush (mme - surtout? e e quand ctait lui qui les avaient provoques !). e e Merci ` tous les membres diMAGIS sans qui lambiance au labo naurait pas t la mme. a ee e Merci tout particuli`rement aux Glandus pour tout ce que nous avons vcu ensemble : de la e e razzia sur les toasts et les petits fours lors des pots, aux soires grosse boue et picole, ... e Je garderai mon tee-shirt Glandus@imagis prcieusement! Merci notamment ` Frdo et Nico e a e dont lappartement sest tr`s souvent transform en squat iMAGIS (nest ce pas Fabrice? :-)) Je e e remercie aussi Nico pour les soires LD THX et bientt DTS. Quant a Frdo, jajouterai encore e o ` e que son mrite est immense : outre les publications que nous avons partages !, il ma aussi e e beaucoup aide par sa connaissance du sujet, par ses conseils aviss et son ternelle prsence. e e e e Merci aussi a Ponpon et CSol, membres tout aussi minents de notre petit groupe des Glandus. ` e Je remercie Mathieu qui reste notre p`re ` tous et qui est toujours prsent pour ler un coup e a e de main a tout le monde. Merci aussi ` FF, qui ma notamment accompagne en rdigeant sa ` a e e propre th`se. Lhonneur reste sauf, jai quand-mme russi ` soutenir avant lui ! Un grand merci e e e a aussi ` Agata, ma coloc prfre qui ma fait entre autres apprcier quelques bonnes recettes a ee e e de cuisine du monde, et avec qui jai partag des tas de choses et de tr`s bons moments. Je e e noublie pas non plus Stphane avec qui jai partag le complexe de visibilit 2D, ni George qui e e e nous a bien aid pour notre article Eurographics, et qui ma conseille maintes fois. Merci aussi e e a ` Dominique qui est toujours dune aide technique ecace, notamment en ce qui concerne le syst`me, et sans qui le rseau et les conditions de travail au labo ne seraient pas ce quils sont. e e Je remercie de justesse curry, ma station prfre qui ma lche deux-trois jours avant ma ee e a e soutenance en dgageant une grosse fume noire... e e Et par dessus tout, je remercie Alexis qui a toujours t l` pour me soutenir, et sans qui je ee a naurais peut-tre jamais ni cette th`se. Je lui la ddie. e e e

tel-00004958, version 1 - 20 Feb 2004

tel-00004958, version 1 - 20 Feb 2004

` TABLE DES MATIERES

Table des mati`res e


Introduction 1 Etat de lart 1.1 La mthode de radiosit . . . . . . . . . . . . . . . . . . . . . . . e e 1.1.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . e 1.1.2 Direntes mthodes de rsolution du syst`me dquations e e e e e 1.2 Le facteur de forme . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . e 1.2.2 Proprits du facteur de forme . . . . . . . . . . . . . . . ee 1.2.3 Mthodes de dtermination . . . . . . . . . . . . . . . . . e e 1.3 Le maillage de discontinuit . . . . . . . . . . . . . . . . . . . . . e 1.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2 Dirents types de discontinuit . . . . . . . . . . . . . . e e 1.3.3 Maillage de discontinuit en 2D . . . . . . . . . . . . . . . e 1.3.4 Construction du maillage de discontinuit en 3D . . . . . e 1.4 Techniques de visibilit pour la radiosit . . . . . . . . . . . . . . e e 1.5 Radiosit pour les environnements dynamiques . . . . . . . . . . e 1.5.1 Recalcul dune solution de radiosit . . . . . . . . . . . . e 1.5.2 Mthodes dinterpolation . . . . . . . . . . . . . . . . . . e 1.5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . 1.6 Le complexe de visibilit . . . . . . . . . . . . . . . . . . . . . . . e 1.6.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 1.6.2 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . . . e 1.6.3 Reprsentation dans un espace dual . . . . . . . . . . . . e 1.6.4 Construction . . . . . . . . . . . . . . . . . . . . . . . . . 1.7 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 5 5 5 6 9 9 12 13 18 18 20 23 25 27 29 30 36 37 38 38 38 39 45 48 49 49 51 51 53 53 59

. . . . . . . . . . . . . . de radiosit e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

tel-00004958, version 1 - 20 Feb 2004

2 Expressions du facteur de forme en 2D 2.1 Facteur de forme comme un rapport de mesures de droites . . . . . . . 2.2 Facteur de forme comme une somme pondre de longueurs de courbes ee 2.2.1 Dnition de la string rule . . . . . . . . . . . . . . . . . . . e 2.2.2 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.3 Dmonstrations . . . . . . . . . . . . . . . . . . . . . . . . . . . e 2.2.4 Cas gnral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

ii

` TABLE DES MATIERES 65 65 65 67 71 73 73 76 78 79 79 81 83 87 87 88 89 90

3 Expressions du facteur de forme 2D dans un espace dual 3.1 Expression du facteur de forme dni par un rapport de mesures de droites . . . e 3.1.1 Facteur de forme et faces du complexe de visibilit . . . . . . . . . . . . . e 3.1.2 En dualit (, u) : expression du facteur de forme en fonction dune somme e daires de faces du complexe . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.3 En dualit (a, b) : expression du facteur de forme en fonction dune somme e dintgrales simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 3.2 Expression du facteur de forme dni par une somme pondre de longueurs de e ee courbes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Cas des objets convexes avec la dualit (, u) . . . . . . . . . . . . . . . . e 3.2.2 Cas des polygones avec la dualit (a, b) . . . . . . . . . . . . . . . . . . . e 3.2.3 Cas o` la string rule nest pas directement applicable . . . . . . . . . . u 3.3 Probl`mes dus ` la direction verticale en dualit (a, b) . . . . . . . . . . . . . . . e a e 3.3.1 Deux types de faces dgnres . . . . . . . . . . . . . . . . . . . . . . . . e e ee 3.3.2 Dgnrescence et choix du rep`re . . . . . . . . . . . . . . . . . . . . . . e e e e 3.3.3 Comment traiter les probl`mes dus ` la verticale? . . . . . . . . . . . . . e a

tel-00004958, version 1 - 20 Feb 2004

4 Maillage de discontinuit e 4.1 Dirents types de discontinuit et correspondance dans lespace dual . . . . e e 4.1.1 Cas des objets convexes . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Cas des polygones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Dtermination des points de discontinuit au moyen du complexe . . . . . . . e e 4.2.1 Utilisation dinformations issues du complexe et calcul dans lespace de sc`ne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 4.2.2 Calcul directement dans lespace dual . . . . . . . . . . . . . . . . . . 4.3 Implmentation du calcul du maillage de discontinuit . . . . . . . . . . . . . e e 4.3.1 Cas des objets convexes . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Cas des polygones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.3 Calcul uniquement des discontinuits lies ` lclairage direct . . . . . e e a e

. . . . . . . . la . . 90 . . 93 . . 96 . . 96 . . 98 . . 102

5 Echantillonnage et calcul de facteurs de forme 105 5.1 Calcul du facteur de forme entre deux lments . . . . . . . . . . . . . . . . . . . 105 ee 5.1.1 Facteur de forme lment ` lment . . . . . . . . . . . . . . . . . . . . . 105 ee aee 5.1.2 Facteur de forme point ` lment . . . . . . . . . . . . . . . . . . . . . . . 110 aee 5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du complexe116 e ee 5.2.1 Une premi`re mthode de calcul des facteurs de forme entre lments . . 117 e e ee 5.2.2 Implmentation dune mthode ecace pour les polygones . . . . . . . . . 123 e e 5.2.3 Mthode similaire labore pour les objets convexes . . . . . . . . . . . . 128 e e e 6 Tests de comparaison avec la mthode de Heckbert e 6.1 Prsentation des deux mthodes de calcul de facteurs de forme . . e e 6.1.1 Notre mthode : facteurs de forme calculs par une somme e e longueurs de courbes . . . . . . . . . . . . . . . . . . . . . . 6.1.2 Mthode de Heckbert . . . . . . . . . . . . . . . . . . . . . e 6.2 Comparaison des valeurs de facteurs de forme obtenues . . . . . . 6.2.1 Crit`re de comparaison choisi . . . . . . . . . . . . . . . . . e 6.2.2 Rsultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 139 139 139 139 141 141 141

. . . . . . . . pondre de ee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

` TABLE DES MATIERES 6.3 Tests sur des sc`nes complexes . . . . . . . . . . . . e 6.3.1 Description des sc`nes testes . . . . . . . . . e e 6.3.2 Tests avec notre programme . . . . . . . . . . 6.3.3 Comparaison avec le programme de Heckbert Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iii 150 150 152 157 162 163 164 164 167 182 186 186 188 189 190 193

6.4

7 Radiosit pour les environnements dynamiques 2D e 7.1 Dplacement sans changement topologique dans la visibilit . . . . . . . . . . . . e e 7.1.1 Les deux cas ncessitant un recalcul de facteur de forme . . . . . . . . . . e 7.1.2 Recalcul des facteurs de forme strictement ncessaires apr`s un dplacee e e ment d dun objet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3 Mise a jour des discontinuits . . . . . . . . . . . . . . . . . . . . . . . . . ` e 7.2 Dplacement avec changement topologique dans la visibilit . . . . . . . . . . . . e e 7.2.1 Changements lmentaires de visibilit . . . . . . . . . . . . . . . . . . . . ee e 7.2.2 Mise a jour dynamique du complexe de visibilit . . . . . . . . . . . . . . ` e 7.2.3 Recalculs de facteurs de forme ncessaires . . . . . . . . . . . . . . . . . . e 7.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

tel-00004958, version 1 - 20 Feb 2004

Conclusion

A Dualit et complexe de visibilit e e 197 A.1 Dnition des dualits (, u) et (a, b) . . . . . . . . . . . . . . . . . . . . . . . . . 197 e e A.2 Utilisation de la dualit pour visualiser les lments du complexe . . . . . . . . . 199 e ee B Notions de Gomtrie Intgrale e e e B.1 Rappels sur le produit extrieur . . . . . . . . . . . . . . e B.2 Densit pour des ensembles de droites . . . . . . . . . . . . e B.3 Mesure des droites intersectant un ensemble convexe ou une B.4 Mesure des droites intersectant deux ensembles convexes . . 201 201 202 203 203

. . . . . . . . courbe . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

tel-00004958, version 1 - 20 Feb 2004

TABLE DES FIGURES

Table des gures


1.1 1.2 1.3 Deux mthodes : gathering (a) et shooting (b). . . . . . . . . . . . . . . . . . e Subdivision hirarchique obtenue pour deux rectangles perpendiculaires (schma e e de P. Hanrahan, Princeton University). . . . . . . . . . . . . . . . . . . . . . . . . (1) Rpartition de lnergie dans les dirents niveaux de la hirarchie : les sure e e e faces les plus sombres indiquent les plus fortes valeurs de radiosit (schma issu e e de [SP94]) ; (2) Reprsentation hirarchique de la matrice de facteurs de forme e e (schma de P. Hanrahan, Princeton University). . . . . . . . . . . . . . . . . . . . e Notations pour le facteur de forme. . . . . . . . . . . . . . . . . . . . . . . . . . . Analogue de Nusselt (schma issu de [SP94]). . . . . . . . . . . . . . . . . . . . . e Lhmicube (schma issu de [SP94]). . . . . . . . . . . . . . . . . . . . . . . . . . e e Subdivision de la source pour le calcul dun facteur de forme (schma issu de e [SP94]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Subdivision adaptative gnre le long dune limite dombre (schma issu de [SP94]). e ee e Discontinuits D0 : (a) discontinuit lie ` deux surfaces en contact ; (b) discone e e a tinuit lie ` une source ponctuelle. . . . . . . . . . . . . . . . . . . . . . . . . . . e e a Exemple de surface EV (schma (b) issu de [DF94]). . . . . . . . . . . . . . . . . e Dtermination des limites dombre et de pnombre (schma de P. Heckbert, Unie e e versit de Carnegie Mellon. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Evnements EV, vus depuis un point de vue qui regarde en direction de la source e de lumi`re et qui se dplace le long dune surface rceptrice (schma adapt de e e e e e [CW93]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de surface EEE (schma (b) issu de [DF94]). . . . . . . . . . . . . . . . e Mthode de Heckbert pour le calcul des discontinuits D1 . . . . . . . . . . . . . . e e Exemple de discontinuit D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Calcul des artes de discontinuits dans la mthode de Heckbert. . . . . . . . . . e e e Direntes tapes dun programme utilisant la mthode de radiosit, et recalculs e e e e imposs par les dirents changements apports ` la sc`ne. . . . . . . . . . . . . e e e a e Utilisation de lhmicube pour dterminer les changements de facteurs de forme e e (schma issu de [SP94]) : (a) projection des objets statiques, puis du volume ene globant de lobjet dynamique sur lhmicube ; (b) stockage dans un deuxi`me e e  buer des surfaces statiques caches par le volume englobant ; (c) superposition   e des parties visibles de lobjet dynamique sur le deuxi`me buer. . . . . . . . . e Redistribution dnergie lie ` lajout dun objet dans la sc`ne (schma issu de e e a e e [SP94]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e ee e Utilisation dun shadow volume pour dterminer les lments aects par la redistribution (schma issu de [SP94]). . . . . . . . . . . . . . . . . . . . . . . . . e Exemples de polygones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 10

tel-00004958, version 1 - 20 Feb 2004

1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12

10 11 15 15 17 19 21 22 22

1.13 1.14 1.15 1.16 1.17 1.18

23 23 24 24 26 30

32 34 35 38

1.19 1.20 1.21

vi 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.30 1.31 1.32 1.33 1.34 2.1 2.2 2.3 2.4 2.5 2.6

TABLE DES FIGURES Exemple de segments libres maximaux. . . . . . . . . . . . . . . . . . . . . . . . Elments du complexe de visibilit. . . . . . . . . . . . . . . . . . . . . . . . . . . e e Une droite et son point dual dans la dualit (, u). . . . . . . . . . . . . . . . . . e Courbes de tangence et dun objet convexe. . . . . . . . . . . . . . . . . . . . Deux objets et leurs courbes de tangence associes. . . . . . . . . . . . . . . . . . e (a) Sc`ne ; (b) Arrangement dual de la sc`ne ; (c) Complexe de visibilit de la sc`ne. e e e e Sc`ne compose de trois objets et face associe ` Oi et Oj . . . . . . . . . . . . . . e e e a Correspondance entre la sc`ne et lespace dual. . . . . . . . . . . . . . . . . . . . e Correspondance entre la sc`ne et lespace dual. . . . . . . . . . . . . . . . . . . . e Complexe de visibilit aux environs dun sommet. . . . . . . . . . . . . . . . . . . e Graphe auxiliaire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Pseudo-triangulation et pseudo-quadrangle. . . . . . . . . . . . . . . . . . . . . . Arbres dhorizon suprieur et infrieur. . . . . . . . . . . . . . . . . . . . . . . . . e e Exemples de courbes croises et non croises. . . . . . . . . . . . . . . . . . . . . e e Exemple de deux portions de courbes Ci et Cj . . . . . . . . . . . . . . . . . . . . Exemple de deux portions de courbes C1 et C2 . . . . . . . . . . . . . . . . . . . . Exemple de deux portions de courbes C1 et C2 . . . . . . . . . . . . . . . . . . . . Deux objets convexes Oi et Oj avec un obstacle Ok . . . . . . . . . . . . . . . . . Cas o` la string rule est valide : (a) les obstacles intersectent lenveloppe convexe u ` e de Ci Cj ; (b) les obstacles sont a lintrieur de lenveloppe convexe de Ci Cj mais sont tangents ` cette enveloppe convexe. . . . . . . . . . . . . . . . . . . . . a a e Cas o` la string rule nest plus valide : les obstacles sont ` lintrieur de lenveu e ` loppe convexe de Ci Cj mais sans tre tangents a cette enveloppe convexe. . . . Expression du facteur de forme dans le cas o` la string rule nest pas valide. . u 39 40 40 41 41 42 43 43 45 45 46 47 47 52 53 54 57 59

tel-00004958, version 1 - 20 Feb 2004

60 60 61 66 68 71 74 77 80 81 82 82 83 84 85 88 89 92 93 94 95

2.7 2.8 3.1 3.2 3.3 3.4 3.5

Faces associes ` deux artes de polygones Ci et Cj . . . . . . . . . . . . . . . . . e a e Exemple de deux cercles Oi et Oj . . . . . . . . . . . . . . . . . . . . . . . . . . . Correspondance entre les dualits (a, b) et (, u). . . . . . . . . . . . . . . . . . . e e Deux objets Oi et Oj , et leur face associe au niveau du complexe. . . . . . . . . e a e Deux artes de polygones Ci et Cj , et la face associe ` ces deux artes de polye gones au niveau du complexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Exemple de sc`ne induisant une face semi-innie dans lespace dual (a, b). . . . . e 3.7 Exemple de sc`ne induisant une face spare en deux dans lespace dual (a, b). . . e e e 3.8 Exemple de sc`ne avec deux artes de polygones [A1 A2 ] et [C1 C2 ]. . . . . . . . . e e e e 3.9 Face dans lespace dual (a, b) avec (O, x, y) ou (O, y, x ) comme rep`re de la sc`ne. 3.10 Exemple de sc`ne induisant une face semi-innie dans lespace dual (a, b). . . . . e 3.11 Forme topologique de la face associe aux artes de polygones [A1 A2 ] et [C1 C2 ]. . e e 3.12 Forme topologique de la face associe aux artes de polygones [A1 A2 ] et [B1 B2 ]. . e e 4.1 4.2 4.3 4.4 4.5 4.6 Deux objets Oi et Oj et leur face associe au niveau du complexe de visibilit. . . e e e Deux artes de polygones Ci et Cj et leur face associe au niveau du complexe de e visibilit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Exemple de face f du complexe de visibilit associe ` deux objets. . . . . . . . . e e a e e Deux artes de polygones Ci et Cj et leur face du complexe de visibilit associe. e Exemple de face associe ` deux artes de polygones Ci et Cj . . . . . . . . . . . . e a e Exemple de cas o` le sommet I nexiste pas dans lespace dual (a, b). . . . . . . . u

TABLE DES FIGURES 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 5.1 5.2 5.3 5.4 5.5 5.6 5.7

vii

Exemple de cas o` le sommet v nexiste pas dans lespace dual (a, b). . . . . . . . 97 u Algorithme de calcul du maillage de discontinuit pour les objets convexes. . . . 98 e Exemple de sc`nes constitues dobjets convexes. . . . . . . . . . . . . . . . . . . 99 e e Algorithme de calcul du maillage de discontinuit pour les polygones. . . . . . . . 99 e Dirents types de discontinuits. . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 e e Exemple dune sc`ne polygonale constitue dune pi`ce avec trois objets ` lintrieur.101 e e e a e Faces considres pour le calcul des discontinuits lies ` lclairage direct. . . . . 102 ee e e a e Faces considres pour le calcul des discontinuits lies ` lclairage direct. . . . . 103 ee e e a e Exemple dchantillonnage dune face associe ` deux artes de polygones Ci et Cj .106 e e a e Exemple dchantillonnage dune face associe ` deux objets convexes Oi et Oj . . 108 e e a Exemple de deux lments li et rj . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 ee Interprtation du facteur de forme point a lment dans lespace dual (a, b). . . . 112 e `ee Exemple de calcul de facteur de forme point ` lment entre un point p1 dun a ee ee e lment l1 et un lment r1 , sur des artes de polygones. . . . . . . . . . . . . . . 113 ee Exemple de deux lments li et rj sur des objets convexes. . . . . . . . . . . . . . 114 ee Exemple de calcul de facteur de forme point ` lment entre un point p1 dun a ee ee lment r1 et un lment l1 , sur des objets convexes. . . . . . . . . . . . . . . . . 115 ee Exemple de deux artes de polygones Cl et Cr avec quatre polygones qui interf`rent.118 e e Exemple de deux artes de polygones Cl et Cr avec quatre polygones qui interf`rent.119 e e Un premier algorithme de calcul des facteurs de forme entre lments sur des ee objets convexes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 u e Parties des objets convexes Ol et Or o` il y a un objet qui interf`re par le haut et un objet qui interf`re par le bas. . . . . . . . . . . . . . . . . . . . . . . . . . 122 e (a) Sc`ne et chantillonnage au niveau des objets ; (b) valeur de radiosit au e e e niveau du grand cercle ; (c) matrice M du syst`me dquations de radiosit. . . . 123 e e e e a Parties mutuellement visibles sur deux artes de polygones Cl et Cr dnies ` e partir de leur face associe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 e Zone dinterfrence associe ` une arte dune face associe ` deux artes de e e a e e a e polygones Cl et Cr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 Algorithme de calcul des facteurs de forme entre lments sur des artes de polyee e gones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 Zones dinterfrence au cours du calcul des facteurs entre les lments sur deux e ee artes de polygones Cl et Cr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 e ee Les direntes congurations dobstruction par le haut pour une paire dle ments [pl0 , pl1 ] et [pr0 , pr1 ]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 Parties mutuellement visibles sur deux objets convexes Ol et Or dnies ` partir e a de leur face associe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 e Zone dinterfrence associe ` une arte dune face associe ` deux objets convexes e e a e e a Oi et Oj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 ee e Dtermination des points prup et prdown pour un lment sl donn. . . . . . . . . 132 e Algorithme de calcul des facteurs de forme entre lments sur des objets convexes. 134 ee Dtermination du facteur de forme entre deux lments sl et sr . . . . . . . . . . . 135 e ee Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que sl [plu , lsupO ]. . . . . . . . . . . . . . . . . 136 l Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que Sl [lsupO , linf O ]. . . . . . . . . . . . . . . . 137
l l

tel-00004958, version 1 - 20 Feb 2004

5.8 5.9 5.10 5.11 5.12 5.13 5.14 5.15 5.16 5.17 5.18 5.19 5.20 5.21 5.22 5.23 5.24

viii

TABLE DES FIGURES

5.25 Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que Sl [linf O , pld ]. . . . . . . . . . . . . . . . . 138
l

6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9

6.10 6.11 6.12

6.13 6.14

6.15 6.16 6.17 6.18 6.19

6.20

Notations pour le facteur de forme point ` lment. . . . . . . . . . . . . . . . . . aee Visibilit entre deux lments (Cas de la mthode de Heckbert avec lments e ee e ee constants). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de segments qui se voient soit totalement soit pas du tout. . . . . . . . Dirence entre les deux mthodes de calcul de facteurs de forme, pour les le e ee oe ments du ct droit de C1 et du ct gauche de C2 . . . . . . . . . . . . . . . . . . oe Dirence entre les deux mthodes de calcul de facteurs de forme, pour les le e ee oe ments du ct droit de C2 et du ct gauche de C3 . . . . . . . . . . . . . . . . . . oe Exemple de segments avec un cas de visibilit partielle. . . . . . . . . . . . . . . e Dirence entre les deux mthodes de calcul de facteurs de forme, pour les le e ee oe ments du ct droit de C1 et du ct gauche de C2 . . . . . . . . . . . . . . . . . . oe Dirence entre les deux mthodes de calcul de facteurs de forme, pour les le e ee ments du ct droit de C2 et du ct gauche de C3 . . . . . . . . . . . . . . . . . . oe oe Dirence entre les deux mthodes de calcul de facteurs de forme, pour les le e ee oe ments du ct droit de C1 et du ct gauche de C3 . . . . . . . . . . . . . . . . . . oe Visibilit entre deux lments i et j. . . . . . . . . . . . . . . . . . . . . . . . . . e ee Zoom de la partie suprieure des segments C1 , C2 et C3 . . . . . . . . . . . . . . . e Sc`nes de 5 pi`ces sur 5 pi`ces : (a) Sc`ne avec les pi`ces vides ; (b) Sc`ne avec un e e e e e e triangle par pi`ce ; (c) Zoom de la sc`ne avec deux triangles par pi`ce, reprsente e e e e e en pseudo-3D ; (d) Sc`ne avec neuf triangles par pi`ce. . . . . . . . . . . . . . . . e e Sc`nes de 7 pi`ces sur 7 pi`ces : (a) Sc`ne avec les pi`ces vides ; (b) Sc`ne avec e e e e e e neuf triangles par pi`ce. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Nombre de sommets du complexe en fonction du nombre dartes de polygones e de la sc`ne. A gauche : cas des sc`nes de 5 pi`ces sur 5 pi`ces. A droite : cas des e e e e sc`nes de 7 pi`ces sur 7 pi`ces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e e Temps de calcul des direntes tapes de notre programme pour chaque sc`ne de e e e 5 pi`ces sur 5 pi`ces considre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e ee Temps de calcul des direntes tapes de notre programme pour chaque sc`ne de e e e 7 pi`ces sur 7 pi`ces considre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e ee Temps de calcul des direntes tapes du programme de Heckbert pour chaque e e sc`ne de 5 pi`ces sur 5 pi`ces considre. . . . . . . . . . . . . . . . . . . . . . . . e e e ee Temps de calcul des direntes tapes du programme de Heckbert pour chaque e e sc`ne de 7 pi`ces sur 7 pi`ces considre. . . . . . . . . . . . . . . . . . . . . . . . e e e ee Temps de calcul du maillage (tenant compte des discontinuits) en fonction du e nombre dartes de polygones de la sc`ne. A gauche : cas des sc`nes de 5 pi`ces e e e e sur 5 pi`ces. A droite : cas des sc`nes de 7 pi`ces sur 7 pi`ces. . . . . . . . . . . . e e e e Temps de calcul des facteurs de forme en fonction du nombre dartes de polygones e de la sc`ne. A gauche : cas des sc`nes de 5 pi`ces sur 5 pi`ces. A droite : cas des e e e e sc`nes de 7 pi`ces sur 7 pi`ces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e e Exemple de dplacement dun objet dans une sc`ne. . . . . . . . . . . . . e e Les deux cas ncessitant un recalcul de facteur de forme lorsquun objet en e vement O se dplace dune position 1 ` une position 2. . . . . . . . . . . . e a Faces lies ` un objet convexe O. . . . . . . . . . . . . . . . . . . . . . . . e a

140 140 142 143 144 145 146 147 148 149 149

tel-00004958, version 1 - 20 Feb 2004

151 151

153 156 156 158 161

161

162

7.1 7.2 7.3

. . . . 164 mou. . . . 166 . . . . 167

TABLE DES FIGURES 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 7.12 Faces lies ` une arte de polygone Ci . . . . . . . . . . . . . . . . . . . . . . . . . e a e Algorithme de recalcul des facteurs de forme pour les faces de type (a) (Cas dun dplacement d sans changement topologique dans la visibilit). . . . . . . . . . e e Exemple dun polygone P qui sest dplac dun petit dplacement d, sans e e e changement topologique dans la visibilit. . . . . . . . . . . . . . . . . . . . . . . e Face associe ` Cl et Cr avant et apr`s le dplacement du polygone P (Cas dun e a e e dplacement sans changement topologique dans la visibilit). . . . . . . . . . . . e e Zone dinterfrence associe ` une arte du complexe associe ` un point p, avant e e a e e a et apr`s son dplacement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e e ee e Partie sur une arte de polygone Cr dont la visibilit depuis un lment sl donn e est modie par le dplacement dun polygone P. . . . . . . . . . . . . . . . . . . e e ee e e Dtermination des points lrup et lrdown pour un lment sl donn (Cas dun de placement vers le bas). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithme de recalcul des facteurs de forme pour les faces de type (b) (Cas dun dplacement d sans changement topologique dans la visibilit). . . . . . . . . . e e e Exemple dun polygone P qui sest dplac vers le bas dun petit dplacement e e d, sans changement topologique dans la visibilit. . . . . . . . . . . . . . . . . . e e e Face associe ` Cl et Cr avant et apr`s le dplacement du polygone P (Cas dun e a e dplacement vers le bas sans changement topologique dans la visibilit). . . . . e Exemple dune paire dlments sur Cl et Cr respectivement entre lesquels il y a ee deux objets qui interf`rent par le haut. . . . . . . . . . . . . . . . . . . . . . . e Lignes critiques lies ` un objet. . . . . . . . . . . . . . . . . . . . . . . . . . . . e a Recalcul des discontinuits dans le cas de faces dont un des deux objets associs e e est lobjet en mouvement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Recalcul des discontinuits dans le cas de faces dont une des artes associes ` e e e a des objets qui interf`rent est associe ` lobjet en mouvement. . . . . . . . . . . . e e a Changements lmentaires de visibilit. . . . . . . . . . . . . . . . . . . . . . . . ee e Changements lmentaires dans lespace dual lors dun changement de visibilit. ee e Changements de base dans le complexe lors dun changement de visibilit. . . . . e Exemple de changement de visibilit et modications correspondantes au niveau e du complexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de sc`ne avec trois objets ` lintrieur dune pi`ce. . . . . . . . . . . . . e a e e Dualit (, u). . . . . . . . . . . . . . . . e Dualit (a, b). . . . . . . . . . . . . . . . e Exemple de deux artes de polygones. . e Face du complexe avec la dualit (, u). e Face du complexe avec la dualit (a, b). . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ix 168 170 172 173 174 175 177 178 180 181 182 183 185 186 187 187 188 189 191 197 198 199 200 200

tel-00004958, version 1 - 20 Feb 2004

7.13 7.14 7.15 7.16 7.17 7.18 7.19 7.20 7.21 7.22 A.1 A.2 A.3 A.4 A.5

B.1 Reprsentation dune droite dans le plan. . . . . . . . . . . . . . . . . . . . . . . 202 e B.2 Exemple de deux ensembles convexes K1 et K2 . . . . . . . . . . . . . . . . . . . . 204

tel-00004958, version 1 - 20 Feb 2004

LISTE DES TABLEAUX

xi

Liste des tableaux


6.1 6.2 6.3 6.4 6.5 6.6 Description Description Sc`nes de 5 e Sc`nes de 7 e Sc`nes de 5 e Sc`nes de 7 e des sc`nes de 5 pi`ces sur 5 pi`ces. . . . . . . . . e e e des sc`nes de 7 pi`ces sur 7 pi`ces. . . . . . . . . e e e pi`ces sur 5 pi`ces, avec notre mthode. . . . . . e e e pi`ces sur 7 pi`ces, avec notre mthode. . . . . . e e e pi`ces sur 5 pi`ces, avec la mthode de Heckbert. e e e pi`ces sur 7 pi`ces, avec la mthode de Heckbert. e e e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 150 154 155 159 160

tel-00004958, version 1 - 20 Feb 2004

tel-00004958, version 1 - 20 Feb 2004

Introduction
Les images de synth`se sont de plus en plus utilises, et plus uniquement dans le domaine du e e cinma, de la vido ou de la publicit. Elles trouvent dsormais leur utilit dans de nombreuses e e e e e applications comme la simulation architecturale raliste (qui permet de visualiser un btiment e a ou une pi`ce, et de se promener ` lintrieur avant quils soient construits), ou ltude dclairage e a e e e (qui permet de voir leet du positionnement de telle ou telle lampe, avant quelle soit installe). e Par exemple, les clairages de la pi`ce de thtre de Puccini La boh`me, monte au Metropolitan e e ea e e Opera de New York ont t enti`rement simuls sur ordinateur avant dtre raliss [DSG91]. ee e e e e e De telles applications ncessitent de pouvoir calculer un clairage raliste avec notamment les e e e ombres, et cela pour des environnements qui peuvent tre complexes, mais aussi pour des ene vironnements susceptibles dtre modis (avec la possibilit de dplacer les objets, de changer e e e e les proprits des matriaux, de modier les sources de lumi`re, etc.). ee e e Parmi les direntes mthodes permettant de calculer lclairage dune sc`ne, la mthode de e e e e e radiosit, qui modlise les changes dnergie entre les dirents objets de la sc`ne, semble la e e e e e e mieux approprie. Elle est tr`s adapte pour rendre les eets globaux de lclairage et est tr`s e e e e e utilise pour la visualisation de sc`nes dintrieur statiques. Elle prsente, de plus, lavantage e e e e dtre indpendante du point de vue : quel que soit lendroit o` on se positionne pour regarder la e e u sc`ne, le calcul de radiosit eectu reste valable. Il est donc possible de se promener dans la sc`ne e e e e tr`s facilement sans avoir besoin de recalculer la solution dclairage. Reste maintenant ` prendre e e a en compte les modications de lenvironnement, et cela de faon la plus rapide possible. Il serait c souhaitable, pour des applications telles que la simulation architecturale ou ltude dclairage, de e e pouvoir utiliser des mthodes susamment rapides pour fournir une nouvelle solution dclairage e e en temps interactif si ce nest en temps rel, a chaque fois quun changement est appliqu a la e ` e` sc`ne. On distingue ` lheure actuelle globalement deux approches : linterpolation entre imagese a e cls et les algorithmes de radiosit de type incrmentaux. e e Les mthodes utilisant la premi`re approche se contentent de calculer une solution de radioe e sit pour certaines congurations choisies de la sc`ne, ce qui donne un certain nombre dimagese e cls ; puis dappliquer une technique dinterpolation (comme le morphing par exemple [CW93a]) e pour obtenir des images intermdiaires. Ces mthodes, bien que ne fournissant quune solue e tion dclairage approche pour une conguration donne de la sc`ne, permettent dobtenir des e e e e images en temps interactif. Dans le cas de la deuxi`me approche, la solution de radiosit est mise ` jour de faon incre e a c e mentale en fonction des changements au cours du temps : les mthodes de ce type partent de la e solution courante, puis essaient, pour une modication donne de lenvironnement, de calculer e une nouvelle solution ` partir de la solution courante. Par exemple, dans le cas dun objet qui a sest dplac, on supprime les eets dus ` lobjet dans son ancienne position, puis on recalcule e e a les eets dus ` lobjet dans sa nouvelle position. Ces mthodes fournissent des images avec une a e

tel-00004958, version 1 - 20 Feb 2004

Introduction

meilleure qualit de rendu mais elles ne permettent pas encore dobtenir un calcul en temps e interactif dans le cas dobjets en mouvement. Le probl`me reste ici darriver ` discerner prcise a e e ment ce qui doit vraiment tre recalcul, et notamment quels facteurs de forme, en fonction de e e la visibilit qui a t modie - le calcul des facteurs de forme, qui indiquent la fraction dnergie e ee e e transmise dun objet a un autre, constitue eectivement ltape la plus coteuse de lalgorithme ` e u de radiosit -. e Parall`lement aux recherches menes sur ces environnements dits dynamiques, la ncessit de e e e e pouvoir eectuer le rendu denvironnements complexes a motiv la recherche sur les prtraitee e ments de la visibilit. Lapproche utilise est de construire une structure de donnes spciale qui e e e e permet de dterminer facilement lensemble des objets potentiellement visibles, an dacclrer e ee les calculs de visibilit au cours du calcul dclairage. e e De l` nous est venue lide de combiner les deux aspects. Une ide pour traiter les envia e e ronnements dynamiques de mani`re ecace serait dutiliser, pour le calcul de lclairage, une e e structure de donnes grce ` laquelle on pourrait a la fois : e a a ` optimiser les calculs, en accdant de mani`re ecace aux informations de visibilit ncese e e e saires et en eectuant seulement les calculs ncessaires, e

tel-00004958, version 1 - 20 Feb 2004

mettre a jour ecacement la solution dclairage, en eectuant seulement les recalculs ` e strictement ncessaires pour un changement donn appliqu ` la sc`ne. e e ea e Compte tenu de lampleur du probl`me ` rsoudre en 3D et notamment de la complexit e a e e gomtrique des relations de visibilit, nous nous sommes dabord intresss au cas 2D. La 2D e e e e e permet daborder le probl`me de faon plus simple : on dispose plus facilement de solutions anae c lytiques (par exemple, le facteur de forme peut etre calcul analytiquement en 2D), les sc`nes e e sont plus simples et permettent une meilleure comprhension des modications se produisant e dans les environnements dynamiques. Cette approche qui consiste ` tudier le cas plus simple ae du 2D pour faciliter la comprhension, avant daboutir ` une solution 3D, est assez commune e a en recherche sur la simulation de lclairage. Elle a notamment t utilise pour le calcul du e ee e maillage de discontinuit [Hec91], [Hec92a], ou pour le calcul de radiosit avec des ondelettes e e [SGCH93], [GSCH93]. De plus, certaines sc`nes 3D sont en fait des sc`nes 2 1 D, comme par e e 2 exemple lintrieur dun btiment o` les occlusions sont principalement causes par les murs qui e a u e sont quivalents ` leur projection sur un plan 2D. e a Parmi les structures de visibilit existantes, nous nous sommes intresss au complexe de e e e visibilit (introduit en gomtrie algorithmique) qui semblait tout a fait appropri car dune e e e ` e part il permet de coder les relations de visibilit entre les objets dune sc`ne 2D, et dautre e e part, il peut tre mis ` jour facilement en fonction des changements aectant la sc`ne, de par sa e a e structure. Nous prsentons dans cette th`se lutilisation du complexe de visibilit dans le cadre de la rae e e diosit, pour les environnements statiques dans un premier temps, puis pour les environnements e dynamiques. Nous avons considr deux types de sc`nes 2D : les sc`nes constitues dobjets ee e e e convexes et les sc`nes polygonales. e Le premier chapitre prsente un tat de lart qui ne prtend pas tre exhaustif. Il introduit e e e e notamment la mthode de radiosit, les principales techniques de calcul de facteurs de forme e e existantes, et le maillage de discontinuit. Il passe ensuite en revue les techniques de prtraie e tement de la visibilit utilises en radiosit et visant ` acclrer les calculs, puis les techniques e e e a ee

3 actuellement utilises pour les environnements dynamiques. Ltat de lart sach`ve par une e e e introduction dtaille du complexe de visibilit. e e e Il ne sut pas davoir une structure adquate pour coder la visibilit de la sc`ne, encore e e e faut-il lutiliser de mani`re ecace pour optimiser les calculs. A cette n, nous nous sommes e penchs sur le calcul des facteurs de forme. Nous nous sommes intresss ` deux formulations e e e a possibles du facteur de forme en 2D qui semblaient bien adaptes au complexe de visibilit. Ces e e deux formulations (sous forme dun rapport de mesures de droites et sous forme dune somme pondre de longueurs de courbes) sont prsentes dans le dtail dans le deuxi`me chapitre. ee e e e e Nous tudions ensuite dans le troisi`me chapitre comment ces deux formulations peuvent e e sinterprter au niveau du complexe de visibilit, dans un espace dual de la sc`ne. e e e Le quatri`me chapitre explique comment on peut calculer les discontinuits de lclairage de e e e mani`re ecace grce au complexe de visibilit, et prsente les deux implmentations du calcul e a e e e du maillage de discontinuit que nous avons ralises : une pour les sc`nes constitues dobjets e e e e e convexes et une pour les sc`nes polygonales. e Une fois que les discontinuits ont t calcules, on chantillonne les objets de la sc`ne en e ee e e e un certain nombre dlments pour lesquels on va calculer des facteurs de forme. Le cinqui`me ee e chapitre dcrit comment ces facteurs de forme sont calculs de mani`re ecace en utilisant e e e les informations du complexe de visibilit. Le complexe est tr`s utile dans ce contexte car il e e permet de considrer seulement les parties mutuellement visibles pour une paire dobjets donne, e e permettant ainsi de calculer seulement les facteurs de forme ncessaires. Deux implmentations e e ont t ralises : une pour les objets convexes et une pour les polygones. ee e e Dans le sixi`me chapitre nous prsentons dirents tests que nous avons raliss sur des sc`nes e e e e e e polygonales 2D statiques, an de comparer notre programme avec un programme utilisant une mthode de calcul de facteurs de forme traditionnelle, celui de Heckbert [Hec91], [Hec92a]. e Pour nir nous consacrons le septi`me chapitre aux environnements dynamiques. Nous tue e dions lutilisation du complexe pour ce type denvironnements et nous proposons une mthode e permettant de mettre a jour de faon ecace uniquement les facteurs de forme strictement n` c e cessaires lorsquun objet se dplace dans une sc`ne. e e Les travaux prsents dans cette th`se ont fait lobjet de deux publications internationales : e e e e a une premi`re au Workshop on Applied Computational Geometry [ODRP96], et une deuxi`me ` e la confrence Eurographics [ORDP96]. La premi`re publication montre lutilit dune structure e e e telle que le complexe de visibilit pour le calcul de radiosit, dans le cas de sc`nes statiques e e e constitues dobjets convexes. Elle utilise les implmentations que nous avons ralises pour e e e e ces sc`nes. La deuxi`me publication sintresse au cas spcique des sc`nes polygonales qui e e e e e sont les sc`nes habituellement utilises en synth`se dimages, et traite tout particuli`rement e e e e des environnements dynamiques. Une premi`re approche de notre mthode y est prsente, e e e e permettant au moyen du complexe de mettre ` jour uniquement les facteurs de forme modis a e lorsquun objet se dplace. Nous avons aussi ralis une vido didactique expliquant lutilisation e e e e du complexe pour le calcul de radiosit dans le cas de sc`nes polygonales [DORP96]. e e

tel-00004958, version 1 - 20 Feb 2004

tel-00004958, version 1 - 20 Feb 2004

Chapitre 1

Etat de lart
Nous ne prsentons pas ici un tat de lart exhaustif, sachant que cette th`se touche ` de e e e a nombreux th`mes tudis en synth`se dimages autour de la mthode de radiosit : le calcul de e e e e e e facteurs de forme, le calcul de maillage de discontinuit, le calcul de visibilit, et lutilisation e e de la radiosit pour les environnements dynamiques. Nous introduisons cependant ces dirents e e th`mes et nous fournissons des pistes de lecture pour ceux qui souhaiteraient aller plus loin. Ltat e e de lart sach`ve par une introduction dtaille du complexe de visibilit, qui est la structure de e e e e visibilit que nous avons utilise dans cette th`se. e e e

tel-00004958, version 1 - 20 Feb 2004

1.1
1.1.1

La mthode de radiosit e e
Dnition e

La mthode de radiosit est base sur les mthodes de transfert de chaleur entre surfaces e e e e en thermodynamique. Elle a t applique pour la premi`re fois ` lInformatique Graphique en ee e e a 1984 par Goral et al. [GTGB84], sur un environnement sans occlusion. Des algorithmes prenant en compte les occlusions ont ensuite t dvelopps [CG85], [NN85]. ee e e La mthode de radiosit, mthode de simulation globale de lclairage, permet de calculer e e e e lclairage dune sc`ne en modlisant les changes dnergie lumineuse entre les direntes sure e e e e e faces des objets de la sc`ne. Dans la mthode de radiosit standard, les surfaces sont considres e e e ee comme lambertiennes ou diuses, cest-`-dire quelles rchissent la lumi`re incidente avec la a e e e mme intensit dans toutes les directions. Lenvironnement est dcompos en lments de sure e e e ee face (ou chantillons), an dtablir un syst`me dquations modlisant les changes dnergie e e e e e e e dans la sc`ne. La radiosit dun lment de surface est suppose constante et la prcision de la e e ee e e solution obtenue dpend donc de la discrtisation de lenvironnement. e e La radiosit B dun lment est gale ` la quantit totale dnergie lumineuse par unit e ee e a e e e de surface quittant cet lment. Elle sexprime donc en fonction de lnergie propre mise par ee e e llment et de lnergie provenant des autres lments qui est rchie par llment. ee e ee e e ee e e e e ee e Soient Ei la quantit de lumi`re mise par unit de surface par un lment de surface innite ee e simale dAi , i le coecient de rexion de cet lment, et FdAj dAi la fraction dnergie quittant ee e ee e e un lment dAj qui arrive sur llment dAi . La radiosit Bi pour llment dAi peut tre dcrite ee sous la forme de lquation suivante : e Bi dAi = Ei dAi + i
j

Bj dAj FdAj dAi ,

6 cest ` dire : a Radiosit Aire = Energie propre mise + Energie rchie , e e e e o` : u Energie rchie = e e

Etat de lart

Coecient de rexion Energie incidente sur e llment qui provient de tous les autres lments . ee ee

e Dans le cas dun environnement discrtis en n lments de surface Ai (i = 1..n), les changes e e ee dnergie dans la sc`ne peuvent donc tre modliss par un syst`me de n quations de la forme : e e e e e e e
n

Bi Ai = Ei Ai + i
j=1

Bj FAj Ai Aj .

(1.1)

` e ee La valeur FAj Ai correspond a la fraction dnergie quittant llment de surface Aj qui arrive e e sur llment de surface Ai . Cette quantit est appele : facteur de forme entre Aj et Ai . Pour ee e e e plus de simplicit, elle sera note Fji . Le facteur de forme dpend uniquement de la gomtrie e e relative entre les lments, do` la relation de rciprocit : ee u e e Fij Ai = Fji Aj Fij = Fji Aj . Ai

tel-00004958, version 1 - 20 Feb 2004

En utilisant cette relation et en reprenant lquation 1.1, on obtient nalement pour un lment e ee e de surface Ai , lexpression de la valeur de radiosit Bi :
n

Bi = Ei + i
j=1

Bj Fij .

Cette quation peut se rcrire sous la forme : e ee


n

(ij i Fij )Bj = Ei ,


j=1

avec ij le symbole de Kronecker dont la valeur est 1 si et seulement i = j et 0 sinon. Le syst`me dquations correspondant peut tre mis sous la forme matricielle suivante : e e e

1 1 F11 1 F12 2 F21 1 2 F22 . . . . . . n Fn2 n Fn1

. . . . . .

. . . . . .

. 1 F1n . 2 F2n . . . . . . . 1 n Fnn

B1 B2 . . . Bn

E1 E2 . . . En

(1.2)

que nous noterons M B = E pour simplier (avec Mij = ij i Fij ).

1.1.2

Direntes mthodes de rsolution du syst`me dquations de radiosit e e e e e e

Les mthodes qui consistent a rsoudre de mani`re directe le syst`me dquations (1.2), e ` e e e e sont peu applicables dans le cas denvironnements avec un grand nombre dlments. Laccent ee a donc tout de suite t mis sur les mthodes de rsolution itratives qui dmarrent avec une ee e e e e estimation de la solution et amliorent la solution courante ` chaque itration, jusqu` atteindre e a e a la convergence.

1.1 La mthode de radiosit e e Mthodes de Jacobi et de Gauss-Seidel e

La mthode itrative la plus simple consiste ` mettre a jour ` chaque tape la radiosit e e a ` a e e dun lment i donn en fonction des valeurs courantes de radiosit des autres lments de ee e e ee ee e e lenvironnement. La radiosit Bi dun lment i dpend en eet de la contribution dnergie e quil reoit des autres lments de la sc`ne. On parle de gathering, de langlais to gather c ee e qui signie rassembler (cf. gure 1.1(a)). En un sens lnergie lumineuse quittant llment i e ee est dtermine en rassemblant lnergie provenant du reste de lenvironnement. Cela revient e e e a ` considrer une seule ligne (donc une seule quation) du syst`me ` la fois, soit : e e e a
n

Mij Bj = Ei ,
j=1

qui, en extrayant Bi , devient : Bi = Ei Mij Bj + . Mii Mii j=1


j=i n

tel-00004958, version 1 - 20 Feb 2004

Parmi les algorithmes numriques existant pour rsoudre les syst`mes dquations linaires, e e e e e deux mthodes itratives - la mthode de Jacobi et la mthode de Gauss-Seidel - sont partie e e e culi`rement adaptes ` cette formulation qui consiste ` exprimer la radiosit dun lment en e e a a e ee  rassemblant lnergie lumineuse provenant des autres lments. Ces deux mthodes sont assez   e ee e

(a) Gathering

(b) Shooting

Fig. 1.1 - Deux mthodes : gathering (a) et shooting (b). e similaires. Elles commencent, ` la premi`re itration, par initialiser la valeur de radiosit de a e e e chaque lment par son nergie propre mise. Les deux mthodes ensuite se distinguent sur la ee e e e faon dont la radiosit dun lment i va tre mise ` jour dans les itrations suivantes. Pour c e ee e a e un environnement constitu de n lments, chaque itration est constitue de n tapes, chaque e ee e e e tape consistant ` mettre a jour la radiosit dun lment i donn. Dans le cas de la mthode e a ` e ee e e de Jacobi, la radiosit dun lment i ` litration (m) sera calcule en fonction des valeurs de e ee a e e radiosit des autres lments ` litration (m 1) : e ee a e Bi
(m)

Ei Mij (m1) Bj + . Mii Mii j=1


j=i

Etat de lart

Par contre, dans le cas de la mthode de Gauss-Seidel, on utilise les valeurs de radiosit dj` e e ea calcules dans litration courante. La radiosit dun lment i ` litration (m) sera donc calcule e e e ee a e e en fonction de la valeur de radiosit a litration (m) des lments 1 ` i 1, et de la valeur de e` e ee a radiosit a litration (m 1) des lments i + 1 ` n (cf. [SP94] pour plus de dtails) : e` e ee a e
(m) Bi n Ei Mij (m) Mij (m1) = B B + . Mii j Mii j Mii j=1 j=i+1 i1

Ces deux mthodes sont assures de converger. Cependant, chaque tape nimplique quune e e e seule ligne du syst`me dquations de radiosit et met ` jour la radiosit dun seul lment ` e e e a e ee a la fois. Si on souhaite visualiser la solution ` mesure quelle progresse, lachage nest donc a pas du tout raliste. Il faut attendre que la solution soit calcule compl`tement avant dobtenir e e e une image raliste et cest dautant plus contraignant dans le cas de sc`nes complexes o` le e e u calcul est assez long et o` on aimerait avoir une ide du rendu nal, avant la n du calcul de u e la solution. Do` lide de rorganiser les calculs pour obtenir une qualit de limage ache u e e e e qui samliore a mesure que la solution progresse. Cette mthode est communment appele : e ` e e e radiosit progressive. e

tel-00004958, version 1 - 20 Feb 2004

Radiosit progressive e Cette mthode a t introduite par Cohen et al. [CCWG88]. Elle consiste ` mettre a jour la e ee a ` radiosit pour tous les lments de lenvironnement ` la fois, plutt que pour un seul lment. e ee a o ee Pour cela, il sut dinverser le processus dchange de lnergie. Par dnition, la radiosit dun e e e e lment correspond a la quantit dnergie lumineuse par unit de surface quittant cet lment. ee ` e e e ee La radiosit de cet lment va tre distribue dans lenvironnement, et elle va donc contribuer e ee e e a ` la radiosit des lments quelle va atteindre. On parle de shooting, de langlais to shoot e ee qui signie lancer (cf. gure 1.1(b)). Lide est de distribuer la contribution dnergie lumineuse de chaque lment ` tous les e e ee a autres lments. Chaque lment i dun environnement a une valeur de radiosit Bi qui corresee ee e pond a la valeur de radiosit calcule jusqu` prsent pour cet lment, et une valeur Bi qui est ` e e a e ee la partie de la radiosit de cet lment qui na pas encore t distribue. Les valeurs Bi et Bi e ee ee e pour tout lment i sont initialises par la valeur dnergie mise Ei de llment i (Ei peut tre ee e e e ee e gal ` zro). Ensuite, au cours dune itration, on choisit llment qui a la plus grande valeur e a e e ee de radiosit non distribue, et cette quantit dnergie est distribue dans lenvironnement. Lors e e e e e de cette distribution, les autres lments j de lenvironnement peuvent recevoir une quantit ee e dnergie B. B correspond a la partie de la radiosit provenant de llment i qui contribue e ` e ee a ` la radiosit de llment j. Cette valeur B est ajoute ` Bj : e ee e a Pour tout j : Bj = Bj + B avec B = Bi j Fji . Elle est aussi ajoute ` Bj puisque cette radiosit qui vient dtre reue na pas encore t dise a e e c ee tribue. Apr`s cette distribution, llment i na plus de radiosit non distribue, donc Bi = 0. e e ee e e En une tape de distribution, on met ` jour la valeur de radiosit de tous les autres le a e ee ments de lenvironnement. On obtient donc une nouvelle estimation de la solution de radiosit e a ` chaque itration, ce qui permet dacher une nouvelle image. Le fait de pouvoir visualiser les e rsultats au fur et a mesure que la solution progresse est un des principaux avantages de cette e ` mthode. On remarque aussi quelle converge plus vite que la mthode de Gauss-Seidel, et tout e e particuli`rement dans les premi`res tapes de calcul. La convergence est dautant plus rapide e e e

1.2 Le facteur de forme

que lon choisit a chaque fois comme lment qui va distribuer son nergie, celui qui contribue ` ee e le plus ` lclairage de lenvironnement [CW93b]. a e Ces mthodes, que ce soit Jacobi, Gauss-Seidel ou la radiosit progressive, ont cependant e e un cot quadratique en fonction du nombre dlments puisquon doit calculer un facteur de u ee forme par paire dlments. De plus, elles ne tiennent aucun compte de la position des objets ee les uns par rapport aux autres. Or, dans le cas de deux surfaces tr`s loignes par exemple, il e e e est envisageable de calculer les facteurs de forme directement entre les surfaces, plutt quentre o les lments de ces deux surfaces, sans grande perte de prcision. Lide est de regrouper les ee e e surfaces ou les objets et de crer ainsi une hirarchie avec plusieurs niveaux de dtails. Cette e e e subdivision hirarchique de lenvironnement a dabord donn lieu ` la radiosit hirarchique, e e a e e puis au clustering. Radiosit hirarchique et clustering e e La radiosit hirarchique part du principe quun mme objet na pas la mme importance e e e e pour tous les objets dune sc`ne. Il peut tre modlis grossi`rement pour ses interactions avec e e e e e les objets loigns, mais doit tre modlis plus nement pour ses interactions avec les objets e e e e e proches. Cette mthode a t introduite par Hanrahan et al. [HSA91]. Chaque surface de lenvie ee ronnement est dcrite par une hirarchie de type quadtree. Les interactions entre deux portions e e de surfaces sont reprsentes par des liens. Au dbut, aucune surface nest subdivise, et un e e e e lien est cr pour chaque couple de surfaces. Quand on estime quun lien ne modlise pas assez ee e nement linteraction entre deux surfaces donnes, on le supprime, on subdivise lune des deux e surfaces en quatre et on cre ainsi quatre liens avec lautre surface (cf. gure 1.2). On recalcule e ensuite les changes lumineux, et on rpartit lnergie entre les dirents niveaux de la hirare e e e e chie dune surface pour que la radiosit dun noeud soit bien la moyenne de ses ls (cf. [SP94] e et [HSA91] pour plus de dtails). Cela revient en fait a diviser la matrice de facteurs de forme en e ` e ee un certain nombre de blocs, chaque bloc reprsentant une interaction entre des lments ou des groupes dlments (cf. gure 1.3(2)). Lavantage avec cette formulation est que le nombre de ee  blocs dans la matrice est O(n) (avec n le nombre total dlments), alors quon a une matrice   ee e de facteurs de forme avec O(n2 ) coecients dans le cas des mthodes traditionnelles. Les travaux mens sur la radiosit hirarchique ont rcemment t tendus ` des regroupee e e e eee a e ` ments (clusters) dobjets par [SAG94] et [Sil94]. Il y a quelques dirences par rapport a la mthode de radiosit hirarchique traditionnelle, car il faut tenir compte des changes dnergie e e e e e lumineuse a lintrieur dun regroupement, mais le principe reste le mme. La dirence majeure ` e e e vient du fait que, contrairement aux dirents niveaux de subdivision dun polygone, les die e rents objets dun regroupement nont pas tous le mme vecteur normal. Lhypoth`se disotropie e e nest donc plus valable et il faut donc traiter des nergies lumineuses directionnelles, et non plus e la seule radiosit. e

tel-00004958, version 1 - 20 Feb 2004

1.2
1.2.1

Le facteur de forme
Dnition e

Le facteur de forme caractrise lchange dnergie entre deux surfaces. Le facteur de forme e e e ` e Fij entre deux surfaces Ai et Aj correspond a la fraction de lnergie issue de la surface Ai qui

10

Etat de lart

tel-00004958, version 1 - 20 Feb 2004

Fig. 1.2 - Subdivision hirarchique obtenue pour deux rectangles perpendiculaires (schma de e e P. Hanrahan, Princeton University).

b e

a
d g j h i f

a
d f

0
+

e
h g j i

b
d

h j g i

(a)

(b)

(1)

(2)

Fig. 1.3 - (1) Rpartition de lnergie dans les dirents niveaux de la hirarchie : les surfaces e e e e les plus sombres indiquent les plus fortes valeurs de radiosit (schma issu de [SP94]) ; (2) Ree e prsentation hirarchique de la matrice de facteurs de forme (schma de P. Hanrahan, Princeton e e e University).

1.2 Le facteur de forme arrive sur la surface Aj : Fij = Energie provenant de Ai qui atteint Aj . Energie totale quittant Ai (dans toutes les directions)

11

(1.3)

An dexprimer ce facteur de forme Fij , explicitons les changes dnergie entre deux sure e faces. Nous nous inspirons ici de [WW92]. On peut aussi se rfrer ` [CW93b] ou [SP94] pour ee a plus de dtails. e Soient deux surfaces innitsimales dAi et dAj . Soit dij langle solide de dAj en dAi (cf. e gure 1.4). Par dnition : e dAj dij = cos j 2 , r ` avec j langle par rapport a la normale en dAj , et r la distance entre dAi et dAj .
Aj

tel-00004958, version 1 - 20 Feb 2004

Ni
i

Nj

dAj

dij

Ai

dAj

Fig. 1.4 - Notations pour le facteur de forme. ` Lnergie quittant dAi qui arrive en dAj correspond a : e dEi dAi = Ii cos i dij dAi = Ii cos i cos j dAi dAj , r2

` ` avec i langle par rapport a la normale en dAi , j langle par rapport a la normale en dAj , r e la distance entre dAi et dAj , et Ii lintensit lumineuse incidente sur dAi . e e Lnergie totale quittant dAi (dans toutes les directions) est obtenue en intgrant sur lhe e misph`re unit centre en dAi . Dans le cas dune surface lambertienne, cette nergie correspond e e e a `: Ei = Ii . En utilisant lquation 1.3, le facteur de forme entre deux surfaces innitsimales dAi et dAj e e sexprime donc par : FdAi dAj = = Ii cos i cos j dAi dAj Ii dAi r 2 cos i cos j dAj . r 2

12 Le facteur de forme entre dAi et la surface Aj correspond alors ` : a FdAi Aj = cos i cos j dAj . r 2

Etat de lart

(1.4)

Aj

Dans le cas de surfaces lambertiennes, lintensit Ii ne dpend ni de la direction, ni de la e e position sur la surface Ai . Le facteur de forme Fij entre les surfaces Ai et Aj est donc obtenu en intgrant la formule 1.4 sur la surface Ai et en moyennant par laire de Ai : e Fij = 1 Ai cos i cos j dAj dAi . r 2

Ai

Aj

Cette formulation est valable seulement sil y a visibilit totale entre les deux surfaces considres. e ee Dans le cas plus gnral qui prend en compte la possibilit docclusion, on introduit une fonction e e e e e ee Hij qui caractrise la visibilit entre les deux lments de surface dAi et dAj . Le facteur de forme entre deux surfaces quelconques Ai et Aj en 3D sexprime donc par (cf. gure 1.4) :

tel-00004958, version 1 - 20 Feb 2004

Fij =

1 Ai

Ai

Aj

cos i cos j Hij dAj dAi , r 2

(1.5)

avec Hij =

1 si dAj est visible depuis dAi 0 sinon

Expression en 2D : Dans le cas 2D, on ne consid`re plus des surfaces mais des portions e de courbes. La formule du facteur de forme est donc simplie : il ne sagit plus dune double e intgrale sur des aires, mais dune double intgrale sur des longueurs. Le facteur de forme Fij e e entre deux portions de courbes Ci et Cj , de longueurs respectives Li et Lj sexprime par : Fij = 1 Li cos i cos j Hij dLj dLi , 2r (1.6)

Li

Lj

o` Hij caractrise la visibilit entre les deux portions de courbes considres (1 si dLj est visible u e e ee ee depuis dLi et 0 sinon), r est la distance entre les deux lments de longueur dLi et dLj , i langle ` par rapport a la normale en dLi , et j langle par rapport a la normale en dLj . `

1.2.2

Proprits du facteur de forme e e

Le facteur de forme est en fait une quantit purement gomtrique : il dpend uniquement e e e e de la forme et de la position relative des surfaces dans la sc`ne. Compte tenu de sa dnition, il e e poss`de direntes proprits : e e ee 1. Rciprocit : En multipliant lquation 1.5 par laire de la surface Ai , on obtient : e e e Ai Fij = cos i cos j Hij dAj dAi . r 2

Ai

Aj

Cette expression est symtrique en i et j, do` la relation de rciprocit : e u e e (i, j) Ai Fij = Aj Fji .

1.2 Le facteur de forme

13

2. Le facteur de forme est dni comme une fraction dnergie ce qui implique que, dans le e e cas dun environnement clos, la somme de tous les facteurs de forme pour une surface donne est gale ` lunit. e e a e Soit un environnement clos constitu de n surfaces A1 , A2 , ..., An . On a donc pour toute e a surface Ai de cet environnement (i allant de 1 ` n) :
n

Fik = 1 .
k=1

e e 3. Dans le cas dune surface Ai plane ou convexe, aucun rayon lumineux rchi par cette surface ne va frapper directement cette mme surface. Donc : e Fii = 0 . Dans le cas dune surface Ai concave, on a bien sr : u

tel-00004958, version 1 - 20 Feb 2004

Fii = 0 . e 4. Additivit : Soient trois surfaces disjointes Ai , Aj et Ak . La fraction dnergie issue de e c e a Ai et reue par lunion des deux surfaces Aj et Ak est gale ` la somme des fractions c dnergie issues de Ai et reues par chacune de ces deux surfaces. e e a Le facteur de forme entre Ai et lunion de Aj et Ak est donc gal ` la somme du facteur de forme entre Ai et Aj et du facteur de forme entre Ai et Ak : Fi(jk) = Fij + Fik . Linverse nest pas valable (cf. [SP94]) : F(jk)i = Aj Fji + Ak Fki = Fji + Fki . Aj + Ak

Si les deux surfaces Aj et Ak ont une partie commune, on a alors : Fi(jk) = Fij + Fik Fi(jk) .

1.2.3

Mthodes de dtermination e e

Le calcul du facteur de forme entre deux surfaces en 3D ncessite de calculer une double e intgrale sur des aires. Dans le cas tr`s spcique de surfaces avec une forme simple, dans e e e des congurations simples, et lorsquil ny a pas docclusion, il est possible dexprimer cette intgrale double de mani`re analytique. Cependant, d`s quil y a occlusion, il devient impossible e e e de la calculer de mani`re analytique. De nombreuses mthodes dapproximation du facteur de e e forme ont donc t dveloppes. Nous en prsentons un certain nombre dans les paragraphes qui ee e e e suivent. Pour une description plus dtaille des direntes mthodes de calcul des facteurs de e e e e forme existantes, se rfrer a [CW93b] ou [SP94]. ee `

14 Mthodes analytiques et semi-analytiques e

Etat de lart

La double intgrale dans lquation 1.5 peut tre calcule de mani`re exacte dans le cas e e e e e de congurations gomtriques simples et lorsquil ny a pas docclusion. Un certain nombre e e dexpressions de facteurs de forme sont disponibles dans la littrature (cf. entre autres [How82, e Bre92]). Ces expressions sont calcules pour des surfaces avec une forme simple, dans des congue rations simples : notamment pour des rectangles parall`les, pour des rectangles perpendiculaires, e pour des disques ou des cylindres coaxiaux, etc. De nombreux chercheurs se sont intresss au calcul des facteurs de forme entre polygones, e e sachant que les mod`les polygonaux sont tr`s utiliss en synth`se dimages. Baum et al. [BRW89] e e e e ont calcul le facteur de forme entre deux polygones en valuant de mani`re analytique linte e e e grale intrieure du facteur de forme (intgrale correspondant en fait au facteur de forme entre e e une aire direntielle et un polygone (cf. quation 1.4)), puis en intgrant numriquement linte e e e e grale extrieure. Schrder et Hanrahan [SH93] ont ensuite donn une expression semi-analytique e o e gnrale pour le facteur de forme entre deux polygones lorsquil ny a pas docclusion. Cette e e formule extrmement complique est en pratique inutilisable. e e Mthodes dapproximation e Les formulations analytiques ne permettent pas dvaluer directement les facteurs de forme e pour les cas courants, en particulier lorsquil y a occlusion. Des approches numriques sont alors e ncessaires pour faire une approximation des facteurs de forme. Parmi les approches proposes, e e de nombreuses reposent sur deux simplications : la rduction de lintgrale double ` une inte e a e grale simple, et la projection des objets sur une forme simple pour laquelle les facteurs de forme sont plus faciles ` calculer. a Hmicube e Cette mthode a t prsente par Cohen et Greenberg [CG85]. Elle repose sur lhypoth`se e ee e e e que la distance entre deux lments i et j est susamment grande pour que lintgrale intrieure ee e e ee e e du facteur de forme Fij entre les lments i et j (cf. quation 1.5) varie tr`s peu sur lintervalle dintgration. On a donc : e Fij FdAi Aj = cos i cos j dAj , r 2

tel-00004958, version 1 - 20 Feb 2004

Aj

ce qui quivaut a approximer le facteur de forme elment ` lment par le facteur de forme point e ` e aee aee ` lment. Cette mthode utilise le principe de lanalogue de Nusselt ( Nusselt analog) : le facteur de e e a forme point ` lment calcul au point pi est quivalent ` la fraction de laire de la base de a ee e ee e e lhmisph`re unit centre en pi , obtenue en projetant llment radialement sur lhmisph`re, e e e e puis orthogonalement sur la base de lhmisph`re (cf. gure 1.5). e e Il en dcoule que les lments ayant la mme aire projete sur lhmisph`re auront le mme e ee e e e e e facteur de forme, puisquils occupent le mme angle solide (cf. gure 1.5). Cela signie que si e llment est projet radialement sur nimporte quelle surface intermdiaire, le facteur de forme ee e e de la projection de llment sera le mme que celui de llment lui-mme. Cette observation ee e ee e constitue la base de lalgorithme de lhmicube, o` les lments sont projets sur les faces dun e u ee e demi-cube au lieu dune hmisph`re. Un hmicube est plac au centre de chaque lment de e e e e ee

1.2 Le facteur de forme

15

r=

Fig. 1.5 - Analogue de Nusselt (schma issu de [SP94]). e

tel-00004958, version 1 - 20 Feb 2004

surface Ai (cf. gure 1.6). Les faces de lhmicube sont divises en cellules. Un facteur de forme e e point a lment F est calcul pour chaque cellule. Ces facteurs de forme sont prcalculs et ` ee e e e ee e stocks. Le facteur de forme entre llment de surface Ai et un lment de surface Aj donn de e ee e la sc`ne est alors approxim en projetant llment Aj sur les faces de lhmicube et en sommant e e ee les facteurs de forme des cellules couvertes par la projection. Les probl`mes docclusion sont e rsolus en utilisant un Z-buer qui permet de conna les surfaces qui sont les plus proches de e tre lhmicube. e

Fig. 1.6 - Lhmicube (schma issu de [SP94]). e e Il existe dautres mthodes utilisant des surfaces de projection qui di`rent principalement e e dans le choix des surfaces de projection et le dcoupage de ces surfaces. Ainsi, Sillion et al. [SP89] e utilisent un plan de projection, au lieu dun hmicube, et au lieu de considrer des cellules de e e taille uniforme, ils dcoupent le plan en cellules de facteurs de forme identiques : les proxels. e Une autre surface de projection utilise est lhmisph`re. Elle est notamment utilise par Spene e e e

16 cer [Spe90].

Etat de lart

tel-00004958, version 1 - 20 Feb 2004

Lhmicube et autres mthodes de projection similaires posent un certain nombre de proe e bl`mes numriques qui apparaissent de faon beaucoup plus agrante lorsquon les utilise pour e e c  lancer de lnergie dans la sc`ne ` partir dune source (comme dans la mthode de radiosit   e e a e e e e progressive), et non plus pour rassembler sur une surface donne, lnergie provenant de lensemble des surfaces de la sc`ne (comme dans la mthode standard de radiosit). Lhmicube e e e e calcule un facteur de forme point ` lment. Cependant, utiliser ce point comme source proa ee duit des erreurs plus perceptibles que lorsquon lutilise comme rcepteur. De plus, dans ce cas, e les rcepteurs sont traits comme des aires qui peuvent tre manques par lhmicube si leur e e e e e projection est susamment petite pour tomber entre les centres des cellules de lhmicube. Lhe e micube, de par son chantillonnage uniforme et sa rsolution limite, produit aussi de laliassage e e e (aliasing en anglais). La propagation de la radiosit devrait en fait tre modlise depuis des aires vers des points, e e e e plutt que le contraire. Cest eectivement ce qui se passe lorsquon utilise lhmicube pour o e  rassembler lnergie dans la mthode standard de radiosit. Une meilleure mthode est cepen  e e e e dant ncessaire dans le cadre de la radiosit progressive. e e Wallace et al. [WEH89] ont propos un algorithme utilisant le lancer de rayon (ray casting) e a ` la fois pour rsoudre le probl`me de visibilit et calculer directement les facteurs de forme entre e e e des points sur les rcepteurs et la source. e Ray casting Considrons une tape de lalgorithme de radiosit progressive pour laquelle la source (ou e e e `ee llment metteur) est Pi . Le facteur de forme point a lment entre un sommet y du maillage ee e e e dun rcepteur et la source Pi peut tre calcul directement en utilisant la formule : e Fy,Pi =
xPi

cos cos V (y, x)dx , r 2

(1.7)

o` V (y, x) caractrise la visibilit entre les points y et x (1 si y et x se voient mutuellement, 0 u e e sinon). La radiosit reue en chaque sommet est alors obtenue en multipliant ce facteur de forme e c par la radiosit de la source. Lintgrale 1.7 peut tre value numriquement en divisant la e e e e e e ee surface de Pi en un nombre ni dlments Pik (k = 1 ... ni ) (cf. gure 1.7) et en additionnant les intgrales correspondant ` tous les lments visibles. Cela suppose que chaque lment a une e a ee ee e visibilit uniforme depuis le point y. Si la visibilit de llment Pik est note Vk {0, 1}, alors e e ee une estimation de Fy,Pi est :
ni

Fy,Pi =
k=1

Vk Fk , cos cos dx . r 2

o` u Fk =
xPik

La visibilit est dtermine pour chaque lment en lanant un ou plusieurs rayons. Linte e e ee c e grale dnissant le facteur de forme peut tre calcule de direntes mani`res. e e e e e La mthode la plus simple consiste ` calculer la valeur de lintgrande au centre de llment e a e ee et ` la multiplier par laire de llment, supposant alors que lintgrande est constante sur a ee e llment. Les rsultats obtenus ne sont cependant pas tr`s prcis. ee e e e

1.2 Le facteur de forme

17

Pi

Pi

Pi Pi Pi
4

Fig. 1.7 - Subdivision de la source pour le calcul dun facteur de forme (schma issu de [SP94]). e Dans le cas de sc`nes polygonales, une autre possibilit consiste ` calculer le facteur de e e a forme point ` lment en ralisant une intgration de contour le long des artes de polygones. a ee e e e Le facteur de forme point ` lment entre le point y et llment Pik sexprime alors par : aee ee Fk = 1 2 n . g ,
gG

tel-00004958, version 1 - 20 Feb 2004

o` n est le vecteur normal ` la surface au point y, G est lensemble des sommets de llment u a ee e e Pik , Rg est un vecteur entre le point y et le sommet numro g de Pik , et g est un vecteur orient dans la direction du produit vectoriel Rg Rg+1 , avec une amplitude gale ` langle g (angle e a e entre Rg et Rg+1 ) (cf. [SP94] pour plus de dtails). Ce calcul peut, dans certains cas, ne pas tre tr`s prcis car il suppose que chaque lment Pik de la source est soit totalement visible, e e e ee soit totalement invisible. Wallace et al. [WEH89] utilisent une autre mthode qui donne un bon compromis entre e prcision et rapidit de calcul. Chaque lment est approxim par un disque de mme aire et e e ee e e de mme orientation que llment. On dispose en eet dune formulation analytique pour le e ee facteur de forme entre une aire direntielle et un disque (cf. [WEH89] ou [SP94]). Le facteur e e de forme pour un lment Pik de la source est alors approxim par : ee Fk = Ak cos cos i , Ak + r 2 i

avec Ak laire de llment Pik . ee i Direntes stratgies sont envisageables pour le choix des lments de la source. La plus e e ee simple consiste bien videmment a subdiviser la source de mani`re uniforme. On peut aussi e ` e envisager deectuer un dcoupage plus ou moins n en fonction de la distance par rapport au e rcepteur considr, ou une dcomposition hirarchique de la source, en concentrant les lments e ee e e ee l` o` lintgrande varie le plus (cf. [SP94] pour plus de dtails sur les direntes stratgies posa u e e e e sibles).

18

Etat de lart

Les direntes mthodes de dtermination prsentes prcdemment dans ce paragraphe sont e e e e e e e des mthodes dterministes. Il existe aussi un certain nombre de mthodes probabilistes, dites e e e de Monte-Carlo, qui sont utilises pour approximer les facteurs de forme. e Mthodes de Monte-Carlo e Malley [Mal88] a notamment propos une valuation de Monte-Carlo du facteur de forme e e base sur lanalogue de Nusselt (Nusselt Analog). Il commence par gnrer un certain nombre e e e de points distribus uniformment dans le cercle sous lhmisph`re centre sur un lment (cf. e e e e e ee gure 1.5). Chaque point est ensuite projet verticalement pour intersecter lhmisph`re. On e e e lance ensuite depuis le centre de lhmisph`re, des rayons qui passent par les points projets. On e e e compte le nombre de fois que chaque lment de la sc`ne est intersect par un rayon. Le facteur ee e e de forme correspond alors au nombre de rayons qui intersectent un lment donn, divis par le ee e e nombre total de rayons lancs. e Sbert, quant a lui, a appliqu Monte-Carlo de faon globale. Dans [Sbe93], il prsente un ` e c e algorithme pour le calcul des facteurs de forme, bas sur la gomtrie intgrale. Sbert lance un e e e e certain nombre de droites alatoires rparties uniformment dans la sc`ne. Une droite est dnie e e e e e comme la droite passant par deux points pris de faon alatoire sur une sph`re englobant la c e e sc`ne. Pour chaque droite, il compte le nombre dintersections avec chaque surface de la sc`ne, e e ce qui lui donne une estimation des mesures des ensembles de droites intersectant les surfaces. Sbert se sert ensuite dune formulation du facteur de forme issue de la gomtrie intgrale pour e e e valuer les facteurs de forme entre deux surfaces : le facteur de forme entre deux surfaces Ai e et Aj peut tre exprim par la mesure de lensemble des droites intersectant Ai et Aj sans e e intersecter dobstacles, divise par la mesure de lensemble total des droites intersectant Ai (cf. e paragraphe 2.1 du chapitre 2 pour plus de dtails). e Pellegrini [Pel95] a aussi utilis une caractrisation des facteurs de forme base sur les e e e concepts de la gomtrie intgrale pour calculer une approximation de Monte-Carlo des face e e teurs de forme. Il est parti de la formulation du facteur de forme sous forme dun rapport de mesures de droites. Puis il a rexprim la mesure des droites intersectant deux surfaces Ai et Aj e e donnes en mesurant les droites qui intersectent ces deux surfaces dans une direction donne, e e et en considrant ensuite lensemble des directions. La mesure des droites intersectant deux sure e faces Ai et Aj dans une direction u donne, sans intersecter dobstacles, est obtenue en projetant e orthogonalement les surfaces Ai et Aj ainsi que les surfaces qui interf`rent sur un plan P (u) orthogonal ` u, puis en calculant ensuite dans le plan P (u) laire de lintersection des projections a e e de Ai et Aj prive de lunion des projections des surfaces qui interf`rent. Lensemble des directions u considres est obtenu en choisissant uniformment de mani`re alatoire un ensemble ee e e e de points p sur la sph`re unit centre en O. Une direction u donne est alors caractrise par e e e e e e le vecteur Op. Les calculs de parties caches pour une projection sont cependant eectues en e e utilisant des structures thoriques inimplmentables. e e

tel-00004958, version 1 - 20 Feb 2004

1.3
1.3.1

Le maillage de discontinuit e
Introduction

Comme nous avons pu le voir dans le paragraphe 1.1, la mthode de radiosit est une mthode e e e par lments nis. La prcision et la qualit de la solution dclairage obtenue avec cette mthode ee e e e e

1.3 Le maillage de discontinuit e

19

dpendent donc de la taille et du choix de la discrtisation (ou maillage) de lenvironnement e e considr. ee Dans la mthode de radiosit standard, la valeur de radiosit est suppose constante sur e e e e un lment donn, ce qui revient en fait ` traiter la fonction de radiosit comme une fonction ee e a e constante par morceaux. Si on souhaite obtenir une solution de radiosit de bonne qualit, il est e e donc prfrable dutiliser un maillage qui suive la distribution de la lumi`re dans lenvironnement, ee e avec une plus forte densit dlments dans les rgions o` lclairage change rapidement. Le fait e ee e u e que la distribution de la lumi`re soit justement linconnue du probl`me a conduit a llaboration e e ` e de direntes techniques de gnration automatique de maillage. e e e On distingue deux approches qui prennent en compte la connaissance de la fonction de radiosit : une que lon qualiera de a posteriori et lautre de a priori. Lapproche a posteriori, e qui est apparue historiquement en premier, consiste ` raner le maillage au fur et a mesure du a ` calcul de la solution de radiosit. La seconde approche, que lon qualie de a priori, consiste a e ` calculer tout ou une partie du maillage avant le calcul de la solution de radiosit. e

tel-00004958, version 1 - 20 Feb 2004

Mthodes a posteriori : Ces mthodes sappuient sur des rsultats partiels de la simulae e e tion. Une approximation initiale de la solution de radiosit est obtenue en utilisant un maillage e uniforme ou un autre maillage dtermin a priori. Le principe consiste ensuite a subdiviser les e e ` lments qui ne vrient pas certains crit`res. Les crit`res choisis peuvent tre de direntes ee e e e e e sortes. Cohen et al. [CGIB86], qui ont t les premiers ` utiliser ce principe de subdivision adapee a tative pour la radiosit, ranent le maillage dans les rgions o` il y a une forte variation de la e e u fonction de radiosit. Le taux de variation de la fonction de radiosit, ou gradient de radiosit, e e e est estim en considrant les valeurs de radiosit des lments voisins. Apr`s avoir subdivis les e e e ee e e lments ne vriant pas le crit`re choisi, une nouvelle estimation de la solution de radiosit ee e e e est calcule avec le maillage amlior, et lensemble du processus est rpt jusqu` ce quon e e e e ee a ne puisse plus trouver dlments ne vriant pas le crit`re choisi. Le maillage est, en gnral, ee e e e e reprsent sous forme de quadtrees (cf. gure 1.8). e e

Fig. 1.8 - Subdivision adaptative gnre le long dune limite dombre (schma issu de [SP94]). e e e e

20

Etat de lart

Mthodes a priori : Les mthodes a priori consistent a calculer tout ou une partie du e e ` maillage avant le calcul de la solution de radiosit. Elles consistent ` construire le maillage e a en positionnant les limites des lments sur les discontinuits de la fonction de radiosit. Ces ee e e discontinuits correspondent ` des changements de visibilit dans la sc`ne. Elles dlimitent noe a e e e tamment les zones dombre et de pnombre. Elles sont purement gomtriques et peuvent tre e e e e dtermines avant que le solution de radiosit ne soit calcule. Cette technique de maillage a e e e e priori, base sur les discontinuits, est appele maillage de discontinuit. e e e e Les mthodes a posteriori sont moins coteuses et plus simples ` utiliser que le maillage de e u a discontinuit dont la construction ncessite de nombreux calculs gomtriques. Cependant ces e e e e mthodes dpendent fortement de la taille minimale des lments, si bien que lombre de petits e e ee e tre objets peut avoir t oublie ou il peut appara des eets descalier aux limites dombre, si ee la subdivision nest pas susamment ne. On peut aussi avoir des probl`mes de fuite dombre e ou de lumi`re aux endroits o` les objets sont en contact (cf. [CW93b]). Par contre le maillage e u de discontinuit permet de prendre en compte toutes les ombres associes ` lensemble des e e a objets de la sc`ne quelle que soit leur taille et assure que les contours des ombres seront bien e dessins puisque les limites des lments suivent les limites des zones dombre et de pnombre de e ee e lenvironnement. De plus, si toutes les discontinuits se trouvent sur des lignes du maillage, des e techniques de reconstruction appropries peuvent tre utilises pour reprsenter la fonction de e e e e radiosit exacte. Hardt et Teller prsentent notamment dans [HT96] une mthode permettant e e e de reconstruire la fonction de radiosit avec une grande dlit et en temps interactif, qui utilise e e e une technique de maillage prenant en compte les discontinuits. e Lutilisation du maillage de discontinuit dans le cadre de la radiosit semble primordiale, e e an dobtenir une image de la meilleure qualit possible. e

tel-00004958, version 1 - 20 Feb 2004

1.3.2

Dirents types de discontinuit e e

Les discontinuits de la fonction de radiosit correspondent a des changements de visibilit e e ` e dans la sc`ne. Les discontinuits sont purement gomtriques et peuvent tre dtermines avant e e e e e e e le calcul de la solution de radiosit. Par dnition, on parle de discontinuit Dk en un point e e e si la fonction de radiosit est C k1 mais non C k en ce point. Si on tient compte de lensemble e des changements de visibilit dans la sc`ne, la fonction de radiosit peut avoir de tr`s nome e e e breuses discontinuits. Les discontinuits les plus signicatives (en fait les plus visibles) sont e e celles que nous percevons comme des limites dombre et de pnombre. Dans le cas dune sc`ne e e 3D, elles correspondent ` des discontinuits dordre 0, 1 ou 2. Les dirents travaux existants a e e se restreignent ` ce type de discontinuits. Les discontinuits habituellement considres corresa e e ee pondent a des changements de visibilit entre la source et les surfaces rceptrices. Elles dlimitent ` e e e sur les surfaces de la sc`ne des zones o` la source est totalement visible, partiellement visible ou e u compl`tement cache par des obstacles. e e Discontinuits D0 e Les discontinuits D0 sont causes par le passage brutal de la visibilit totale de la source a e e e ` loccultation compl`te. Cet vnement se produit quand deux objets sont en contact, ou le long e e e des limites dombre cres par une source de lumi`re ponctuelle. On peut en voir un exemple sur ee e la gure 1.9. Dans le cas de surfaces en contact (cf. gure 1.9(a)), la discontinuit se situe sur la e ligne de contact entre les deux surfaces : en traversant cette ligne la source devient brusquement

1.3 Le maillage de discontinuit e

21

source

discontinuits D 0 ( a) ( b)

Fig. 1.9 - Discontinuits D0 : (a) discontinuit lie ` deux surfaces en contact ; (b) discontinuit e e e a e lie ` une source ponctuelle. e a totalement visible ou bien compl`tement occulte. e e

tel-00004958, version 1 - 20 Feb 2004

Discontinuits D1 et D2 e Des discontinuits dordre suprieur, rsultant de changements de visibilit plus complexes, e e e e peuvent aussi appara dans la sc`ne. tre e La visibilit que lon a de la source varie en fonction de lendroit o` on se trouve dans e u lenvironnement : la source peut tre totalement visible, partiellement visible ou compl`tement e e cache depuis un point donn. Les changements dans cette visibilit sont provoqus par des e e e e vnements gomtriques appels vnements visuels. Ces vnements visuels ont t tudis e e e e e e e e e ee e e prcdemment en vision par ordinateur, o` a t dvelopp le graphe daspect [PD90, GM90, e e u ee e e GCS91] qui regroupe tous les points de vue depuis lesquels un objet a le mme aspect. Ce e probl`me est troitement li ` la dtermination des rgions depuis lesquelles la partie visible dune e e ea e e source a le mme aspect, probl`me correspondant en fait ` trouver les limites de la pnombre. e e a e Dans le cas des sc`nes polygonales, les changements de visibilit sont causs par linteraction e e e des artes et des sommets des objets de lenvironnement. On distingue deux catgories dve e e e e nements visuels : les vnements EV (de langlais edge (arte) - vertex (sommet)) qui sont e e causs par linteraction dun sommet et dune arte, et les vnements EEE (de langlais edge e e e e e e - edge - edge) qui sont causs par linteraction de trois artes. Un calcul explicite de lirradiance due a une source polydrique et de ses drives a mis en ` e e e vidence les mmes vnements (cf. [Arv94]). e e e e Evnements EV : Un vnement EV se produit lorsquun sommet dun objet est vu comme e e e co ncidant avec une arte dun autre objet. Le changement de visibilit se fait le long dune e e surface critique, correspondant ` une portion du plan contenant le sommet et larte associs ` cet a e e a vnement. On peut en voir un exemple sur la gure 1.10, o` le sommet v1 de la source est visible e e u e a e e depuis le point P2 mais ne lest pas depuis le point P1 . La surface critique associe ` un vnement EV est dnie par lensemble des points depuis lesquels le sommet associ ` lvnement est vu e ea e e comme co ncidant avec larte associe ` cet vnement. Lintersection de cette surface avec les e e a e e polygones de la sc`ne cre des courbes critiques o` se trouvent les discontinuits des drives de e e u e e e la fonction de radiosit. Pour des environnements polygonaux, les courbes critiques associes aux e e

22
v1 e1 surface critique

Etat de lart

source

P1 discontinuit D2 e P2

(a) Fig. 1.10 - Exemple de surface EV (schma (b) issu de [DF94]). e

(b)

vnements EV sont des segments de droites. La gure 1.11 montre lensemble des lignes critiques e e de type EV gnres sur un polygone, par une source triangulaire et un obstacle rectangulaire. e ee En gnral les discontinuits associes ` ces lignes critiques sont des discontinuits D2 . Cependant e e e e a e

source

tel-00004958, version 1 - 20 Feb 2004

obstacle

rcepteur

ombre pnombre

Fig. 1.11 - Dtermination des limites dombre et de pnombre (schma de P. Heckbert, Unie e e versit de Carnegie Mellon. e e e des discontinuits D1 peuvent se produire lorsquune arte de la source et une arte de lobstacle e sont coplanaires (cf. gure 1.12 o` on observe la source depuis un point de vue qui se dplace le u e long dune surface rceptrice). e

Evnements EEE : Les vnements EEE se produisent en prsence de trois artes non coplae e e e e naires, mutuellement visibles. La surface critique associe correspond ` un sous-ensemble dune e a quadrique rgle. Cest lensemble des points depuis lesquels les trois artes sont vues comme e e e sintersectant en un point. On peut en voir un exemple sur la gure 1.13. Le changement de visibilit se produit lorsquon traverse la surface quadrique : larte e1 de la source est visible depuis e e e e e le point P2 mais ne lest pas depuis le point P1 . Les courbes critiques associes aux vnements 2. EEE sont des segments de coniques et correspondent ` des discontinuits D a e

1.3 Le maillage de discontinuit e


source discontinuit D2 e

23

discontinuits D1 e

tel-00004958, version 1 - 20 Feb 2004

Fig. 1.12 - Evnements EV, vus depuis un point de vue qui regarde en direction de la source de e lumi`re et qui se dplace le long dune surface rceptrice (schma adapt de [CW93]). e e e e e

1.3.3

Maillage de discontinuit en 2D e

Le maillage de discontinuit dont la construction sav`re assez complexe dans le cas 3D, a e e dabord t tudi en 2D. Heckbert [Hec91, Hec92a] a ralis une tude de la fonction de radioeee e e e e sit sur des sc`nes polygonales 2D. Il sest notamment intress aux probl`mes de maillage et a e e e e e montr la ncessit dun maillage (ou chantillonnage) en fonction des discontinuits pour poue e e e e voir obtenir une meilleure solution de radiosit. Ltude du cas 2D, en simpliant le probl`me, e e e permet une meilleure comprhension du phnom`ne. En eet, dans le cas 2D, les discontinuits e e e e signicatives sont limites ` des discontinuits dordre 0 ou 1 [Hec92b]. La fonction de radioe a e e e sit en 2D poss`de des discontinuits D0 , au niveau des artes de la sc`ne qui se touchent ou e e e sintersectent, et le long des limites dombre cres par des sources de lumi`re ponctuelles. Elle ee e 1 , le long des limites dombre cres par des sources de ee prsente galement des discontinuits D e e e
e1 source

surface critique

P1

P2

discontinuit D2 e

(a)

(b)

Fig. 1.13 - Exemple de surface EEE (schma (b) issu de [DF94]). e

24

Etat de lart

Calcul des discontinuits D1 e Pour tout sommet p Pout tout sommet q Si aucune arte intersecte le segment pq alors e e = trace rayon(p, p q) f = trace rayon(q, q p) Si e = NULL alors e est une discontinuit e Si f = NULL alors f est une discontinuit e

Fig. 1.14 - Mthode de Heckbert pour le calcul des discontinuits D1 . e e

lumi`re linaires. e e

tel-00004958, version 1 - 20 Feb 2004

Construction Dans [Hec92a], Heckbert prsente un algorithme pour le calcul du maillage de discontinuit e e dune sc`ne 2D compose de segments de droites (ou artes). Il commence dabord par calcue e e e e ler les discontinuits D0 sachant que ce sont les plus signicatives : les artes de la sc`ne qui e sintersectent ou se touchent peuvent tre trouves en temps O(n log n) ([PS85]), o` n est le e e u nombre dartes dans la sc`ne. Le nombre de discontinuits D1 est de lordre de O(n2 ). Hecke e e bert [Hec92a] utilise un algorithme simple qui permet de calculer ces discontinuits en temps e 3 ). O(n Lalgorithme utilis, bas sur un principe de trac de rayons, est dcrit dans la gure 1.14. e e e e On appelle sommet lextrmit dune arte de la sc`ne. On note pq le segment de droite reliant e e e e deux points donns p et q. La fonction trace rayon(p, d) trace un rayon depuis le point p dans la e direction d et retourne le point dintersection avec la premi`re arte rencontre, si ce point existe. e e e e La gure 1.15 montre un exemple de discontinuit D1 : le point f est un point de discontinuit e 1 cr par la ligne critique passant par les extrmits p et q. ee e e D
p q

Fig. 1.15 - Exemple de discontinuit D1 . e Heckbert spcie dans [Hec92a] que la complexit de lalgorithme peut tre ramene ` e e e e a e O(n2 log n) en utilisant un algorithme de calcul de visibilit par balayage radial ([EOW83]) qui permet de dterminer la visibilit en temps O(n log n) pour chaque sommet de la sc`ne. e e e

1.3 Le maillage de discontinuit e

25

1.3.4

Construction du maillage de discontinuit en 3D e

tel-00004958, version 1 - 20 Feb 2004

Les premiers algorithmes traitent seulement un sous-ensemble dvnements visuels qui core e respondent aux limites de lombre et de la pnombre. e Nishita et Nakamae [NN85] dterminent ces limites en calculant les volumes dombre (shadow e e volumes) forms par un objet et chaque sommet du polygone source. Le volume de lombre pour un seul obstacle (ou bloqueur) est dni par lintersection des volumes dombre issus de chaque e sommet du polygone source. Le volume de la pnombre est dni par lenveloppe convexe 3D e e contenant les volumes dombre issus de chaque sommet du polygone source. Lintersection des volumes dombre et de pnombre avec les surfaces dnit les limites dombre et de pnombre. e e e Cette approche ignore les discontinuits ` lintrieur de la pnombre. e a e e Campbell [Cam91] a aussi calcul les limites extrieures de lombre et de la pnombre. Comme e e e Nishita et Nakamae, Campbell construit des volumes dombre et de pnombre pour chaque paire e source-bloqueur. Cependant, il evite de calculer une enveloppe convexe 3D en construisant les volumes directement a partir des surfaces critiques. Lalgorithme de Campbell suppose que lon ` a une source convexe et des bloqueurs polygonaux. Pour chaque arte du bloqueur, il existe une e surface critique forme par cette arte et par chaque sommet de la source. Le plan extremum e e minimum pour une arte donne du bloqueur est dni comme la surface critique qui forme e e e langle minimum par rapport au plan du bloqueur. De mme, il existe pour chaque arte de la e e source, une surface critique passant par cette arte et par chaque sommet du bloqueur. Et il y e a un plan extremum minimum pour chaque arte de la source. Le volume de la pnombre est e e constitu ` partir de lintersection de tous les plans extremums minimums de la source et du e a bloqueur. Le volume de lombre est dni de faon similaire en utilisant les plans extremums e c maximums du bloqueur. Les volumes dombre et de pnombre rsultants sont stocks sous forme e e e e darbres BSP (Binary Space Partition). Ces volumes sont ensuite fusionns avec un arbre BSP reprsentant les volumes dombre et de pnombre pour lensemble de la sc`ne. Lalgorithme de e e e Campbell teste ensuite chaque polygone dans la sc`ne par rapport a cet arbre BSP, an dinsrer e ` e les discontinuits au niveau de chaque polygone. Lapproche de Campbell a permis de classier e toutes les rgions comme totalement dans lombre, totalement dans la lumi`re ou partiellement e e occultes. e Heckbert [Hec92b] et Lischinski et al. [LTG92] ont ensuite dvelopp indpendamment des e e e algorithmes qui calculent les discontinuits dues aux vnements VE (et EV), impliquant les e e e sommets et artes des polygones source. Dans ces deux algorithmes, pour un polygone source e donn, on intersecte la surface critique correspondant a chaque vnement VE (et EV) avec les e ` e e dirents polygones de la sc`ne. e e Une fois que lensemble des intersections avec les polygones de la sc`ne a t calcul pour e ee e une surface critique donne, Heckbert utilise un algorithme dans le plan 2D de la surface lui e permettant de dterminer les artes visibles depuis le sommet associ ` cette surface critique. e e ea Lalgorithme utilis maintient une liste cha ee des intervalles visibles, auxquels on soustrait e n les intersections avec les polygones en commenant par la plus proche, et en allant vers la plus c loigne. Les portions des intersections visibles depuis le sommet associ ` la surface critique e e e a correspondent ` des discontinuits (cf. gure 1.16). a e Lischinski et al., quant a eux, stockent les polygones de la sc`ne au moyen dun arbre BSP. ` e La construction de larbre BSP ncessite un traitement et un stockage supplmentaires. Mais il e e permet de visiter les polygones en partant du plus proche et en allant vers le plus loign, lorse e quon teste les intersections avec une surface critique donne. Chaque intersection de la surface e

26

Etat de lart

source bloqueur artes de discontinuit e e

Fig. 1.16 - Calcul des artes de discontinuits dans la mthode de Heckbert. e e e

tel-00004958, version 1 - 20 Feb 2004

critique avec un polygone gn`re une arte de discontinuit et coupe une portion de la surface e e e e critique. Cette portion nest plus considre car elle ne peut pas crer de discontinuits sur des ee e e polygones situs au dessous du polygone considr. Quand la surface est enti`rement dcoupe, e ee e e e plus aucun polygone na donc besoin dtre test. e e Heckbert et Lischinski et al. ignorent les vnements EEE. Teller [Tel92] a t le premier a e e ee ` traiter ces vnements dans un contexte dirent. Dans [Tel92], il dcrit un algorithme permete e e e tant de calculer la limite de lanti-pnombre cre par une source polygonale convexe clairant a e ee e ` travers une squence de trous polygonaux convexes. Lanti-pnombre est le volume depuis lequel e e on peut voir seulement une partie de la source. Ce calcul est en fait equivalent au calcul prcis de e la limite extrme de lombre. Lalgorithme utilise les coordonnes de Pl cker, une reprsentation e e u e 5D des droites, pour transformer les artes de la source et des trous en hyperplans. Lenveloppe e convexe de ces hyperplans dnit un polytope 5D. La limite de lanti-pnombre est ensuite e e obtenue en intersectant ce polytope avec une surface quadrique 4D, la quadrique de Pl ucker. Lutilisation dune reprsentation 5D rend cette approche complexe et dicile ` gnraliser de e a e e mani`re robuste pour des environnements autres que des squences de trous (comme indiqu e e e dans [TH93]). Drettakis et Fiume [DF94], et Stewart et Ghali [SG94] ont ensuite prsent les premiers e e algorithmes permettant de calculer un maillage de discontinuit complet, qui inclut le calcul de e tous les vnements EV et EEE. e e Dans [DF94], Drettakis et Fiume prsentent un algorithme permettant de calculer un maillage e de discontinuit complet pour des sc`nes polydriques et des sources surfaciques. Lalgorithme e e e partitionne la sc`ne en un maillage constitu de faces telles que la vue que lon a de la source dans e e chaque face est topologiquement identique. Cette vue est reprsente par une structure de done e e e nes appele backprojection. Cette partition de la sc`ne en faces de mmes backprojections e e correspond au maillage de discontinuit complet de la sc`ne. Pour gnrer un tel maillage, il faut e e e e calculer toutes les surfaces EV et EEE qui interagissent avec lmetteur. Le maillage de discone tinuit est construit incrmentalement en considrant successivement les direntes surfaces de e e e e

1.4 Techniques de visibilit pour la radiosit e e

27

discontinuit lies ` un mme polygone, avant de passer au suivant. Le nombre dintersections e e a e entre les objets et les surfaces de discontinuit, et le temps ncessaire pour identier les sure e faces de discontinuit qui ne sont pas lies ` lmetteur sont rduits grce ` lutilisation dune e e a e e a a subdivision spatiale de la sc`ne en grille rguli`re. Une fois que le maillage de discontinuit est e e e e construit, Drettakis et Fiume calculent aussi la backprojection de chaque face du maillage e incrmentalement, en passant de face en face. Les backprojections sont tr`s utiles car elles e permettent de calculer les valeurs de radiance dans la pnombre de mani`re exacte. e e Un autre algorithme permettant de calculer le maillage de discontinuit complet est dcrit e e par Stewart et Ghali dans [SG94]. Cet algorithme permet, en utilisant les backprojections et la cohrence spatiale, de considrer seulement les triplets dartes qui dnissent vraiment une e e e e surface de discontinuit. Lalgorithme proc`de en plaant tous les sommets dans une queue de e e c priorit, en les ordonnant par ordre croissant par rapport ` leur distance a la source. Tant que e a ` la queue nest pas vide, on prend le sommet le plus haut. Pour chaque sommet cime ou peak e vertex (sommet qui na pas dartes adjacentes au dessus de lui), on calcule la backprojection en ce point avec un algorithme dlimination des parties caches. La backprojection est aussi e e calcule pour une des artes au dessous du sommet et est propage aux autres artes. Les surfaces e e e e de discontinuit gnres par le sommet et son arte adjacente sont dtermines au moyen de leurs e e ee e e e  backprojections respectives. Pour chaque surface de discontinuit, on calcule les intersections   e avec les polygones de la sc`ne, puis on dtermine les parties de ces intersections visibles depuis e e la source, an de dterminer les discontinuits correspondantes. A chaque fois quune surface e e de discontinuit intersecte une arte, le point dintersection est ajout ` la queue de priorit. e e e a e Dans le cas dun sommet non cime, ou dun point dintersection ajout, les backprojections e sont propages et les surfaces de discontinuit correspondantes sont calcules. Chaque surface e e e est intersecte avec lensemble des polygones de la sc`ne an de dterminer les discontinuits e e e e correspondantes. Lorsque la queue de priorit est vide, toutes les surfaces de discontinuits EV e e et EEE ont t considres. ee ee Cet algorithme ncessite des calculs gomtriques plus compliqus, mais garantit un meilleur e e e e comportement asymptotique dans le cas le pire que lalgorithme de Drettakis et Fiume [DF94]. Cependant lalgorithme de Drettakis et Fiume prsente lavantage de ne raliser que des mises ` e e a jour locales et dutiliser des structures de donnes plus simples. Les dirents tests raliss par e e e e Drettakis et Fiume indiquent dailleurs que leur algorithme calcule le maillage de discontinuit e complet en un temps qui cro linairement par rapport au nombre dobjets, pour des sc`nes t e e dintrieur typiques. e

tel-00004958, version 1 - 20 Feb 2004

1.4

Techniques de visibilit pour la radiosit e e

Dans les algorithmes de radiosit, la majeure partie du temps est passe ` calculer la visie e a bilit entre deux surfaces de la sc`ne. Direntes mthodes ont t proposes an dacclrer e e e e ee e ee ces calculs. Nous prsentons quatre approches : une approche spcique au ray casting, une e e ee e approche dite prudente (conservative) qui a t introduite pour les sc`nes architecturales et qui fournit un sur-ensemble dobjets partiellement visibles, une approche approximative multichelle, et une approche qui utilise le maillage de discontinuit. e e Comme on la vu dans le paragraphe 1.2.3, une approche souvent employe consiste a cale ` culer la visibilit en utilisant des mthodes de lancer de rayon (cf. [WEH89, HSA91]). Dans e e les direntes mthodes, la visibilit est approxime en lanant un certain nombre de rayons. e e e e c

28

Etat de lart

Il est donc possible dutiliser pour ce calcul les direntes mthodes dacclration dveloppes e e ee e e dans le cadre du lancer de rayon. De nombreuses structures de subdivision de lespace ont t ee proposes, visant ` liminer tr`s rapidement un grand nombre dobjets. On peut citer notame ae e ment les grilles rguli`res, les quadtrees et les octrees, les Kd-trees, les arbres BSP (Binary e e e e Space Partition), et plus rcemment la hirarchie de grilles uniformes ou HUG (cf. notamment [FvDFH90, WW92, Caz97] pour plus de dtails). Le principe pour calculer lintersection e dun rayon avec une sc`ne, est alors de ne considrer que les objets a lintrieur des cellules de e e ` e la subdivision traverses par le rayon. e Dans [HW91], Haines et Wallace prsentent un algorithme qui prcalcule une liste de bloe e queurs au moyen dune structure hirarchique. Etant donne une structure hirarchique de voe e e lumes englobants, ils construisent pour deux volumes englobants donns, une structure appele e e  shaft (tube en franais). Un tube correspond a lenveloppe convexe contenant deux volumes   c ` englobants donns. Haines et Wallace calculent ensuite une liste de candidats, constitue des e e volumes englobants ou des objets qui se trouvent ` lintrieur ou qui intersectent le tube. Le a e cot du lancer de rayon pour dterminer la visibilit entre un metteur et un rcepteur est alors u e e e e rduit, en considrant uniquement les lments de la liste de candidats associe. e e ee e Teller et Hanrahan [TH93] se placent dans le cas spcique de sc`nes architecturales qui e e sont tr`s structures, prsentent beaucoup docclusions, et o` la visibilit dune pi`ce ` lautre e e e u e e a ne se fait qu` travers des sries de portes ou fentres. Lide est de construire une structure a e e e de donnes qui permet de dterminer facilement lensemble des objets potentiellement visibles. e e Les auteurs montrent notamment quune telle structure permet dacclrer le calcul de radiosit ee e hirarchique. Les algorithmes prsents subdivisent lespace, construisent un graphe de visibilit e e e e e dit prudent (conservative) pour les polygones de la sc`ne, puis maintiennent le graphe au cours de la subdivision rcursive des polygones. Chaque paire de polygones de la sc`ne est classie e e e comme totalement invisible, totalement visible ou partiellement visible. La classication est prudente : toutes les paires de polygones classies visibles ou invisibles le sont eectivement, mais e il est possible quune paire classie partiellement visible, soit totalement visible ou totalement e invisible. La construction et le maintien du graphe seectuent en plusieurs tapes. La sc`ne est e e dabord subdivise spatialement en cellules polydriques convexes en utilisant les plans des poe e lygones, ` la mani`re dun arbre BSP. Ensuite, Teller et Hanrahan tablissent la visibilit entre a e e e les cellules en la propageant ` travers les ouvertures, puis ils dterminent la visibilit entre les a e e polygones appartenant aux parties mutuellement visibles des cellules. Lorsque deux polygones sont classis partiellement visibles, un ensemble de polygones interfrants (ou bloqueurs) qui e e sont susceptibles de rduire la visibilit entre ces deux polygones est dtermin. Le calcul de e e e e cette liste de bloqueurs est aussi prudent : un polygone qui ninterf`re pas peut tre occasionnele e lement classi comme bloqueur mais un bloqueur ne sera jamais oubli. Pour nir, les auteurs e e expliquent comment maintenir incrmentalement le graphe de visibilit lors de la subdivision e e des polygones, pour pouvoir utiliser cette structure dans le cadre dun algorithme de radiosit e hirarchique. Une interaction entre parents tant donne, les listes prudentes de bloqueurs pour e e e les ls sont aussi dtermines incrmentalement. e e e Ces calculs de visibilit ont t rutiliss dans [TFFH94], dans le cadre de tr`s grandes sc`nes e ee e e e e qui ne peuvent tre stockes enti`rement en mmoire centrale. Teller et al. y dcrivent des algoe e e e e rithmes permettant de calculer une solution de radiosit hirarchique pour de telles sc`nes. Pour e e e e rassembler lnergie provenant de lenvironnement sur un regroupement (cluster) R donn, ils e chargent en mmoire, les uns apr`s les autres, seulement les regroupements vus par le regroupee e ment R, et les regroupements interfrants entre ces regroupements et le regroupement R. Ces e

tel-00004958, version 1 - 20 Feb 2004

1.5 Radiosit pour les environnements dynamiques e mthodes ont aussi t utilises dans [Fun96], dans un contexte parall`le. e ee e e

29

tel-00004958, version 1 - 20 Feb 2004

Une autre approche possible consiste ` approximer la visibilit, en la reprsentant ` dia e e a e rents niveaux de prcision. Dans [SD95], Sillion et Drettakis prsentent un algorithme de calcul e e de visibilit multi-rsolution permettant de rduire le cot du calcul de visibilit dans le cadre e e e u e dun algorithme de radiosit bas sur le clustering. Dans cet article, ils se proposent de poue e voir rgler la qualit de limage souhaite, tout en neectuant que les calculs de visibilit au e e e e degr de prcision ncessaire pour obtenir cette qualit. On peut en eet souhaiter modliser e e e e e de faon prcise les ombres des gros objets qui vont avoir un contour net, mais se contenter c e dune approximation pour lombre dun amas de petits objets qui aura un contour ou. Dans le e e e cadre du clustering, la visibilit est approxime par une attnuation volumique moyenne pour e e e chaque regroupement (cluster). Pour pouvoir rgler la prcision du calcul de visibilit, il sut de pouvoir contrler la descente dans la hirarchie et de la stopper quand on a une prcision o e e susante. Sillion et Drettakis associent a chaque regroupement un coecient dextinction exprimant la ` probabilit quun rayon alatoire soit intercept ` lintrieur du regroupement. Ils introduisent e e ea e e e e la notion de caractristique (feature) pour valuer la qualit dune image. Les caractristiques e correspondent ` ce quon peroit quand on regarde une image. Dans le cas de lclairage, il sagit a c e principalement des zones dombre et des zones claires. Une taille spcique s de caractrisque e e e e tant choisie, il nest pas ncessaire de considrer le contenu du regroupement pour le calcul e e e de visibilit si ce contenu va produire des caractristiques plus petites que s. Dans ce cas, la e e descente dans la hirarchie est arrte et le coecient dextinction est utilis, vitant ainsi de e ee e e considrer tous les descendants du regroupement. e A loppos dans [DS96], Drettakis et Sillion proposent un calcul exact de la visibilit de la e e source, obtenu au moyen du maillage de discontinuit. Ils prsentent un algorithme incorporant e e e e e les backprojections et le maillage de discontinuit dans lalgorithme de radiosit hirarchique. e e Les backprojections (cf. paragraphe 1.3.4) sont des structures de donnes permettant de dterminer ecacement et de mani`re exacte, la partie dune source visible depuis un point quelconque e de la pnombre. Elles permettent donc de dterminer ` moindre cot la valeur analytique du e e a u facteur de forme point ` lment entre tout point de la pnombre et la source. La prise en a ee e compte de la visibilit exacte de la source permet damliorer grandement la qualit visuelle. e e e Cette approche est limite ` la source principale. e a

1.5

Radiosit pour les environnements dynamiques e

La mthode de radiosit est particuli`rement adapte pour le rendu de sc`nes dintrieurs et e e e e e e semble donc bien approprie pour des applications comme la simulation architecturale raliste, e e ou ltude dclairage. De telles applications ncessitent de pouvoir modier lenvironnement e e e (bouger les objets, modier lclairage, changer les proprits des matriaux, etc.). De tels envie ee e ronnements sont dits dynamiques. La mthode de radiosit est tr`s utile dans ce contexte car elle prsente dj` lavantage dtre e e e e ea e indpendante du point de vue : quel que soit lendroit o` on se positionne pour regarder la sc`ne, e u e le calcul de radiosit eectu reste valable. Il reste encore bien videmment a prendre en compte e e e ` les modications de lenvironnement, et cela de faon la plus rapide possible. c On peut distinguer deux approches complmentaires : les algorithmes de calcul de radiosit e e

30

Etat de lart

qui ont t adapts pour traiter les environnements dynamiques, et linterpolation entre imagesee e cls. La premi`re approche consiste ` fournir une nouvelle solution de radiosit pour chaque e e a e nouvelle conguration de la sc`ne. La mthode la plus utilise, dite mthode incrmentale, e e e e e part dune solution de radiosit existante et la met ` jour de faon incrmentale, en fonction e a c e des changements aectant la sc`ne. A loppos, les mthodes utilisant la deuxi`me approche e e e e se contentent de calculer une solution de radiosit pour certaines congurations choisies de la e sc`ne, puis dappliquer une technique dinterpolation pour obtenir des images intermdiaires. e e Nous nous intresserons ici tout particuli`rement ` la premi`re approche sachant que la e e a e mthode que nous prsentons dans cette th`se rentre dans cette catgorie. e e e e

1.5.1

Recalcul dune solution de radiosit e

tel-00004958, version 1 - 20 Feb 2004

Une solution, pour recalculer la solution de radiosit apr`s un changement de la sc`ne, serait e e e bien videmment de recommencer le calcul a zro. Mais de cette faon, on ne tiendrait pas e ` e c compte des informations toujours valables (en particulier si le changement est peu important), ce qui ne serait pas du tout ecace. Lide est en fait dessayer de discerner ce qui est modi, e e en fonction du changement apport ` lenvironnement, et deectuer ensuite uniquement les e a recalculs strictement ncessaires. Ces recalculs dpendent en fait du type de changement eectu e e e (cf. gure 1.17). Si on modie la gomtrie de la sc`ne (ajout, destruction, dplacement dun e e e e objet), le maillage va tre modi, il va aussi falloir calculer ou recalculer un certain nombre de e e facteurs de forme, avant de rsoudre ` nouveau le syst`me dquations de radiosit. Par contre e a e e e si on change les proprits de rectance, il sut seulement de rsoudre ` nouveau le syst`me ee e e a e dquations pour obtenir la nouvelle solution de radiosit. e e
Environnement discrtis e e

Changer la gomtrie de la sc`ne e e e

Calcul des facteurs de forme Changer les proprits de rectance ee e (coecient de rexion, mission, ...) e e Rsolution du syst`me e e dquations e Changer le point de vue Achage dune vue spcique e

Calcul de la solution de radiosit e

Fig. 1.17 - Direntes tapes dun programme utilisant la mthode de radiosit, et recalculs e e e e imposs par les dirents changements apports ` la sc`ne. e e e a e Un certain nombre de mthodes spciques ont t proposes pour les changements de proe e ee e

1.5 Radiosit pour les environnements dynamiques e

31

prits de rectance des objets. Les chercheurs se sont cependant beaucoup plus intresss au ee e e e probl`me du calcul de la solution de radiosit dans le cas dobjets en mouvement, sachant que e e le dplacement dun objet dans une sc`ne ncessite de recalculer un certain nombre de facteurs e e e de forme et que le calcul des facteurs de forme est ltape la plus coteuse de la mthode de e u e radiosit. Nous verrons dans un premier temps les mthodes spciques pour les changements de e e e proprits de rectance des objets, puis les direntes mthodes proposes dans le cas dobjets ee e e e e en mouvement. Changements des proprits de rectance des objets e e e Les changements de proprits de rectance des objets (terme dmission, couleur, coecient ee e e de rexion) sont les changements les plus simples ` prendre en compte et les moins coteux e a u puisquils ne ncessitent pas de recalculer des facteurs de forme. e Ces changements peuvent tre pris en compte tr`s facilement et tr`s rapidement en utilisant e e e des mthodes incrmentales telles que celles de Chen [Che90] et George et al. [GSG90], qui e e partent dune solution de radiosit existante et la mettent ` jour de faon incrmentale en e a c e redistribuant lnergie dj` change entre les objets. Dans le cas du changement des proprits e eae e ee de rectance dun objet, il sut de redistribuer de lnergie depuis les lments de cet objet an e e ee de prendre en compte ses nouvelles proprits dans lclairage de lenvironnement. Les mthodes ee e e incrmentales de Chen et de George et al. sont dcrites de faon plus prcise dans le paragraphe e e c e suivant qui traite du cas dobjets en mouvement dans une sc`ne. e Dans le cadre dun environnement o` les seules modications apportes sont des changements u e des termes dmission, comme cest le cas par exemple dans les applications dtude de lclairage, e e e une autre solution consiste ` calculer une solution de radiosit spare pour chaque source de a e e e lumi`re, avec un terme dmission gal ` 1 (cf. [ARB90]). Il sut ensuite tout simplement de e e e a combiner les direntes solutions de radiosit, an dobtenir la solution correspondant a un jeu e e ` de lampes donn. e Dans la mme ligne, Dorsey [Dor93] calcule, dans son syst`me dtude dclairage pour un e e e e e opra, de multiples images de sc`nes complexes depuis un point de vue x. Ces direntes images e e e e di`rent seulement par les termes dmission des lampes. Ensuite, en mettant a lchelle et en e e ` e sommant les images, elle obtient des solutions correspondant ` direntes conditions dclairage, a e e en temps interactif. Cas dobjets en mouvement On distingue ici deux approches : une approche o` on calcule une solution de radiosit pour u e chaque image dune squence, avec la trajectoire des objets en mouvement connue ` lavance, et e a une approche dite incrmentale o` on part dune solution de radiosit pour une conguration e u e donne de la sc`ne, que lon met ` jour incrmentalement, en fonction des changements apports e e a e e a ` la sc`ne. e Calcul dune squence pour laquelle la trajectoire des objets est connue ` lavance e a Dans [BWCG86], Baum et al. proposent une premi`re mthode de calcul de radiosit pour e e e des environnements dynamiques o` la trajectoire des objets en mouvement est connue ` lavance. u a Lalgorithme prsent utilise la cohrence temporelle an de produire une squence dimages de e e e e mani`re ecace. Les auteurs distinguent les objets qui ne bougent pas (objets statiques) et les e

tel-00004958, version 1 - 20 Feb 2004

32

Etat de lart

tel-00004958, version 1 - 20 Feb 2004

objets qui se dplacent au cours de lanimation (objets dynamiques). La mthode est base sur e e e le fait que le facteur de forme entre deux objets statiques qui ne sont pas occults par un objet e en mouvement aura une valeur constante au cours de lanimation, et il sera donc inutile de le recalculer. Chaque objet dynamique est entour dun volume englobant lensemble de sa trajectoire. Lalgoe rithme se droule ensuite en deux tapes : une tape de prtraitement qui est excute une seule e e e e e e fois pour lensemble de lanimation, et une tape de mise ` jour qui est eectue pour chaque e a e image. Ltape de prtraitement permet de calculer les facteurs de forme entre les objets stae e tiques qui ne seront pas occults par un objet dynamique au cours de lanimation. Ces facteurs e de forme sont obtenus en utilisant un hmicube. Pour un lment donn, on projette dabord e ee e lensemble des surfaces statiques sur lhmicube, puis on projette le volume englobant de chaque e objet dynamique (cf. gure 1.18(a)). On utilise une deuxi`me mmoire-tampon (buer) pour e e stocker les surfaces statiques qui sont caches par les volumes englobants, lorsquon les projette e sur lhmicube (cf. gure 1.18(b)). Un masque est ensuite constitu, regroupant les direntes e e e cellules de lhmicube recouvertes par un volume englobant donn. Ce masque est utilis dans e e e la deuxi`me tape pour dterminer les surfaces eectivement occultes par un objet dynamique e e e e donn, dans une image donne. La deuxi`me tape consiste ` calculer, pour chaque image, les e e e e a facteurs de forme qui nont pas encore t calculs. Il sagit des facteurs de forme pour les objets ee e dont la visibilit est potentiellement rduite par un objet dynamique (facteurs de forme entre un e e lment statique donn et les lments appartenant a la projection du volume englobant dans ee e ee ` lhmicube correspondant), et des facteurs de forme pour les objets dynamiques. Pour dtermie e ner les parties dun objet dynamique, visibles depuis un lment statique donn, dans une image ee e donne, on utilise le masque de projection. Pour calculer les facteurs de forme entre cet lment e ee et les parties visibles de lobjet dynamique, il sut alors de superposer ces parties visibles sur la e mmoire-tampon (buer) qui contient les surfaces statiques caches par le volume englobant e de lobjet dynamique (cf. gure 1.18(c)).

(b)

(c)

(a)
Fig. 1.18 - Utilisation de lhmicube pour dterminer les changements de facteurs de forme e e (schma issu de [SP94]) : (a) projection des objets statiques, puis du volume englobant de lobjet e dynamique sur lhmicube ; (b) stockage dans un deuxi`me buer des surfaces statiques cae e ches par le volume englobant ; (c) superposition des parties visibles de lobjet dynamique sur le e deuxi`me buer. e

1.5 Radiosit pour les environnements dynamiques e

33

Dans [BS96], Besuievsky et Sbert prsentent une autre mthode permettant de calculer la e e solution de radiosit pour une squence dimages avec un objet en mouvement. Cet algorithme e e est aussi bas sur le fait que la trajectoire des objets est connue ` lavance. La solution de e a radiosit est calcule en utilisant une approche de Monte Carlo globale. Au lieu de calculer e e chaque image sparment, Besuievsky et Sbert proposent de calculer la simulation de lclairage e e e dune squence de n images en un seul processus. Ceci est ralis en regroupant lensemble e e e des images dans une unique sc`ne plus complexe. Lobjet en mouvement est donc reproduit n e fois (autant de fois que le nombre dimages). La simulation de lclairage est ralise en lanant e e e c des droites alatoires dans cette nouvelle sc`ne. Chaque droite intersecte la totalit de la sc`ne, e e e e et les intersections sont stockes dans lordre, dans une liste appele liste de visibilit. Chaque e e e liste est partage en n listes indpendantes (une pour chaque image). On calcule ensuite pour e e chacune des droites, un tranfert dnergie indpendant pour chaque image, en utilisant la liste e e de visibilit associe qui permet de conna les paires de surfaces mutuellement visibles. e e tre Une deuxi`me approche utilise dans le cas dobjets en mouvement est une approche dite e e incrmentale. e

tel-00004958, version 1 - 20 Feb 2004

Mthodes incrmentales e e Les direntes mthodes proposes partent dune solution de radiosit courante, puis cale e e e culent une nouvelle solution a partir de cette solution courante, en essayant de se limiter aux ` recalculs strictement ncessaires. Les direntes mthodes suivent en fait les progr`s des solue e e e tions de radiosit : la mthode de radiosit progressive a dabord t adapte pour prendre en e e e ee e compte la spcicit des environnements dynamiques, puis la mthode de radiosit hirarchique, e e e e e et nalement la mthode de radiosit hirarchique avec clustering. e e e En 1990, Chen [Che90] et George et al. [GSG90] prsentent deux mthodes similaires, bases e e e sur la mthode de radiosit progressive. La simulation de radiosit est exprime sous forme dun e e e e processus incrmental o` les eets de lclairage introduits par le dplacement dun objet sont e u e e calculs en redistribuant lnergie dj` change entre les objets. Dans les deux algorithmes, e e ea e e on dplace un objet de la sc`ne en lenlevant dabord de la sc`ne, puis en le rajoutant dans sa e e e nouvelle position. Lorsquun objet est ajout dans la sc`ne, il faut redistribuer lnergie qui a e e e dj` t propage dans lenvironnement, an de tenir compte de ce nouvel objet. Les lments de eae e e ee lenvironnement qui voient le nouvel objet, doivent lancer de lnergie positive vers le nouvel e objet, an quil reoive sa part dnergie. Les lments dans lombre du nouvel objet doivent c e ee recevoir moins dnergie que dans la solution de radiosit prcdente. Ceci est ralis en lanant e e e e e e c e ee e de lnergie ngative vers les lments qui sont partiellement ou compl`tement dans lombre du e nouvel objet (cf. gure 1.19). Lorsquon enl`ve un objet de lenvironnement, linverse se produit. e En rsum, pour chaque lment qui a mis de lnergie, on proc`de en enlevant sa contribution e e ee e e e dnergie en se basant sur lancienne gomtrie de la sc`ne, et on relance lnergie en se basant e e e e e sur la nouvelle gomtrie. e e Les lments aects par la redistribution dnergie sont en fait tr`s localiss : il sagit des lee e e e e ee ments sur lobjet en mouvement et des lments dont la visibilit est rduite par lobjet en ee e e mouvement. Ils correspondent en fait aux elments pour lesquels il faut recalculer un facteur de e forme. An de rduire le nombre dlments considrs, Chen utilise un hmicube (un peu a la e ee ee e ` mani`re de Baum et al. [BWCG86]) et ne consid`re que la fraction de lhmicube contenant la e e e projection de lobjet en mouvement. George et al., qui calculent les facteurs de forme au moyen

34

Etat de lart

Correction positive

Correction ngative

tel-00004958, version 1 - 20 Feb 2004

Fig. 1.19 - Redistribution dnergie lie ` lajout dun objet dans la sc`ne (schma issu de e e a e e [SP94]).

e ee ee du ray casting, rduisent le nombre dlments considrs en utilisant un volume dombre e ee e (shadow volume) qui permet dliminer les lments qui ne peuvent pas ncessiter un recalcul de facteur de forme (cf. gure 1.20). La vitesse ` laquelle la nouvelle solution converge dpend de lordre dans lequel on eectue les a e tapes de redistribution et de propagation dnergie (ltape de propagation correspondant a e e e ` ltape standard de la mthode de radiosit progressive qui consiste ` lancer dans lenvironnee e e a ment lnergie de llment qui va contribuer le plus a lclairage de lenvironnement, cf. parae ee ` e graphe 1.1.2). Chen [Che90] et George et al. [GSG90] proposent direntes heuristiques an de e dterminer llment qui doit redistribuer ou propager son nergie. Ils prsentent aussi des ame ee e e e liorations de lalgorithme initial permettant, en gardant un historique des changements eectus, e dencha ner successivement plusieurs changements gomtriques sans avoir besoin dattendre que e e la solution converge. Mller et Schel [MS94] ont propos une amlioration des mthodes incrmentales de u o e e e e Chen [Che90] et de George et al. [GSG90]. Lalgorithme dvelopp est bas sur le fait que e e e la plupart des informations ncessaires pour la repropagation de lnergie apr`s une modicae e e tion de la sc`ne, ont dj` t dtermines au cours du calcul de la solution de radiosit existante. e eae e e e e Mller et Schel utilisent une structure de donnes qui permet de stocker, pour une itration u o e e donne, les facteurs de forme entre un elment metteur et les lments rcepteurs, si ils sont e e e ee e mutuellement visibles, ou bien lidenticateur de lobjet qui obstrue la visibilit sil y a occlusion. e Ils stockent aussi, dans une liste, lidenticateur de llment qui a lanc son nergie pour chaee e e cune des itrations de la mthode de radiosit progressive, et la quantit dnergie lance dans e e e e e e lenvironnement par cet lment. On peut ainsi, a partir dune solution de radiosit existante, ee ` e rpter seulement les itrations aectes par un changement survenant dans lenvironnement. e e e e En 1994, Forsyth et al. [FYT94] dcrivent la premi`re mthode base sur la mthode de e e e e e radiosit hirarchique [HSA91], qui permet de dterminer la solution de radiosit pour un ene e e e

1.5 Radiosit pour les environnements dynamiques e

35

Fig. 1.20 - Utilisation dun shadow volume pour dterminer les lments aects par la e ee e redistribution (schma issu de [SP94]). e

tel-00004958, version 1 - 20 Feb 2004

vironnement avec des objets qui se dplacent. Lalgorithme propos consiste ` commencer par e e a calculer la hirarchie de liens ainsi quune premi`re solution de radiosit hirarchique, pour une e e e e premi`re conguration de la sc`ne ; puis ` mettre a jour la hirarchie ` mesure quun objet se e e a ` e a dplace. Une technique itrative est ensuite utilise pour rsoudre le syst`me linaire dquations e e e e e e e rsultant. Le maintien de la hirarchie est bas sur le fait que, lorsquun objet se dplace, seulee e e e ment trois vnements dirents peuvent se produire ` un instant donn, pour un lien donn. e e e a e e Le lien peut se retrouver occult par lobjet en mouvement, ou bien deux lments peuvent se e ee retrouver susamment loin pour quil ne soit plus ncessaire de conserver le lien correspondant e on peut donc remonter dans la hirarchie et considrer des lments plus grands (on dit dans ce e e ee cas que le lien est remont dans la hirarchie) -. Ou inversement, deux objets peuvent se retroue e ver trop pr`s si bien que le niveau de reprsentation courant ne sut plus et il faut subdiviser e e les lments (on dit dans ce cas que le lien est descendu dans la hirarchie). ee e Il est important de pouvoir prdire ecacement quels liens auront leurs facteurs de forme moe dis par des occlusions, pour viter dexaminer tous les liens ` chaque tape au cours du de e a e e placement. Forsyth et al. distinguent les liens statiques (liens entre deux lments sur des objets ee statiques) et les liens dynamiques (liens relis ` un lment sur lobjet dynamique). Limplmene a ee e tation courante se limite en fait au cas des sc`nes o` les liens statiques ne sont pas occults. An e u e de limiter le nombre de liens dynamiques considrs ` chaque tape au cours du dplacement, ee a e e Forsyth et al. font de lextrapolation linaire. Les calculs de facteurs de forme et docclusion sont e raliss seulement pour certaines images. Pour les images intermdiaires, ils sont extrapols. e e e e Shaw [Sha94] a aussi appliqu la mthode de radiosit hirarchique de Hanrahan et al. [HSA91] e e e e aux environnements dynamiques. Dans [Sha94], elle propose deux algorithmes permettant de simplier un maillage qui devient trop ran apr`s un changement appliqu ` la sc`ne. Elle e e e a e prsente aussi une mthode permettant de limiter le nombre de liens considrs lors de la mise e e ee a ` jour apr`s le dplacement dun objet. e e An de pouvoir rduire la prcision du maillage lorsquon diminue lmission dune lampe, ou e e e lorsquon assombrit la couleur dune surface, Shaw stocke des liens inactifs appels liens fane

36

Etat de lart

tel-00004958, version 1 - 20 Feb 2004

tmes (ghost links) qui permettent de sauvegarder les informations de visibilit et de facteur o e de forme a chaque tape du ranement du maillage. Avant de subdiviser tout lment, un lien ` e ee fantme est cr entre les deux lments considrs. Dans ce lien sont stockes les informations o ee ee ee e de visibilit et de facteur de forme entre les deux lments considrs. Le lien est inactif car e ee ee il ne transporte pas dnergie pour la solution de radiosit courante, mais il pourra ventuellee e e ment tre restaur et utilis apr`s simplication du maillage. De faon similaire, an de pouvoir e e e e c simplier le maillage au niveau de lancienne zone dombre de lobjet dynamique lorsquil sest ee dplac, Shaw utilise des liens appels liens dombre (shadow links). Ces liens sont crs entre e e e un lment de la source de lumi`re et un lment sur un rcepteur lorsque la visibilit paree e ee e e tielle cause une diminution dnergie susante pour passer au dessous du seuil limite dnergie, e e stoppant ainsi la subdivision. Llment dans lombre continue ensuite bien videmment a tre ee e `e subdivis jusqu` la limite daire, en suivant le processus normal de lalgorithme de radiosit e a e hirarchique. Les liens dombre stockent, outre les informations de visibilit et de facteur de e e forme, une liste des bloqueurs qui rduisent la visibilit entre les deux lments considrs. e e ee ee Enn, an de limiter le nombre de liens considrs pour le recalcul des facteurs de forme dans ee le cas dun objet en mouvement, Shaw utilise un volume de dplacement (motion volume) qui e contient la rgion o` se produit le mouvement de lobjet (dans le mme esprit que Baum et e u e al. [BWCG86]). Elle consid`re alors comme aects par le dplacement de lobjet dynamique, e e e seulement les liens qui intersectent ce volume. En 1997, Drettakis et Sillion [DS97] prsentent un algorithme bas sur la mthode de rae e e ` diosit hirarchique avec clustering. Cet algorithme permet de fournir une mise a jour de la e e solution de radiosit en temps interactif, lorsquun objet se dplace dans une sc`ne de taille e e e e modre. La hirarchie de liens entre lments (clusters ou surfaces) est augmente par des ee e ee  shafts [HW91] (cf. paragraphe 1.4). Un  shaft reprsente ici, pour un lien donn, lensemble     e e des droites intersectant les deux lments lis. La hirarchie de lespace des droites de la sc`ne ee e e e ainsi obtenue permet didentier rapidement les liens modis lorsquun objet se dplace dans la e e sc`ne, en descendant hirarchiquement dans lespace des droites. Les liens dont les shafts sont e e intersects par la bo englobante de lobjet en mouvement, avant ou apr`s son dplacement, e te e e sont considrs comme potentiellement changs. Pour ces liens, il est ncessaire de recalculer de ee e e nouveaux facteurs de forme, puisque la visibilit par rapport a lobjet dynamique est susceptible e ` davoir chang. La hirarchie de lespace des droites permet aussi en mme temps de supprimer e e e les subdivisions trop nes des objets qui sont devenues inutiles apr`s le dplacement de lobjet e e dynamique (par exemple aux limites de lancienne zone dombre de lobjet dynamique, apr`s son e dplacement). Grce ` cette hirarchie, on peut aussi marquer les parties de la hirarchie qui e a a e e sont modies et donc identier les parties du syst`me dquations qui changent, ce qui permet e e e alors de rsoudre tr`s rapidement le syst`me dquations modi. La nouvelle mthode prsente e e e e e e e e permet aussi a lutilisateur deectuer un contrle du temps souhait pour le calcul dune image ` o e donne, en limitant la descente dans la hirarchie de lespace des droites en fonction du temps e e attribu pour cette image. e

1.5.2

Mthodes dinterpolation e

Une deuxi`me approche possible, dans le cas des environnements dynamiques avec des objets e en mouvement, consiste ` calculer une solution dclairage pour certaines congurations choisies a e de la sc`ne, ce qui donne un certain nombre dimages-cls ; puis ` appliquer une technique dine e a terpolation pour obtenir des images intermdiaires. Nous prsentons ici deux mthodes utilisant e e e

1.5 Radiosit pour les environnements dynamiques e la mthode de radiosit pour calculer des images-cls. e e e

37

Dans [CW93a], Chen et Williams prsentent une mthode pour gnrer rapidement des e e e e images intermdiaires a partir dimages-cls calcules pour des points de vue proches. Une e ` e e nouvelle image, pour un point de vue intermdiaire, est obtenue en faisant une interpolation e e e e (morphing) de deux images adjacentes. La mthode prsente utilise la position et lorientation de la camra, ainsi que la carte de profondeur associe ` chaque image (stockant pour chaque e e a pixel, la distance ` lobjet visible) pour dterminer automatiquement une correspondance pixel a e par pixel entre les images considres. La correspondance entre deux images-cls successives est ee e prcalcule et stocke. Au moyen des direntes correspondances, on peut ensuite interpoler les e e e e pixels pour crer des images intermdiaires. e e Nimero et al. [NDR95] vont encore plus loin dans ce sens, en interpolant aussi les solutions de radiosit et plus seulement les images. Dans [NDR95], ils prsentent une mthode permettant e e e de calculer et de stocker ecacement les eets de lclairage global pour des environnements e complexes anims (o` le point de vue et les objets se dplacent). Le syst`me prsent gn`re e u e e e e e e rapidement des squences dimages pour tout chemin dans lespace de vue, permettant ainsi ` e a lutilisateur de se promener librement dans lenvironnement. Il est bas sur lutilisation dimages e auxquelles on rajoute une carte de profondeur (range-images, stockant pour chaque pixel la distance ` lobjet visible, et la radiance). Lillumination globale est ainsi stocke sous forme de a e squences dimages (plus cartes de profondeur) dans le temps, calcules pour des points de vue e e cls qui couvrent lespace de vue. Nimero et al. exploitent la cohrence spatiale et temporelle e e en calculant lclairage direct et indirect sparment, ` la fois dans lespace et dans le temps. e e e a Lclairage indirect est calcul au moyen dun algorithme de radiosit hirarchique [HSA91], pour e e e e des points espacs dans lenvironnement, et pour dirents pas de temps. On eectue ensuite e e une interpolation entre les direntes solutions obtenues, pour calculer lclairage indirect pour e e des sries dimages dans le temps, pour chaque point de vue cl. Ces images constituent des e e images-cls. La squence dimages correspondant a un chemin donn dans lespace de vue est e e ` e ensuite gnre en interpolant les images-cls. Dans [NDR95], Nimero et al. prsentent aussi e ee e e des algorithmes permettant de dterminer les positions des points de vue cls, ainsi que les pas e e de temps requis pour reprsenter correctement les eets dus au mouvement des objets. e

tel-00004958, version 1 - 20 Feb 2004

1.5.3

Conclusion

Les direntes mthodes proposes permettent dacclrer grandement le calcul dune soe e e ee lution de radiosit dans le cas denvironnements dynamiques. Elles ne permettent cependant e toujours pas dobtenir un calcul en temps interactif, ` moins de privilgier le temps de calcul au a e dtriment de la qualit. Un probl`me important quil reste ` rsoudre est lidentication prcise e e e a e e et ecace des facteurs de forme qui doivent vraiment tre recalculs. En eet, les direntes e e e approches proposes jusqu` prsent ne donnent quun sur-ensemble des facteurs de forme ` e a e a recalculer. Or, le calcul des facteurs de forme constitue ltape la plus coteuse de la mthode e u e de radiosit. e

Nous introduisons maintenant le complexe de visibilit, qui est la structure de visibilit que e e nous avons utilise dans cette th`se. e e

38

Etat de lart

1.6
1.6.1

Le complexe de visibilit e
Introduction

tel-00004958, version 1 - 20 Feb 2004

Les probl`mes de visibilit dans le plan ont donn lieu ` de nombreux travaux en gomtrie e e e a e e algorithmique. Une structure bien connue est le graphe de visibilit. Pour une sc`ne dobjets e e convexes dans le plan, il est constitu des bitangentes communes aux objets qui intersectent e aucun objet de la sc`ne. Pour une sc`ne polygonale, il est constitu de lensemble des segments e e e reliant deux sommets de polygones mutuellement visibles. Le graphe de visibilit cependant e ne code pas assez dinformations pour permettre des requtes de visibilit globale telles que e e maintenir une vue autour dun point par exemple. Pour faire face a ce probl`me, une nouvelle ` e structure de donnes, le complexe de visibilit, a t introduite par Pocchiola et Vegter [PV93b], e e ee comme une extension du graphe de visibilit. Le complexe de visibilit permet de reprsenter e e e lensemble des relations de visibilit entre dirents objets dans le plan. Il a dabord t dni e e ee e pour des objets convexes (cest ` dire des objets de type cercle, ellipse, etc.) [PV93b, Riv93] puis a tendu aux sc`nes polygonales [Riv95]. e e Nous introduisons ici le complexe de visibilit. Pour plus de dtails, vous pouvez vous rfrer e e ee a ` [DP95, Dur95, Riv95, PV96, Riv97]. Nous prsentons les deux cas : cas des objets convexes e et cas des polygones, qui sont en fait assez similaires. Dans le cas des sc`nes polygonales, les e polygones considrs peuvent tre indiremment concaves ou convexes, et peuvent avoir des ee e e trous (cf. gure 1.21). Les sommets dun polygone sont orients de telle sorte que le polygone e soit localement ` gauche de deux sommets conscutifs (cf. [Riv97]). a e

Fig. 1.21 - Exemples de polygones.

1.6.2

Dnition e

Le complexe de visibilit est la partition de lensemble des segments libres maximaux dune e sc`ne 2D selon les objets quils touchent (donc en fonction de leur visibilit). e e Un segment libre maximal est un segment de longueur maximale qui ne coupe pas lintrieur e des objets de la sc`ne. Ses extrmits reposent donc sur le contour des objets ou bien sont ` e e e a linni (cf. gure 1.22). Un segment libre maximal peut en fait tre vu comme un rayon qui voit e dans les deux sens. Le complexe de visibilit est constitu de trois types dlments nomms : faces, artes, e e ee e e sommets. Les faces sont des composantes 2D : une face correspond ` une composante connexe de a segments libres maximaux qui touchent la mme paire dobjets, cest a dire qui voient les e ` e e deux mmes objets. Une face associe ` deux objets convexes Ol et Or , tiquete (Ol , Or ), e e a a correspond a lensemble des segments libres maximaux allant de lobjet Ol ` lobjet Or `

1.6 Le complexe de visibilit e

39

segments libres maximaux

Fig. 1.22 - Exemple de segments libres maximaux. sans couper aucun autre objet (cf. gure 1.23 (a)). Dans le cas des polygones, lobjet lmentaire considr est larte de polygone. Une face est donc associe ` deux artes de ee ee e e a e polygones et correspond ` lensemble des segments libres maximaux allant dune arte de a e a e e polygone Cl ` une arte de polygone Cr sans couper aucune autre arte de polygone (cf. gure 1.23 (b)). Les artes sont des composantes 1D : dans le cas des objets convexes, une arte correspond e e a ` une composante connexe de segments libres maximaux tangents ` un objet et touchant a deux autres objets (cf. gure 1.23 (a)) ; dans le cas des polygones, elle correspond ` la a composante connexe des segments libres maximaux passant par un sommet de polygone donn et touchant deux autres artes de polygones (cf. gure 1.23 (b)). e e Les sommets sont des composantes 0D : dans le cas des objets convexes, un sommet correspond a un segment libre maximal tangent a deux objets de la sc`ne (et touchant deux ` ` e autres objets ` ses extrmits) (cf. gure 1.23 (a)) ; dans le cas des polygones, il correspond a e e a ` un segment libre maximal passant par deux sommets de polygones donns (cf. gure 1.23 e (b)). Ce type de segment constitue une limite de visibilit. e

tel-00004958, version 1 - 20 Feb 2004

1.6.3

Reprsentation dans un espace dual e

An daider a visualiser les lments du complexe, nous considrons une transformation duale ` ee e qui a toute droite de la sc`ne associe un point dans un espace dual. Il est en eet plus facile de ` e manipuler des points que des droites. Nous traitons dans un premier temps le cas des objets convexes. Nous verrons par la suite le cas spcique des polygones. e Cas des objets convexes Nous considrons ici la transformation duale qui a toute droite D dquation polaire : y cos e ` e x sin u = 0 associe le point de coordonnes (, u) dans lespace dual. Langle correspond e dans la sc`ne, ` langle de la droite D par rapport a laxe des abscisses et u ` sa distance alge a ` a e brique a lorigine (cf. gure 1.24). Cette relation de dualit que nous nommerons dualit (, u) ` e e est une des dualits classiques. e Tout objet convexe O admet pour une direction donne deux tangentes de distances alge e briques a lorigine () et () avec () < (). Dans lespace dual (, u), ces tangentes sont `

40
(a) Objets convexes

Etat de lart

Ol

Or

face (Ol , Or ) (b) Polygones

artes e

sommets

Cl

Cr

tel-00004958, version 1 - 20 Feb 2004

face (Cl , Cr )

artes e

sommets

Fig. 1.23 - Elments du complexe de visibilit. e e transformes en deux points (, ()) et (, ()), et lorsque varie, ces points dcrivent deux e e courbes appeles respectivement courbes de tangence et (cf. gure 1.25). e Toute droite dans la sc`ne de direction et de distance algbrique a lorigine u telle que e e ` () < u < () intersecte lobjet O. De mme, dans lespace dual, un point de coordonnes e e (, u) compris entre les deux courbes de tangence et dun objet correspond ` une droite dans a la sc`ne qui intersecte cet objet (cf. gures 1.25 et 1.26). e Les courbes et associes ` un objet donn dnissent ainsi dans lespace dual une bande e a e e qui correspond aux droites qui intersectent cet objet (zone comprise entre les deux courbes i et i pour le cercle Oi , dans lexemple de la gure 1.26). De mme, lintersection des bandes e associes ` deux objets va dnir une zone dans lespace dual correspondant aux droites qui e a e
Sc`ne e y D u x u Espace dual

Fig. 1.24 - Une droite et son point dual dans la dualit (, u). e

1.6 Le complexe de visibilit e


y () u ()
-2 2 0 -2

41

u
4 2

() u ()
0.5

1.5

2.5

x
-4

Sc`ne e

Espace dual

Fig. 1.25 - Courbes de tangence et dun objet convexe.


D1 Oi D3 x Oj Sc`ne e Espace dual D1 y u D2 D2 D3 i i

tel-00004958, version 1 - 20 Feb 2004

Fig. 1.26 - Deux objets et leurs courbes de tangence associes. e intersectent ces deux objets (zone grise pour les deux objets Oi et Oj dans lexemple de la e gure 1.26). En traant les courbes et pour tout objet dune sc`ne, on obtient donc une partition c e de lespace dual en composantes connexes correspondant aux droites qui intersectent les mmes e objets. Cette partition est appele larrangement dual. Cependant, dans le cadre du complexe e de visibilit, on ne consid`re pas des droites mais des segments libres maximaux. Cela revient e e donc ` rajouter une pseudo-dimension de plus, sachant qu` une mme droite peut correspondre a a e plusieurs segments. La dimension supplmentaire ne sert qu` dissocier les points duaux repre a e sentant les segments partageant la mme droite support. La gure 1.27 qui montre un exemple e darrangement dual et de complexe de visibilit, met bien en vidence la dirence entre ces e e e deux structures. Les faces du complexe de visibilit correspondent ` des ensembles de segments libres maxie a maux dont les extrmits sont sur les deux mmes objets. Elles ne tiennent compte que des e e e objets qui se trouvent entre deux objets donns et on ne sintresse pas aux lments de visibie e ee a lit derri`re un objet. Une face associe ` deux objets Ol et Or correspond donc ` lensemble e e e a des droites qui intersectent ces deux objets sans intersecter aucun autre objet de la sc`ne se e e e a trouvant entre Ol et Or . Une arte du complexe associe ` un objet O correspond, dans le cas des objets convexes, ` un ensemble de segments tangents a cet objet et touchant deux autres a `

42

Etat de lart

(a)

(b)

tel-00004958, version 1 - 20 Feb 2004

(c) Fig. 1.27 - (a) Sc`ne ; (b) Arrangement dual de la sc`ne ; (c) Complexe de visibilit de la sc`ne. e e e e objets. Un sommet du complexe correspond ` un segment tangent ` deux objets Ol et Or de la a a sc`ne. e Do` les correspondances suivantes dans lespace dual : u Un sommet du complexe de visibilit correspond, dans lespace dual, ` lintersection de e a deux courbes de tangence associes ` deux objets donns, sachant quune courbe de tane a e gence associe ` un objet correspond aux droites tangentes a cet objet dans la sc`ne. e a ` e Une arte associe ` un objet O correspond, dans lespace dual, ` une partie dune courbe e e a a de tangence de lobjet O comprise entre deux sommets. e a Une face associe ` deux objets Ol et Or donns correspond ` la zone des points, dans e a e a lespace dual, comprise ` la fois dans la bande associe ` Ol et dans la bande associe ` a e a e Or , mais non incluse dans les bandes des objets se trouvant entre Ol et Or dans la sc`ne (cf. gure 1.28). Une face est donc une rgion connexe dlimite par des artes. e e e e La gure 1.29 illustre ces direntes correspondances. Elle permet aussi de voir plus en dtail e e la structure gnrale dune face du complexe de visibilit. Une face est constitue de deux cha e e e e nes dartes (une cha suprieure dartes et une cha infrieure dartes) qui sont relies par e ne e e ne e e e deux sommets caractristiques (le premier et le dernier sommet de la face). Elle est associe e e ne e e e e a ` deux objets Ol et Or . La cha suprieure est constitue ventuellement dartes de type (artes qui correspondent a des parties dune courbe de tangence ) associes ` Ol , puis dune e ` e a srie dartes de type (artes correspondant a des parties de courbes de tangence ) associes e e e ` e ne e a ` des objets qui interf`rent, puis dartes de type associes ` lobjet Or . La cha infrieure e e e a e e dartes est constitue ventuellement dartes de type associes ` Or , puis dune srie dartes e e e e e a de type associes ` des objets qui interf`rent, puis dartes de type associes ` lobjet Ol . e a e e e a

1.6 Le complexe de visibilit e


y u face associe e a ` Oi et Oj j D1 x Oj D2 i Sc`ne e Espace dual D1 D2 j i

43

Oi

Fig. 1.28 - Sc`ne compose de trois objets et face associe ` Oi et Oj . e e e a


sommet b 1 c d Or face e f 2 3 arte e l Sc`ne e Espace dual g 3 l
g f e b c

r bande associe a Ol e ` 1

tel-00004958, version 1 - 20 Feb 2004

a Ol

r
a

face (Ol , Or )
d

2 bande associe a Or e `

Fig. 1.29 - Correspondance entre la sc`ne et lespace dual. e Cas des polygones Dans le cas des polygones, il est possible dutiliser une autre dualit que nous nommerons e dualit (a, b). Cette dualit consiste ` considrer la relation qui a une droite dquation y = axb e e a e ` e (respectivement un point de coordonnes (a, b)) associe le point de coordonnes (a, b) (respece e tivement la droite dquation y = ax + b). e Dans le cas spcique des polygones, les objets lmentaires considrs sont les artes de e ee ee e e e e e polygones. Soient pl et pr les deux sommets extrmits dune arte de polygone C. En dualit (a, b), lensemble des droites qui passent par un point dans la sc`ne est reprsent par une droite e e e dans lespace dual. Lensemble des droites passant par chacun des sommets de larte C dans la e sc`ne correspond donc ` une droite dans lespace dual (a, b). e a On peut alors faire pour les artes de polygones, un raisonnement similaire a celui tenu e ` pour les objets convexes. Lensemble des droites qui intersectent une arte de polygone donne e e dans la sc`ne correspond dans lespace dual (a, b) ` la zone de points comprise entre les droites e a

44

Etat de lart

associes aux deux extrmits de cette arte de polygone. Lintersection, dans lespace dual, e e e e des deux zones comprises entre les droites associes aux extrmits de deux artes de polygones e e e e donnes dnit une rgion dans lespace dual correspondant aux droites qui intersectent ces deux e e e artes dans la sc`ne. En traant lensemble des droites associes aux extrmits de toutes les e e c e e e artes des polygones de la sc`ne, on obtient ce quon appelle larrangement dual. Larrangement e e dual correspond ici a une partition de lespace dual en composantes connexes correspondant ` aux droites intersectant les mmes artes de polygones. Les correspondances entre la sc`ne et e e e lespace dual pour les dirents lments du complexe, qui ont t tablies prcdemment dans e ee eee e e le cas des objets convexes, restent valables : Un sommet du complexe de visibilit dune sc`ne polygonale correspond, dans lespace dual, e e a ` lintersection de deux droites associes ` deux sommets extrmits dartes de polygones, e a e e e sachant quune droite dans lespace dual reprsente lensemble des droites passant par un e point donn de la sc`ne. e e Une arte associe ` un sommet extrmit p darte de polygone correspond, dans lespace e e a e e e dual, a un morceau de la droite associe ` p, compris entre deux sommets. ` e a

tel-00004958, version 1 - 20 Feb 2004

e Une face associe ` deux artes de polygones Cl et Cr donnes correspond dans lespace e a e dual a lintersection des zones comprises entre les droites associes aux extrmits de Cl ` e e e et Cr , moins les zones comprises entre les droites associes aux extrmits des artes de e e e e e polygones se trouvant entre Cl et Cr dans la sc`ne. La gure 1.30 illustre ces correspondances. Elle permet aussi de voir un exemple de face associe ` deux artes de polygones Cl et Cr . Sur cette gure, la droite dans lespace dual qui e a e reprsente lensemble des droites passant par un sommet de polygone p de la sc`ne est nomme p . e e e On constate que la structure dune face est similaire ` celle dans le cas des objets convexes. Une a face est constitue de deux cha e nes dartes. La cha suprieure dartes peut tre dcompose e ne e e e e e en trois sous-cha : les artes associes ` lextrmit suprieure de larte de polygone Cl , les nes e e a e e e e artes associes ` des sommets de polygones qui interf`rent par le haut entre Cl et Cr , les e e a e ne e e artes associes ` lextrmit suprieure de larte de polygone Cr . La cha infrieure dartes e e a e e e e peut aussi tre dcompose en trois sous-cha : les artes associes ` lextrmit infrieure de e e e nes e e a e e e e e a e Cr , les artes associes ` des sommets de polygones qui interf`rent par le bas entre Cl et Cr , nes des cha nes suprieure e les artes associes ` lextrmit infrieure de Cl . Certaines sous-cha e e a e e e et infrieure dartes peuvent manquer. e e La gure 1.31 montre une vue du complexe aux environs dun de ses sommets. Elle permet aussi de voir plus clairement les relations dincidence entre les lments du complexe. ee

Remarque : Bien videmment, il est aussi possible dutiliser la dualit (, u) dans le cas des e e polygones. Cependant, la dualit (a, b) sera prfre ` la dualit (, u) dans le cas spcique des e ee e a e e polygones, sachant quil est plus simple de manipuler des droites que des courbes sinuso dales dans lespace dual. En dualit (a, b), larrangement dual correspond en eet a un arrangement e ` de droites dans le plan, et les faces du complexe sont dlimites par des portions de droites, au e e lieu de courbes sinuso dales comme dans le cas de la dualit (, u). e Lannexe A donne de plus amples informations sur la dirence entre les dualits (a, b) et (, u). e e

1.6 Le complexe de visibilit e


sommet lu
1 2

45

ru lu Cr
3

1*
face (Cl , Cr )

2*

ru ld

Cl

face rd arte e

rd
3*

ld Sc`ne e

Espace dual

Fig. 1.30 - Correspondance entre la sc`ne et lespace dual. e

(Oq+

Oq-

Oq+ q* q Or p*
(Ol,Or)

,Or)
(Ol,Oq-) (Op-,Oq-)

OqOl Op+ p q Op-

Oq+ Or

tel-00004958, version 1 - 20 Feb 2004

Ol Op+

p Op-

p+) (Ol,O
(Op-,Or)

Fig. 1.31 - Complexe de visibilit aux environs dun sommet. e

1.6.4

Construction

Dans les dirents algorithmes qui ont t proposs, la construction du complexe est ralise e ee e e e par un balayage de ses sommets. Quand un sommet est balay, les relations dincidence entre e les artes et les faces doivent tre mises a jour. e e ` Le premier algorithme de construction qui a t implment a t propos par Pocchiola et ee e e ee e Vegter [PV93a]. Cet algorithme sensible ` la sortie permet de construire le complexe de visibilit a e pour des objets convexes, par un balayage selon une droite verticale, en temps O(m log n), o` u n est le nombre dobjets et m le nombre de sommets du complexe. On trouvera les dtails de e limplmentation de cet algorithme dans [Riv93]. Lalgorithme maintient un graphe auxiliaire qui e est une coupe du complexe de visibilit ` constant. Pour une direction donne, on consid`re ea e e lensemble des segments libres maximaux dangle . Les segments tangents aux objets dcoupent e lespace libre de la sc`ne en faces (cf. gure 1.32). Par dualit (transformation points droites), e e les segments tangents ` un objet deviennent des sommets et les segments appartenant a une face a ` dcrivent une arte. La structure ainsi dnie correspond au graphe auxiliaire pour une direction e e e donne. e Le complexe est balay pour allant de 0 ` en maintenant le graphe auxiliaire. Il y a e a changement de topologie uniquement au passage des sommets du complexe. Pour chaque sommet, il faut mettre a jour les relations dincidence a la fois pour le graphe auxiliaire et pour le ` ` complexe, et tester lexistence de nouveaux sommets. La mise ` jour des incidences se fait en a temps constant pour chaque sommet, mais le maintien dune queue de priorit des sommets ` e a

46

Etat de lart

Fig. 1.32 - Graphe auxiliaire. balayer impose un cot log n. Linitialisation du graphe auxiliaire pour = 0 se fait en temps u O(n log n) grce ` un balayage vertical. On calcule dabord tous les points de tangence ` = 0, a a a puis on les trie selon leur ordonne, et on les introduit dans cet ordre. Chaque point de tangence e correspond ` un sommet du graphe auxiliaire (= une arte du complexe). Pour chaque tangente, a e on eectue une recherche sur les artes de la ligne de balayage pour trouver les artes ` relier. e e a Un premier algorithme de construction du complexe pour les objets convexes, optimal en temps O(m + n log n), mais pas en espace O(m), a t propos dans [PV93b]. Cet algorithme ee e prsente galement le dfaut de faire appel a des structures de donnes tr`s complexes qui e e e ` e e rendent son implmentation impossible. e Un algorithme implmentable optimal a ensuite t propos dans [PV95], utilisant un bae ee e layage topologique. Cet algorithme sensible a la sortie permet de construire le complexe pour ` des objets convexes en temps optimal O(m + n log n) et en espace optimal O(n). Il sappuie sur des pseudo-triangulations de la sc`ne. Une pseudo-triangulation est un ensemble de bitangentes e libres ne se croisant pas, maximal pour linclusion (cf. gure 1.33(a)). Il est bien vident quil e existe toujours une pseudo-triangulation (on peut la construire incrmentalement) et que les bie tangentes de lenveloppe convexe de la sc`ne en font partie. Les composantes connexes bornes e e et libres dune telle partition sont des pseudo-triangles (cf. gure 1.33(a)). Pocchiola et Vegter montrent dans [PV95] que deux pseudo-triangles disjoints poss`dent exactement une tangente e commune. Un pseudo-quadrangle constitu de deux pseudo-triangles qui partagent une bitane gente poss`de donc seulement deux bitangentes intrieures (appeles diagonales), une des deux e e e tant la bitangente partage par les deux pseudo-triangles qui le constitue (cf. gure 1.33(b)). En e e passant dune bitangente diagonale a lautre dun pseudo-quadrangle, on ralise ce quon appelle ` e a un ip, et on passe dune pseudo-triangulation ` une autre. Les bitangentes correspondent aux sommets du complexe de visibilit. Il est montr dans [PV95] quen oprant une srie de ips e e e e sur une pseudo-triangulation initiale, on parcourt tous les sommets du complexe de visibilit. La e pseudo-triangulation initiale est calcule, de faon gloutonne, par rapport a la direction horizone c ` tale u0 : chaque nouvelle bitangente de cette pseudo-triangulation est la bitangente de plus petite eaee e pente par rapport a la direction u0 , qui ne coupe pas les bitangentes qui ont dj` t calcules. ` Une premi`re solution consiste ` eectuer les ips dans lordre des pentes croissantes. On a e a alors un cot en O(m log n) a cause du maintien dune queue de priorit. Lutilisation dun ordre u ` e partiel permet de sen aranchir et dobtenir alors un cot en O(m + n log n). u

tel-00004958, version 1 - 20 Feb 2004

1.6 Le complexe de visibilit e


(a) Une pseudo-triangulation : (b) Un pseudo-quadrangle :

47

pseudo-triangle bitangentes diagonales

Fig. 1.33 - Pseudo-triangulation et pseudo-quadrangle.

tel-00004958, version 1 - 20 Feb 2004

Rivi`re (cf. [Riv95] et [Riv97]) a ensuite propos et implment un algorithme pour la e e e e construction du complexe de visibilit pour les sc`nes polygonales. Cet algorithme sensible ` e e a la sortie permet aussi de construire le complexe en temps optimal O(m + n log n) et en espace optimal O(n), mais avec n reprsentant le nombre total dartes de polygones dans la sc`ne et e e e m le nombre de sommets du complexe. Il sinspire de [EG86] et [OW88], et utilise dans la sc`ne e deux arbres dhorizon, lun infrieur et lautre suprieur. Un arbre dhorizon est un graphe qui e e poss`de une arte par point de la sc`ne. Etant donne une direction , pour larbre dhorizon e e e e suprieur (respectivement infrieur), on associe a chaque sommet p de la sc`ne le premier some e ` e e met q rencontr vers lavant (respectivement vers larri`re) lorsquon part de la direction e et quon tourne dans le sens trigonomtrique (cf. gure 1.34). Une arte u (qui correspond en e e fait ` un sommet du complexe) nest passable que si elle appartient aux deux arbres dhorizon a et si elle a une pente infrieure ` celle de son p`re dans les deux arbres. Il faut bien sr, lors e a e u du passage dune arte, mettre a jour les arbres dhorizon ainsi que les relations dincidence au e ` niveau du complexe de visibilit. An de trouver larte qui remplace larte u dans les deux e e e arbres dhorizon, il faut eectuer un balayage de cha nes dartes. Rivi`re montre dans [Riv97] e e que lensemble des balayages dartes a une complexit amortie O(m). e e
p q q p

Arbre dhorizon suprieur e

Arbre dhorizon infrieur e

Fig. 1.34 - Arbres dhorizon suprieur et infrieur. e e

48

Etat de lart

1.7

Discussion

tel-00004958, version 1 - 20 Feb 2004

La mthode de radiosit, qui modlise les changes dnergie entre les dirents objets dune e e e e e e sc`ne, est bien adapte pour rendre les eets globaux de lclairage et est tr`s utilise pour la e e e e e visualisation de sc`nes dintrieur statiques. Elle peut maintenant tre utilise sur des sc`nes tr`s e e e e e e complexes avec lintroduction de mthodes hirarchiques, et de mthodes utilisant le paralllisme. e e e e Son cot reste cependant conditionn par le calcul des facteurs de forme, qui constitue ltape la u e e plus coteuse, compte tenu des calculs de visibilit quil implique. Direntes mthodes ont t u e e e ee proposes pour acclrer les calculs de visibilit dans le cadre de la radiosit, mais elles ne sont pas e ee e e exactes, au mieux prudentes, ou alors limites ` la source principale. Une reprsentation exacte e a e de la visibilit permettrait cependant doptimiser les calculs de facteurs de forme et damliorer e e la qualit. Lutilisation dun maillage en fonction des discontinuits semble primordiale pour e e obtenir une solution de radiosit de bonne qualit. Son calcul est cependant tr`s coteux car il e e e u ncessite de nombreux calculs gomtriques. e e e La mthode de radiosit prsente dj` lavantage dtre indpendante du point de vue. Elle a e e e ea e e t adapte aux environnements dynamiques. Cependant, les direntes mthodes proposes, si ee e e e e elles permettent dacclrer grandement les calculs, eectuent toujours trop de recalculs. Le proee bl`me reste ici darriver ` identier prcisment et ecacement quels facteurs de forme doivent e a e e vraiment tre recalculs, en fonction de la visibilit qui a t modie. e e e ee e Nous nous proposons dans cette th`se de rpondre a un certain nombre de probl`mes poss e e ` e e par la mthode de radiosit en utilisant, pour le calcul de radiosit, une structure de visibilit e e e e bien adapte. Plutt que de nous attaquer de front au probl`me 3D, nous nous sommes dabord e o e intresss au cas 2D qui permet une meilleure comprhension et une analyse plus approfondie, e e e ne serait-ce que grce ` lexistence de solutions analytiques. Nous nous sommes penchs sur le a a e complexe de visibilit, introduit rcemment en gomtrie algorithmique. Nous verrons que cette e e e e structure qui code les relations de visibilit entre les objets dans le plan, permet deectuer le e calcul des facteurs de forme de mani`re ecace, et de calculer le maillage de discontinuit de e e faon simple. Le complexe permet aussi dviter les calculs inutiles dans le cas statique, comme c e dans le cas dynamique o` il permet notamment didentier et de mettre a jour de faon ecace u ` c uniquement les facteurs de forme strictement ncessaires lorsquun objet se dplace dans une e e sc`ne. e

49

Chapitre 2

Expressions du facteur de forme en 2D


Nous introduisons dans ce chapitre deux expressions du facteur de forme que nous rutilisee rons par la suite : une premi`re expression sous forme dun rapport de mesures de droites, et une e deuxi`me sous forme dune somme pondre de longueurs de courbes. La premi`re expression e ee e est valable en 2D comme en 3D, alors que la deuxi`me nest valable quen 2D. e

tel-00004958, version 1 - 20 Feb 2004

2.1

Facteur de forme comme un rapport de mesures de droites

Revenons ` la dnition initiale du facteur de forme (cf. quation 1.3) dans le paragraphe 1.2.1 : a e e le facteur de forme entre deux surfaces en 3D correspond ` la fraction dnergie quittant une a e surface qui arrive sur une autre surface. Dans les milieux non participants, lnergie est transmise le long de trajectoires linaires, cest e e a ` dire suivant des droites (cf. [Pel95]). Ainsi on peut mesurer lnergie totale Ii quittant une e e e e surface Ai en sommant lnergie transporte par chaque droite intersectant Ai . Lnergie Ii est donc dnie par lintgrale : e e Ii = I(L)dL ,
LAi =

(2.1)

o` I(L) est la densit dnergie sur la droite L. u e e Dans le cas dun mod`le lambertien, I(L) est une constante I. Il reste donc a calculer : e ` dL .
LAi =

(2.2)

On cherche en fait ` mesurer lensemble des droites qui intersectent la surface Ai . Cette mea sure de droites doit tre invariante par les dplacements rigides dans lespace (translations et e e rotations). Or cest justement la caractristique des mesures de droites dnies dans le contexte e e de la gomtrie intgrale qui sont tudies dans [San76] (cf. paragraphe B.2 de lannexe B). e e e e e Lintgrale 2.2 est donc la mesure (invariante) de lensemble des droites intersectant la surface e e e e e e Ai , telle quelle est dnie dans le contexte de la gomtrie intgrale. Cette mesure sera note m(L : L Ai = ). De la mme mani`re, la quantit dnergie Iij quittant une surface Ai et atteignant une e e e e e e surface Aj est dnie par lintgrale sur les droites intersectant Ai et Aj sans intersecter les

50

Expressions du facteur de forme en 2D

surfaces qui interf`rent (cest ` dire les surfaces se trouvant entre les surfaces Ai et Aj ) : e a Iij = et et
L

LAi =

LAj =

chaque surface interfrant e

I(L)dL .
=

(2.3)

La valeur I(L) est toujours constante et gale ` I. La valeur Iij est donc fonction de la mesure e a e des droites intersectant les surfaces Ai et Aj sans intersecter de surfaces qui interf`rent. Cette mesure est note : e e m(L : L Ai = et L Aj = et L chaque surface interfrant = ) , et elle correspond donc ` : a et et
L

LAi =

LAj =

chaque surface interfrant e

dL .
=

Le facteur de forme Fij entre les deux surfaces Ai et Aj est donc donn par le rapport des e deux intensits 2.1 et 2.3 (cf. [Pel95]) : e

tel-00004958, version 1 - 20 Feb 2004

Fij =

Iij = Ii

LAi =

et

LAj =

et

chaque surface interfrant e dL LAi =

= dL

(2.4)

On en dduit donc la proposition suivante : e Proposition 1 Soient deux surfaces Ai et Aj dans une sc`ne 3D. Le facteur de forme Fij entre e ces deux surfaces peut tre exprim par : e e Fij =
Mesure de lensemble des droites intersectant Ai et Aj sans intersecter dobstacles Mesure de lensemble total des droites intersectant Ai

La mesure de droites considre est celle dnie dans [San76], dans le contexte de la gomtrie ee e e e intgrale. Elle est aussi dcrite dans lannexe B. e e Sbert [Sbe93] a utilis cette formulation pour calculer les facteurs de forme entre deux surfaces e dans le cas 3D. Il a approxim les mesures densembles de droites intersectant des surfaces en e lanant un certain nombre de rayons de faon alatoire dans une sc`ne 3D et en comptabilisant c c e e les rayons intersectant les direntes surfaces. Ceci lui a permis dobtenir une approximation du e facteur de forme entre deux surfaces en 3D. Pellegrini [Pel95] a aussi utilis une caractrisation des facteurs de forme base sur les e e e concepts de la gomtrie intgrale pour calculer une approximation de Monte-Carlo des face e e teurs de forme. Il est parti de la formulation 2.4, puis il a rexprim la mesure des droites e e e intersectant deux surfaces Ai et Aj donnes en mesurant les droites qui intersectent ces deux surfaces dans une direction donne, et en considrant ensuite lensemble des directions. La mee e e sure des droites intersectant deux surfaces Ai et Aj dans une direction u donne, sans intersecter dobstacles, est obtenue en projetant orthogonalement les surfaces Ai et Aj ainsi que les surfaces qui interf`rent sur un plan P (u) orthogonal a u, puis en calculant ensuite dans le plan P (u) laire e ` e de lintersection des projections de Ai et Aj prive de lunion des projections des surfaces qui interf`rent. Lensemble des directions u considres est obtenu en choisissant uniformment de e ee e mani`re alatoire un ensemble de points p sur la sph`re unit centre en O. Une direction u e e e e e

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e donne est alors caractrise par Op. e e e

51

Cette expression du facteur de forme sous forme dun rapport de mesures de droites reste bien videmment valable en 2D, si ce nest que lon ne consid`re plus des surfaces mais des e e portions de courbes dans le plan. Le facteur de forme Fij entre deux portions de courbes Ci et e e Cj dans le plan peut donc tre exprim par : Fij =
Mesure de lensemble des droites intersectant Ci et Cj sans intersecter dobstacles Mesure de lensemble total des droites intersectant Ci

(2.5)

Dans le cas 2D, il est possible, en plus, de calculer les facteurs de forme de mani`re exacte, e en utilisant la gomtrie intgrale qui fournit des mesures exactes des ensembles de droites dans e e e le plan (cf. [San76]).

2.2
tel-00004958, version 1 - 20 Feb 2004 2.2.1

Facteur de forme comme une somme pondre de longueurs e e de courbes


Dnition de la  string rule e 

Bien avant lapparition de la notion de radiosit en synth`se dimages, de nombreux chere e cheurs travaillant sur le transfert de chaleur en thermodynamique se sont penchs sur le calcul e du facteur dangle qui caractrise la fraction de chaleur transmise dune surface ` une autre. e a Hottel en 1954 [Hot54] a donn une r`gle pour calculer le facteur dangle, dans le cas bidimene e e e sionnel, quil a nomm string rule. Cette r`gle permet de dnir le facteur dangle comme une e somme pondre de longueurs de courbes. La string rule sapplique aussi pour le calcul des ee facteurs de forme puisquils sont lquivalent pour la radiosit, des facteurs dangle dnis en e e e thermodynamique. Commenons par introduire quelques notions : c Soient deux portions de courbes Ci et Cj qui se font face (cf. gure 2.1). Les obstacles ventuels qui se trouvent entre ces deux portions de courbes sont spars en trois groupes : les e e e e obstacles qui obstruent la visibilit par le haut, les obstacles qui obstruent la visibilit par le e e a e bas et les obstacles qui obstruent la visibilit par le milieu (cest-`-dire que la visibilit est possible au-dessus et en-dessous). Considrons pour le moment uniquement le cas dobstacles e qui obstruent la visibilit par le haut et par le bas, nous reviendrons par la suite au cas e gnral en utilisant les rsultats obtenus. e e e On appelle courbes non croises entre Ci et Cj , les courbes de lespace libre de longueur e minimale reliant les extrmits face ` face de Ci et Cj (haut avec haut, bas avec bas) telles e e a que tout objet entre Ci et Cj soit soit au dessus de ces deux courbes, soit au dessous de ces deux courbes (cf. gure 2.1(a)). Ces deux courbes dlimitent ainsi une zone entre les e u deux portions de courbes Ci et Cj o` il ny a pas dobjets (cf. gure 2.1(a)). On appelle courbes croises entre Ci et Cj , les courbes de lespace libre de longueur minie male reliant les extrmits opposes de Ci et Cj telles que tout objet entre Ci et Cj soit e e e soit au dessus de ces deux courbes, soit au dessous de ces deux courbes (cf. gure 2.1(b)).

52

Expressions du facteur de forme en 2D Ces deux courbes dlimitent donc aussi une zone entre les deux portions de courbes Ci et e Cj o` il ny a pas dobjets (cf. gure 2.1)(b)). u

courbes non croises e

obstacles qui obstruent la visibilit par le haut e

zones o` il ny u a pas dobjets Ci Cj Ci Cj

courbes croises e

tel-00004958, version 1 - 20 Feb 2004

obstacles qui obstruent la visibilit par le bas e (a) Courbes non croises e (b) Courbes croises e

Fig. 2.1 - Exemples de courbes croises et non croises. e e

 String 

rule

Considrons deux portions de courbes Ci et Cj de longueurs respectives Li et Lj dans lespace e ` 2D, et soit Fij le facteur de forme entre ces deux portions de courbes. Li Fij correspond a la somme des longueurs des courbes croises tendues entre les extrmits opposes des deux portions e e e e e de courbes Ci et Cj , moins la somme des longueurs des courbes non croises tendues entre les extrmits face ` face de ces deux portions de courbes, et le tout divis par 2 [Hot54, Bre92]. e e a e Li Fij = Lj Fji longueurs des courbes croises e =

longueurs des courbes non croises e 2

On en dduit lexpression du facteur de forme Fij entre les deux portions de courbes Ci et Cj : e Fij = longueurs des courbes croises longueurs des courbes non croises e e 2Li

(2.6)

Sil y a des extrmits des deux portions de courbes qui ne sont pas mutuellement visibles, e e les courbes croises et non croises vont contourner les obstacles tout en suivant au mieux leur e e contour, ` la mani`re dun lastique. a e e

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

53

2.2.2

Application

On note de (M, N ) la distance euclidienne entre deux points M et N , et dc (M, N ) la distance curviligne entre les points M et N le long dune courbe C. Considrons lexemple 2D de la gure 2.2 constitu de deux portions de courbes Ci et Cj de e e longueurs respectives Li et Lj . Soit Fij le facteur de forme entre ces deux portions de courbes. Dapr`s lquation 2.6, on obtient : e e Fij = { de (a, d) + [ de (b, e) + dc (e, c) ] } { de (b, d) + [ de (a, f ) + de (f, c) ] } 2Li

Les points b et c ne sont pas mutuellement visibles compte tenu de la courbure de la courbe e Cj . La courbe croise Cbc tendue entre les points b et c va donc suivre en partie le contour de la courbe Cj (entre les points e et c). De mme, les points a et c sont cachs par le triangle blanc. La courbe non croise Cac tendue e e e entre les points a et c passe donc par lextrmit f du triangle blanc qui obstrue la visibilit e e e entre les points a et c.

tel-00004958, version 1 - 20 Feb 2004

Courbes croises e
Ci f a Cj

Courbes non croises e


e c

Fig. 2.2 - Exemple de deux portions de courbes Ci et Cj .

2.2.3

Dmonstrations e

Nous nous intressons ` lutilisation de la string rule dans le cadre de la radiosit. Nous e a e allons donc dmontrer lquation 2.6 qui exprime le facteur de forme comme une somme pondre e e ee de longueurs de courbes. Nous donnons deux dmonstrations pour cette quation : une premi`re e e e utilisant le principe de conservation de lnergie, et une deuxi`me base sur la formulation du e e e facteur de forme au moyen de la gomtrie intgrale (donc utilisant le facteur de forme exprim e e e e comme un rapport de mesures de droites). Premi`re dmonstration : Avec le principe de conservation de lnergie e e e Soient deux portions de courbes C1 et C2 de longueurs respectives L1 et L2 , et soit F12 le e e facteur de forme entre ces deux portions de courbes. La courbe C1 a pour extrmits les points e e e a et b, et la courbe C2 a pour extrmits les points c et d (cf. gure 2.3(a)). Les dirents e c obstacles se trouvant entre C1 et C2 sont rpartis en deux groupes (nous nous plaons toujours pour linstant dans le cas simple o` il ny a pas dobstacle obstruant la visibilit par le milieu) : u e

54

Expressions du facteur de forme en 2D

ceux qui obstruent la visibilit entre les extrmits a et c (obstacles obstruant la visibilit par e e e e le bas), et ceux qui obstruent la visibilit entre les extrmits b et d (obstacles obstruant la e e e visibilit par le haut). e

...

...

...
C4

...

C1

C2

C1 C3

C2

...

...
c

...

...
c

(a) Environnement initial

(b) Ajout de courbes tendues non croises e

tel-00004958, version 1 - 20 Feb 2004

...
C4

...

...
C6 C3

...

C1 C5 a

C2

C1

C2

...

...
c

...

...
c

(c) Ajout dune courbe tendue croise e

(d) Ajout dune autre courbe tendue croise e

Fig. 2.3 - Exemple de deux portions de courbes C1 et C2 . Dapr`s la proprit 2 du facteur de forme (cf. paragraphe 1.2.2) : dans un environnement 3D e ee clos, la somme de tous les facteurs de forme pour une surface donne est gale ` lunit. En 2D, e e a e les portions de courbes sont lquivalent des surfaces. On en dduit donc dapr`s la proprit 2 e e e ee du facteur de forme que dans le cas dun environnement 2D clos, la somme de tous les facteurs de forme pour une portion de courbe donne est gale ` lunit. e e a e An de pouvoir appliquer cette proprit dans le cas de notre exemple, on rajoute des poree tions de courbes virtuelles pour clore lenvironnement. Rajoutons une premi`re courbe lastique de lespace libre tendue entre les extrmits a et e e e e e c, et passant au dessus des obstacles du bas. Cette courbe est appele C3 . Rajoutons ensuite une deuxi`me courbe lastique de lespace libre tendue entre les extrmits b et d, et passant au e e e e e dessous des obstacles du haut. Cette courbe est appele C4 . Les courbes C3 et C4 ont pour e longueurs respectives L3 et L4 . Ces deux courbes correspondent en fait aux courbes non croises

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

55

telles quelles ont t dnies dans le paragraphe 2.2.1. ee e On consid`re maintenant un nouvel environnement constitu de lenvironnement initial aue e quel on a ajout les courbes C3 et C4 (cf. gure 2.3(b)). Soit lenvironnement clos constitu des e e portions de courbes C1 , C2 , C3 et C4 . On note Fij le facteur de forme entre une portion de courbe e ee Ci et une portion de courbe Cj . Dapr`s la proprit 2 du facteur de forme (cf. paragraphe 1.2.2) applique au cas 2D, on a la relation suivante : e F11 + F12 + F13 + F14 = 1 = L1 F11 + L1 F12 + L1 F13 + L1 F14 = L1 Le facteur de forme F12 correspond au facteur de forme entre les portions de courbes C1 et C2 dans le nouvel environnement (environnement de la gure 2.3(b)). Ce facteur de forme est identique au facteur de forme entre les portions de courbes C1 et C2 dans lenvironnement initial. En eet, les deux courbes ajoutes C3 et C4 ne modient en rien les changes dnergie entre e e e e les courbes C1 et C2 , compte tenu du fait quelles ninuent pas sur la mani`re dont C1 et C2 se voient.

tel-00004958, version 1 - 20 Feb 2004

Ajoutons encore deux nouvelles courbes : une courbe lastique de lespace libre tendue entre e les extrmits a et d, et passant au dessus des obstacles du bas et au dessous des obstacles e e  du haut , et une courbe lastique de lespace libre tendue entre les extrmits b et c, et passant   e e e e au dessous des obstacles du haut et au dessus des obstacles du bas. La premi`re courbe est e appele C5 et la deuxi`me C6 . Les courbes C5 et C6 ont pour longueurs respectives L5 et L6 . e Ces deux courbes correspondent en fait aux courbes croises telles quelles ont t dnies dans e ee e le paragraphe 2.2.1. Considrons lenceinte ferme constitue des portions de courbes C1 , C4 et C5 (cf. gure 2.3(c)). e e e Dapr`s la proprit 2 du facteur de forme (cf. paragraphe 1.2.2) applique au cas 2D, on a les e ee e relations suivantes :
L1 F11 + L1 F14 + L1 F15 = L1
4 44 4 45 4 4 41 L F +L F +L F =L 5 51 5 54 5 55 5

L F

+L F

+L F

=L

(2.7)

Dapr`s la proprit 3 du facteur de forme (cf. paragraphe 1.2.2) applique au cas 2D, le facteur e ee e e e de forme F44 est nul puisque aucun rayon lumineux rchi par la courbe C4 ne va frapper u directement cette mme courbe. Il en est de mme pour le facteur de forme F55 . Do` : e e
L1 F11 + L1 F14 + L1 F15 = L1
4 45 4 4 41 L F +L F =L 5 51 5 54 5

L F

+L F

=L

Dapr`s la proprit de rciprocit du facteur de forme (cf. paragraphe 1.2.2) : e ee e e L4 F41 = L1 F14 L5 F51 = L1 F15 L5 F54 = L4 F45 En remplaant dans le syst`me dquations 2.7, on obtient le nouveau syst`me suivant : c e e e
L1 F11 + L1 F14 + L1 F15 = L1

L F + L4 F45 = L4 1 14 L F +L F = L 1 15 4 45 5

(a) (b) (c)

56

Expressions du facteur de forme en 2D (b) = L4 F45 = L4 L1 F14 (c) = L1 F15 = L5 L4 F45

Do`, dapr`s (b) et (c) : L1 F15 = L5 L4 + L1 F14 . u e En remplaant dans (a), on obtient : c L1 F11 + L1 F14 + L5 L4 + L1 F14 = L1 L1 L1 F11 + L4 L5 2

= L1 F14 =

(2.8)

De faon similaire, si on consid`re lenceinte ferme constitue des portions de courbes C1 , c e e e C3 et C6 (cf. gure 2.3(d)), on obtient : L1 F13 = L1 L1 F11 + L3 L6 2 (2.9)

Or on a vu prcdemment que : L1 F11 + L1 F12 + L1 F13 + L1 F14 = L1 e e

tel-00004958, version 1 - 20 Feb 2004

= L1 F12 = L1 L1 F11 L1 F13 L1 F14 En utilisant les galits 2.8 et 2.9, on obtient : e e L1 F12 = (L5 + L6 ) (L3 + L4 ) 2 (L5 + L6 ) (L3 + L4 ) 2L1

= F12 =

On constate que la string rule est bien vrie. Le facteur de forme entre les portions de e e e courbes C1 et C2 sexprime bien comme la somme des longueurs des courbes croises tendues e entre les extrmits de C1 et C2 , moins la somme des longueurs des courbes non croises tendues e e e entre les extrmits de C1 et C2 , et le tout divis par 2L1 . e e On note que cette expression du facteur de forme est valable dans le cas o` il y a des obsu tacles et quelle prend directement en compte la notion de visibilit, compte tenu de la mani`re e e dont sont dnies les courbes croises et les courbes non croises (nous restons dans lhypoth`se e e e e simplicatrice introduite en 2.2.1, cest a dire le cas o` il y a uniquement des obstacles qui ` u obstruent la visibilit par le haut et par le bas). e Il est possible de raliser une dmonstration similaire de la string rule dans le cadre des e e changes de chaleur, en utilisant le principe de conservation de la chaleur (cf. [Hot54] o` on peut e u trouver des lments de dmonstration). ee e Deuxi`me dmonstration : Par la gomtrie intgrale e e e e e Soient deux portions de courbes C1 et C2 de longueurs respectives L1 et L2 , et soit F12 le facteur de forme entre ces deux portions de courbes. La courbe C1 a pour extrmits les e e e e e points a et b, et la courbe C2 a pour extrmits les points c et d (cf. gure 2.4). Dapr`s le

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

57

paragraphe 2.1, le facteur de forme F12 entre la portion de courbe C1 et la portion de courbe C2 peut tre exprim par le rapport de mesures de droites suivant (cf. quation 2.5) : e e e F12 =
Mesure de lensemble des droites intersectant C1 et C2 sans intersecter dobstacles Mesure de lensemble total des droites intersectant C1

(2.10)

Nous allons montrer que ce rapport de mesures de droites est gal ` lexpression du facteur de e a e forme issue de la string rule (cf. quation 2.6).
b d

C1 Ci a Ce

Courbe Ce C2 e c Courbe Ci

tel-00004958, version 1 - 20 Feb 2004

Fig. 2.4 - Exemple de deux portions de courbes C1 et C2 . Soient deux courbes Ce et Ci dnies comme suit. La courbe Ce est le contour de lenvee a e e e loppe convexe de C1 C2 . Cette courbe correspond ` la courbe lastique ferme trace autour des portions de courbes C1 et C2 . Elle passe donc par les points a, b, d, c pour revenir nalee e e ment en a (cf. gure 2.4). La courbe Ci est dnie comme la courbe lastique croise construite autour des portions de courbes C1 et C2 . Elle passe donc par les points a, b, e, c, d pour revenir nalement en a (cf. gure 2.4). Les courbes Ce et Ci ont pour longueurs respectives Le et Li . Les dirents principes de la gomtrie intgrale relatifs ` la mesure densembles de droites e e e e a dans le plan permettent dtablir les rsultats suivants dans le cas 2D (cf. annexe B) : e e e La mesure de lensemble des droites intersectant les portions de courbes C1 et C2 est gale a ` : Li Le (cf. paragraphe B.4). La mesure de lensemble total des droites intersectant C1 est gale ` : 2L1 (cf. parae a graphe B.3). En remplaant dans lquation 2.10, on obtient : c e F12 = Li L e 2L1

On note de (M, N ) la distance euclidienne entre deux points M et N , et dc (M, N ) la distance curviligne entre les points M et N . a Dans le cas de lexemple de la gure 2.4, les longueurs Le et Li correspondent ` : Le = de (a, b) + de (b, d) + de (d, c) + de (c, a) Li = de (a, b) + [ de (b, e) + dc (e, c) ] + de (c, d) + de (a, d)

58

Expressions du facteur de forme en 2D = Li Le = de (a, d) + [ de (b, e) + dc (e, c) ] de (c, a) de (b, d)

Les distances entre les points a et b dune part, et c et d dautre part ont disparu au cours du ` calcul. On constate que la valeur Li Le correspond en fait a la somme des longueurs des courbes croises entre les extrmits des portions de courbes C1 et C2 , moins la somme des longueurs e e e des courbes non croises, telles quelles ont t dnies dans le paragraphe 2.2.1. e ee e Do` : u F12 = longueurs des courbes croises longueurs des courbes non croises e e . 2L1

On retrouve lexpression du facteur de forme entre deux portions de courbes qui est issue de e la string rule (cf. quation 2.6 dans le paragraphe 2.2.1).

Cette dmonstration permet de mettre en vidence la correspondance entre les deux formue e lations du facteur de forme : facteur de forme exprim comme un rapport de mesures de droites e (cf. quation 2.5) et facteur de forme exprim comme une somme pondre de longueurs de e e ee courbes (cf. quation 2.6). e

tel-00004958, version 1 - 20 Feb 2004

Correspondance entre les deux formulations du facteur de forme : Soit mso (Ci , Cj ) la mesure de lensemble des droites intersectant deux portions de courbes Ci et Cj sans intersecter dobstacles se trouvant entre les deux, et soit m(Ci ) la mesure de lensemble total des droites intersectant Ci . On a les correspondances suivantes : e a e La mesure de droites mso (Ci , Cj ) est gale ` la somme des longueurs des courbes croises tendues entre les extrmits de Ci et Cj , moins la somme des longueurs des courbes non e e ee e croises tendues entre les extrmits de Ci et Cj , telles quelles ont t dnies dans le e e e paragraphe 2.2.1 : mso (Ci , Cj ) =
longueurs des courbes croises e longueurs des courbes non croises e

. (2.11)

La mesure de droites m(Ci ) est fonction de la longueur Li de la portion de courbe Ci : m(Ci ) = 2Li . (2.12)

On peut aussi dduire, ` partir de cette dmonstration, une expression gnrale pour le e a e e e facteur de forme entre deux objets convexes dans le plan : Gnralisation pour deux objets convexes : Soient deux objets convexes Oi et Oj dans e e le plan. Le facteur de forme Fij entre ces deux objets sexprime par :
Mesure de lensemble des droites intersectant Oi et Oj sans intersecter dobstacles Mesure de lensemble total des droites intersectant Oi

Fij

= =

Longueur de la courbe Ci Longueur de la courbe Ce , Longueur du contour de Oi

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

59

sachant que dapr`s la gomtrie intgrale (cf. paragraphe B.3), la mesure de lensemble total des droites e e e e intersectant un objet convexe Oi est gale a la longueur de son contour. Ce correspond a la courbe lastique e ` ` e ferme construite autour de Oi et Oj telle que tout objet entre Oi et Oj soit ` lextrieur de cette courbe, e a e et Ci ` la courbe lastique croise construite autour de Oi et Oj telle que tout objet entre Oi et Oj soit a e e a ` lextrieur de la rgion dlimite par cette courbe. e e e e

longueurs des courbes croises longueurs des courbes non croises e e , Longueur du contour de Oi

avec les courbes croises et les courbes non croises correspondant aux deux courbes Ci et Ce moins les e e parties communes a ces deux courbes. `

La gure 2.5 montre dune part les courbes Ci et Ce , et dautre part les courbes croises et e e non croises, dans le cas de deux objets convexes Oi et Oj avec un obstacle qui interf`re. Les e courbes croises correspondent aux deux courbes reliant respectivement les points (Pul , Pdr ) et e e (Pdl , Pur ), et les courbes non croises correspondent aux deux courbes reliant respectivement les points (Pul , Pur ) et (Pdl , Pdr ) (cf. gure 2.5).

tel-00004958, version 1 - 20 Feb 2004

Ok
Pu l

Pu r Psr Pu l

Ok

Pu r Psr

Oi
Pdl

Pil Psl

Ci Ce Ci Ce
Pir Pdr

Oj

Oi
Pdl

Pil Psl Pir Pdr

Oj

Courbes croises e Courbes non croises e

Fig. 2.5 - Deux objets convexes Oi et Oj avec un obstacle Ok .

2.2.4

Cas gnral e e

La string rule telle quelle a t dnie pour deux portions de courbes Ci et Cj (cf. paraee e graphe 2.2.1), nest valable que lorsque lensemble des segments libres maximaux qui touchent e e Ci et Cj est connexe. Cette condition est vrie lorsque tous les obstacles entre Ci et Cj ina e tersectent lenveloppe convexe de Ci Cj (cf. gure 2.6(a)), ou sont ` lintrieur de lenveloppe a convexe de Ci Cj mais sont tangents ` cette enveloppe convexe (cf. gure 2.6(b)). Lorsque les obstacles entre les portions de courbes Ci et Cj se trouvent ` lintrieur de lena e e ` veloppe convexe de Ci Cj mais sans tre tangents a cette enveloppe convexe, lensemble des segments libres maximaux qui touchent Ci et Cj nest plus connexe (cf. gure 2.7). Dans ce cas l`, la string rule nest plus applicable directement. Nous allons voir cependant quelle peut a toujours tre utilise si on dcompose le probl`me de faon ` ce quelle soit applicable. e e e e c a La formulation du facteur de forme sous forme dun rapport de mesures de droites (cf. paragraphe 2.1) est toujours valable quelle que soit la position des obstacles. Soit mso (Ci , Cj ) la

60

Expressions du facteur de forme en 2D


enveloppe convexe de Ci Cj (a)

(b)

Ci

Cj Ci

Cj

ensemble des segments libres maximaux touchant Ci et Cj

tel-00004958, version 1 - 20 Feb 2004

Fig. 2.6 - Cas o` la string rule est valide : (a) les obstacles intersectent lenveloppe convexe de u a e Ci Cj ; (b) les obstacles sont ` lintrieur de lenveloppe convexe de Ci Cj mais sont tangents a ` cette enveloppe convexe. mesure de lensemble des droites qui intersectent les portions de courbes Ci et Cj sans intersecter dobstacles entre Ci et Cj , et soit m(Ci ) la mesure de lensemble total des droites intersectant e e e e Ci . Dapr`s lquation 2.5, le facteur de forme Fij entre Ci et Cj peut donc tre exprim par : Fij = mso(Ci , Cj ) . m(Ci )

Considrons pour simplier le cas o` il y a un seul obstacle O ` lintrieur de lenveloppe e u a e u e e u convexe de Ci Cj (cf. gure 2.8(a)). Le principe est bien sr gnralisable au cas o` il y a plusieurs obstacles.
enveloppe convexe de Ci Cj

ensemble des segments libres maximaux touchant Ci et Cj Ci Cj

Fig. 2.7 - Cas o` la string rule nest plus valide : les obstacles sont ` lintrieur de lenveloppe u a e e a convexe de Ci Cj mais sans tre tangents ` cette enveloppe convexe.

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

61

On note m(C, C ) la mesure de lensemble total des droites intersectant deux portions de courbes
enveloppe convexe de Ci Cj (a)
i1 a j1

(b) O Osup Oinf Cj Ci O Cj

O Ci
b

i2 mso (Ci , Cj ) =

j2

mesure de lensemble des droites intersectant Ci et Cj sans intersecter dobstacles entre les deux (d)

m(Ci , Cj /Oinf )

(c)

Osup

tel-00004958, version 1 - 20 Feb 2004

Ci

Cj

Ci

Oinf Cj

m(Ci , Cj /Osup )

Fig. 2.8 - Expression du facteur de forme dans le cas o` la string rule nest pas valide. u C et C , et m(C, C , C ) la mesure de lensemble total des droites intersectant trois portions de courbes C, C et C . e a En utilisant ces notations, la mesure de droites mso (Ci , Cj ) est donc gale ` : mso(Ci , Cj ) = m(Ci , Cj ) m(Ci , O, Cj ) . (2.13)

Pour calculer mso(Ci , Cj ), il sut donc de calculer les mesures de droites m(Ci , Cj ) et m(Ci , O, Cj ). e La mesure de droites m(Ci , Cj ) reprsentant lensemble total des droites intersectant les portions e e e de courbes Ci et Cj peut tre exprime au moyen de la string rule. Il sut de considrer les deux portions de courbes Ci et Cj sans tenir compte de lobstacle O entre les deux. La mesure a e de droites m(Ci , Cj ) correspond alors ` la somme des longueurs des courbes croises tendues e entre Ci et Cj sans tenir compte de O, moins la somme des longueurs des courbes non croises tendues entre Ci et Cj sans tenir compte de O. e e e La mesure de droites m(Ci , O, Cj ) peut tre calcule en utilisant les rsultats de Sylvester [Syl90] qui permettent de calculer la mesure de lensemble des droites qui intersectent trois objets dans le plan. e Nous prfrerons cependant utiliser pour calculer la mesure mso (Ci , Cj ) une expression dee e rivant directement de la string rule, et issue de la formulation dcrite ci-dessous. Le principe

62

Expressions du facteur de forme en 2D

est de rexprimer mso (Ci , Cj ) en considrant deux obstacles virtuels que lon rajoute pour les e e besoins du calcul. Soient Osup et Oinf ces deux obstacles. Chacun des deux obstacles virtuels est dni comme une sorte de prolongation de lobstacle O : les obstacles Osup et Oinf sont tous e les deux constitus de lobstacle O puis se prolongent jusqu` la limite suprieure de lenveloppe e a e convexe de Ci Cj pour Osup et jusqu` la limite infrieure de cette enveloppe convexe pour a e Oinf (cf. gure 2.8(b)). On note m(C, C /C ) la mesure de lensemble des droites intersectant deux portions de courbes C et C sans intersecter une portion de courbe C . En considrant les deux objets virtuels e Osup et Oinf , la mesure de droites mso (Ci , Cj ) peut tre exprime par : e e mso (Ci , Cj ) = m(Ci , Cj /Osup ) + m(Ci , Cj /Oinf ) . (2.14)

On constate intuitivement que ce rsultat est valide en considrant les gures 2.8(a), 2.8(c) e e et 2.8(d). Ce rsultat peut aussi tre dmontr de mani`re plus formelle. e e e e e On a : m(Ci , Cj /Osup ) = m(Ci , Cj ) m(Ci , Osup , Cj ) m(Ci , Cj /Oinf ) = m(Ci , Cj ) m(Ci , Oinf , Cj ) . (2.15)

tel-00004958, version 1 - 20 Feb 2004

e a e a Appelons O la partie rajoute ` O pour former Osup , et O la partie rajoute ` O pour former Oinf (cf. gure 2.8(b)). On a alors : m(Ci , Osup , Cj ) = m(Ci , O , Cj ) + m(Ci , O, Cj ) m(Ci , Oinf , Cj ) = m(Ci , O, Cj ) + m(Ci , O , Cj ) , (2.16)

e et chaque droite intersectant Ci et Cj intersecte ncessairement un des trois obstacles O, O ou O , ce qui sexprime par : m(Ci , O , Cj ) + m(Ci , O, Cj ) + m(Ci , O , Cj ) = m(Ci , Cj ) . (2.17)

En utilisant les quations 2.15, 2.16 et 2.17, puis en remplaant dans lquation 2.14, on obtient : e c e mso (Ci , Cj ) = m(Ci , Cj ) m(Ci , O, Cj ) , ce qui correspond bien ` la formulation initiale de la mesure des droites intersectant Ci et Cj a sans intersecter dobstacles entre les deux (cf. quation 2.13). e e e e Si on consid`re la mesure de droites mso (Ci , Cj ) sous la forme spcie par lquation 2.14, e cette mesure peut alors tre exprime au moyen de la string rule. En eet, les mesures de e e e e droites m(Ci , Cj /Osup ) et m(Ci , Cj /Oinf ) peuvent tre calcules au moyen de la string rule (cf. gures 2.8(c) et 2.8(d)), car compte tenu de la faon dont les obstacles Osup et Oinf sont c a e dnis, la string rule est valide (ils sont ` lintrieur de lenveloppe convexe de Ci Cj , mais e sont tangents ` cette enveloppe convexe). a e Les mesures de droites m(Ci , Cj /Osup ) et m(Ci , Cj /Oinf ) peuvent en fait tre obtenues en utilisant seulement lobstacle O, et elles ne dpendent donc pas de la forme que la partie e e suprieure de Osup (partie O ) et la partie infrieure de Oinf (partie O ) peuvent avoir. e En utilisant la string rule, la mesure de droites m(Ci , Cj /Osup ) de lensemble des droites e a e intersectant Ci et Cj sans intersecter Osup est gale ` la somme des longueurs des courbes croises e entre Ci et Cj en tenant compte de Osup , moins la somme des longueurs des courbes non croises e e e e entre Ci et Cj en tenant compte de Osup . Dapr`s la dnition des courbes croises et non croises

2.2 Facteur de forme comme une somme pondre de longueurs de courbes e e

63

entre deux portions de courbes Ci et Cj (cf. paragraphe 2.2.1), ces courbes passent en dessous de Osup . e e e e Soient i1 , i2 les extrmits de Ci , et j1 , j2 les extrmits de Cj (cf. gure 2.8(a)). On note a, b les points extrmits de lobstacle O dans le cas de lexemple de la gure 2.8(a). Et soit de (M, N ) e e la distance euclidienne entre deux points M et N . On a alors, dans la cas de la gure 2.8(a) : m(Ci , Cj /Osup ) = [ de (i1 , b) + de (b, j2 ) ] + [ de (i2 , b) + de (b, j1 ) ] [ de (i1 , b) + de (b, j1 ) ] de (i2 , j2 ) = de (i2 , b) + de (b, j2 ) de (i2 , j2 ) . On constate que la mesure de droites m(Ci , Cj /Osup ) dpend uniquement des extrmits des e e e e e e portions de courbes Ci et Cj , et de lextrmit infrieure de O. e a De mme, la mesure de droites m(Ci , Cj /Oinf ) est gale ` la somme des longueurs des courbes e croises entre Ci et Cj en tenant compte de Oinf , moins la somme des longueurs des courbes non e e e e croises entre Ci et Cj en tenant compte de Oinf . Dapr`s la dnition des courbes croises et non e croises entre deux portions de courbes Ci et Cj (cf. paragraphe 2.2.1), ces courbes passent au e dessus de Oinf . Dans le cas de lexemple de la gure 2.8(a), la mesure de droites m(Ci , Cj /Oinf ) e e e va donc dpendre uniquement des extrmits de Ci et Cj , et de lextrmit suprieure de O : e e e m(Ci , Cj /Oinf ) = de (i1 , a) + de (a, j1 ) de (i1 , j1 ) . Les expressions de m(Ci , Cj /Osup ) et m(Ci , Cj /Oinf ) permettent ensuite de calculer mso (Ci , Cj ). En utilisant cette r`gle autant de fois quil y a dobstacles disjoints obstruant la visibilit e e  par le milieu (cest-`-dire dobstacles qui rompent la connexit de lensemble de segments   a e e e libres maximaux touchant Ci et Cj ), on obtient lexpression gnrale de mso (Ci , Cj ), et donc du facteur de forme Fij .

tel-00004958, version 1 - 20 Feb 2004

tel-00004958, version 1 - 20 Feb 2004

65

Chapitre 3

Expressions du facteur de forme 2D dans un espace dual


Les deux expressions du facteur de forme prsentes dans le chapitre 2 peuvent tre rexprie e e e mes dans lespace dual, en utilisant le complexe de visibilit. Nous considrons ici deux dualits e e e e direntes : la dualit (, u) dans le cas des sc`nes constitues dobjets convexes, et la dualit e e e e e (a, b) dans le cas des sc`nes polygonales (cf. paragraphe A.1 de lannexe A pour la dnition des e e deux dualits). e Nous allons voir que le facteur de forme exprim comme un rapport de mesures de droites e peut tre rexprim, dans le cas de la dualit (, u), en fonction de la somme des aires des e e e e direntes faces associes du complexe de visibilit, alors que dans le cas de la dualit (a, b), il e e e e sexprime en fonction dune somme dintgrales simples. Le facteur de forme exprim comme e e une somme pondre de longueurs de courbes peut tre rexprim, quant ` lui, en fonction des ee e e e a sommets et des artes des direntes faces associes du complexe de visibilit. e e e e

tel-00004958, version 1 - 20 Feb 2004

3.1
3.1.1

Expression du facteur de forme dni par un rapport de e mesures de droites


Facteur de forme et faces du complexe de visibilit e

Soient deux objets Oi et Oj donns. Dans le cas dune sc`ne constitue dobjets convexes, il e e e sagit de deux objets convexes, et dans le cas dune sc`ne polygonale, il sagit de deux artes de e e polygones. Considrons le facteur de forme dni comme un rapport de mesures de droites (cf. quation 2.5). e e e e Dans le cas de deux objets Oi et Oj (deux objets convexes ou deux artes de polygones, selon le cas), le facteur de forme Fij entre Oi et Oj sexprime donc par : Fij = mso(Oi , Oj ) m(Oi ) (3.1)

avec mso (Oi , Oj ) la mesure de lensemble des droites intersectant Oi et Oj sans intersecter dobstacles se trouvant entre les deux, et m(Oi ) la mesure de lensemble total des droites intersectant Oi . e Pour calculer le facteur de forme Fij , il sagit donc de caractriser la mesure de droites mso (Oi , Oj ),

66

Expressions du facteur de forme 2D dans un espace dual

et la mesure de droites m(Oi ). Le complexe de visibilit associ ` une sc`ne donne est constitu dun ensemble de faces. e ea e e e Une face donne est associe ` deux objets (il sagit de deux objets convexes dans le cas des e e a sc`nes constitues dobjets convexes, et de deux artes de polygones dans le cas des sc`nes e e e e polygonales). Une face associe ` deux objets donns correspond ` une composante connexe de e a e a segments libres maximaux qui touchent ces deux objets (cf. paragraphe 1.6.2). Si lensemble des segments libres maximaux qui touchent deux objets donns nest pas connexe, cet ensemble e de segments libres maximaux est reprsent au niveau du complexe de visibilit, par autant de e e e faces quil y a de composantes connexes dans cet ensemble de segments libres maximaux. On peut voir un exemple sur la gure 3.1 o` lensemble des segments libres maximaux qui touchent u e e les deux artes de polygones Ci et Cj est spar en deux composantes connexes. e ` Toute droite qui intersecte deux objets Oi et Oj sans intersecter dobstacles correspond a un e a segment libre maximal dune face associe aux objets Oi et Oj . Lensemble des faces associes ` e e deux objets Oi et Oj reprsente donc lensemble des droites intersectant Oi et Oj sans intersecter e e a dobstacles se trouvant entre les deux. Soient f1 , ... fk (k 1) les direntes faces associes ` ` Oi et Oj . On note M(fk ) la mesure de lensemble des droites correspondant a la face fk . On a donc : mso (Oi , Oj ) =
k

tel-00004958, version 1 - 20 Feb 2004

M(fk ) .

En remplaant dans lquation 3.1, on obtient : c e


k

M(fk ) =

Fij =

m(Oi )

M(f1 ) M(fk ) + ... + m(Oi ) m(Oi )

(3.2)

On retrouve ici, sous une forme plus gnrale, la proprit dadditivit du facteur de forme e e ee e (cf. paragraphe 1.2.2).
Deux faces associes a Ci et Cj : e `
i1 j1

i1
a

j1 a b

Ci
b

Cj

i2

j2

j2

i2

ensemble des segments libres maximaux qui touchent Ci et Cj

Fig. 3.1 - Faces associes ` deux artes de polygones Ci et Cj . e a e

3.1 Expression du facteur de forme dni par un rapport de mesures de droites 67 e

3.1.2

En dualit (, u) : expression du facteur de forme en fonction dune e somme daires de faces du complexe

Dapr`s le paragraphe 3.1.1, le facteur de forme entre deux objets convexes Oi et Oj donns e e sexprime en fonction de la somme sur lensemble des faces associes ` Oi et Oj de la mesure des e a e e droites correspondant ` chaque face associe ` Oi et Oj (cf. quation 3.2). Une droite de la sc`ne a e a est reprsente par un point dans lespace dual (, u). Une face associe ` deux objets convexes e e e a est donc reprsente, dans lespace dual (, u), par une zone de points dlimite par un ensemble e e e e de courbes associes aux objets qui interviennent dans la face (cf. paragraphe 1.6.3). De mme, e e dans lespace dual (, u), la zone comprise entre les deux courbes de tangence associes ` un e a objet convexe donn correspond ` lensemble des droites qui intersectent cet objet dans la sc`ne e a e (cf. paragraphe 1.6.3). Les mesures de droites intersectant des objets convexes dans le plan correspondent en fait, dans lespace dual (, u), a des aires de rgions. Plus prcisment, on peut tablir les propositions ` e e e e suivantes : Proposition 2 La mesure de lensemble des droites qui intersectent un objet convexe Oi dans le plan est gale, dans lespace dual (, u), a laire comprise entre les deux courbes de tangence e ` e a i et i associes ` lobjet convexe Oi pour compris entre 0 et . (Cf. paragraphe 1.6.3 pour la dnition de courbes de tangence associes ` un objet convexe.) e e a Proposition 3 La mesure de lensemble des droites intersectant deux objets convexes Oi et Oj dans le plan est gale, dans lespace dual (, u), a la somme des aires des direntes faces du e ` e complexe de visibilit associes ` ces deux objets. e e a Ces deux propositions seront dmontres un peu plus loin. e e e e a Soient f1 , ... fk (k 1) les direntes faces associes ` deux objets convexes Oi et Oj . En utilisant les propositions 2 et 3, et lquation 3.1, le facteur de forme entre les deux objets e convexes Oi et Oj sexprime, dans lespace dual (, u), par : Aire de la face fk associe aux objets Oi et Oj e Fij = Exemple Considrons lexemple de la gure 3.2 constitu de deux cercles Oi et Oj de centres respectifs e e I(xi , yi ), J(xj , yj ), et de rayons ri et rj . Dans lespace dual (, u), on associe ` tout objet deux courbes de tangence et . Dans le a e cas dun cercle Oi de centre I(xi , yi ) et de rayon ri , les courbes et sont dnies par : i = yi cos xi sin + ri i = yi cos xi sin ri On a une dnition similaire pour le cercle Oj . e (3.3) (3.4)
k

tel-00004958, version 1 - 20 Feb 2004

Aire comprise entre les deux courbes i et i pour compris entre 0 et

68

Expressions du facteur de forme 2D dans un espace dual


Face dans lespace dual (, u) : y
M1 M3 M2 1 0

u Oj i x j i

Oi I

J
2 M4 3 M5

3 1

Fig. 3.2 - Exemple de deux cercles Oi et Oj . Soit Ai laire comprise entre les courbes de tangence i et i pour compris entre 0 et . Laire Ai sexprime donc par :

tel-00004958, version 1 - 20 Feb 2004

Ai =

[i () i ()]d

Dans le cas de lexemple de la gure 3.2, on a donc, en utilisant les quations 3.3 et 3.4 : e

Ai =

2ri d = Ai = 2ri

Or, dapr`s la gomtrie intgrale (cf. paragraphe B.3 de lannexe B), la mesure de lensemble e e e e des droites qui intersectent un objet est gale ` son prim`tre. Le prim`tre dun cercle Oi de e a e e e e e a rayon ri est gal ` 2ri . On constate que la proposition 2 est bien vrie. e e Calculons maintenant laire de la face du complexe associe aux cercles Oi et Oj (cf. e gure 3.2), que nous noterons Aij . Dapr`s la gure 3.2, laire Aij sexprime par : e
1 2

Aij = Do` : u Aij

i ()d +

j ()d

3 0

j ()d

2 3

i ()d

= [yi sin + xi cos + ri ]1 + [yj sin + xj cos + rj ]2 0 1 [yj sin + xj cos rj ]3 [yi sin + xi cos ri ]2 0 3 = (yi yj ){ sin 0 + sin 1 sin 2 + sin 3 } + (xi xj ){ cos 0 + cos 1 cos 2 + cos 3 } + (ri + rj ){0 + 2 } + (ri rj ){1 3 }

Pour simplier les calculs, on exprime les coordonnes des points dans un rep`re centr en I e e e a e (centre de Oi ) et dont laxe des abscisses correspond ` la droite (IJ). Dans ce rep`re, on a (cf.

3.1 Expression du facteur de forme dni par un rapport de mesures de droites 69 e gure 3.2) : 3 = 1 2 = 0 Aij = 2{(xi xj )( cos 0 + cos1 ) (ri + rj )0 + (ri rj )1 }

Exprimons maintenant la mesure de lensemble des droites intersectant les cercles Oi et Oj , que nous noterons mij . Dapr`s la gomtrie intgrale (cf. paragraphe B.4 de lannexe B), mij = Li Le , Le et Li e e e e tant les longueurs respectives des courbes Ce et Ci . Par dnition, Ce est la courbe lastique e e e e e ferme trace autour des deux cercles Oi et Oj , et Ci est la courbe lastique croise construite e e autour de ces deux cercles. Si on note de la distance entre les points M1 et M2 , et di la longueur de la courbe de longueur minimum reliant M1 ` M5 et restant extrieure aux cercles Oi et Oj (cf. gure 3.2), on a alors : a e

tel-00004958, version 1 - 20 Feb 2004

mij = 2{di de } Dans le rep`re choisi (rep`re centr en I avec pour axe des abscisses la droite (IJ)), on a : e e e de = (xj xi ) cos 1 di = ri (1 0 ) + rj (1 0 ) + M3 M4 avec M3 M4 = (xj xi ) cos 0 Do` : u mij = 2{(xj xi )(cos 0 cos 1 ) (ri + rj )0 + (ri rj )1 } Donc : mij = Aij . On constate que la proposition 3 est bien vrie : la mesure de lensemble des droites intere e e a e a sectant les cercles Oi et Oj est gale ` laire de la face du complexe associe ` Oi et Oj . Dmonstration e On souhaite dmontrer les propositions 2 et 3 qui expriment, dans lespace dual (, u), des e mesures densembles de droites intersectant des objets convexes. Considrons les rsultats de gomtrie intgrale prsents dans le paragraphe B.2 de lane e e e e e e nexe B. Une droite G dans le plan est dnie par deux param`tres p et , p tant la distance e e e de la droite a lorigine et langle entre laxe des abscisses et la droite perpendiculaire ` G qui ` a passe par lorigine (cf. gure B.1). La droite G a donc pour quation : x cos + y sin p = 0. e La mesure dun ensemble X de droites G(p, ) est dnie par (cf. paragraphe B.2 de lannexe B) : e m(G : G X) = dG =
GX GX

dp d

avec produit extrieur (dni dans le paragraphe B.1). e e Dans le cas de la dualit (, u), une droite D dans la sc`ne est dnie par deux param`tres e e e e et u, tant langle de la droite D avec laxe des abscisses et u sa distance algbrique a lorigine e e `

70

Expressions du facteur de forme 2D dans un espace dual

(cf. paragraphe A.1). La droite D a donc pour quation : y cos x sin u = 0. e On en dduit la relation suivante, entre les deux paramtrisations de droites (p, ) et (u, ) : e e p = u = +
2

(3.5)

On veut procder au changement de variables : p u, . Par dnition, on a (cf. parae e graphe B.1 de lannexe B) : p p du + d dp = u d = En utilisant les quations 3.5, on a donc : e dp = du d = d Do` : u dp d = du d . La mesure dun ensemble X de droites D paramtres par u, est donc gale ` la mesure du e e e a mme ensemble X de droites G paramtres par p, dnies dans le contexte de la gomtrie e e e e e e intgrale : e m(G : G X) =
GX

du + d u

tel-00004958, version 1 - 20 Feb 2004

dp d =

DX

du d = m(D : D X)

(3.6)

e a Soient i () et i () les deux courbes de tangence associes ` un objet convexe Oi dans e e lespace dual (, u), telles que i () > i () pour tout . Par dnition, les points de coordonnes ` (, i ()) et (, i ()) dans lespace dual (, u) correspondent aux deux droites tangentes a lobjet e e Oi dans la sc`ne, pour une direction donne (cf. paragraphe 1.6.3). Si on consid`re les deux courbes i () et i () pour entre 0 et , on a donc lensemble des droites e e tangentes ` lobjet Oi . Soit la fonction u() dnie par : u() = i () i () pour [0, [. a a Cette fonction correspond en fait ` la fonction support de Oi . Dans ce cas l`, la mesure de a e a lensemble des droites D qui intersectent lobjet convexe Oi est gale ` (cf. paragraphe B.3 de lannexe B) : m(D : D Oi = ) = La proposition 2 est donc bien vrie. e e Dapr`s lquation 3.6, la mesure de lensemble des droites D de param`tres u, qui intere e e e sectent deux objets convexes Oi et Oj est donc dnie par : m(D : D Oi = et D Oj = ) = =
DOi = DOi = DOi =

du d =

u()d
0

et et

d DOj = dud .
DOj = du

Chaque face associe ` Oi et Oj est reprsente, dans lespace dual (, u), par une zone de points e a e e dlimite par un ensemble de courbes u() (courbes fonctions de ). Chaque point appartenant e e

3.1 Expression du facteur de forme dni par un rapport de mesures de droites 71 e a ` cette face correspond ` une droite dans la sc`ne qui intersecte Oi et Oj sans intersecter a e dobstacles. Lintgrale DOi = et DOj = dud correspond donc ` la somme sur lensemble des e a e a faces associes ` Oi et Oj de laire comprise, pour chaque face associe ` Oi et Oj , entre les e a courbes u() dlimitant cette face dans lespace dual (, u). e La proposition 3 est donc aussi vrie. e e

3.1.3

En dualit (a, b) : expression du facteur de forme en fonction dune e somme dintgrales simples e

Les expressions de mesures densembles de droites dans lespace dual (, u), qui ont t taeee blies dans les propositions 2 et 3, dpendent fortement de la dualit choisie, puisque lexpression e e de la mesure dun ensemble de droites dpend de la paramtrisation choisie pour les droites. Ces e e rsultats sont valables en dualit (, u) car les droites sont distribues uniformment. Mais nous e e e e allons voir quils ne sont plus valables en dualit (a, b), o` lon consid`re la relation qui a une e u e ` droite dquation y = ax b (respectivement un point de coordonnes (a, b)) associe le point e e de coordonnes (a, b) (respectivement la droite dquation y = ax + b). e e

tel-00004958, version 1 - 20 Feb 2004

Considrons la face f associe ` deux artes de polygones donnes. La face f reprsente dans e e a e e e e la dualit (, u) est dlimite par un ensemble de courbes sinuso e e e dales u(). Cette mme face e reprsente dans la dualit (a, b) est dlimite par un ensemble de droites b(a) (cf. paragraphe A.2 e e e e e de lannexe A). Les faces ont donc un aspect dirent selon la dualit choisie ((, u) ou (a, b)). e e Etudions plus prcisment la correspondance entre ces deux dualits. e e e

Correspondance entre les dualits (, u) et (a, b) e Relations entre a, b, et u Dans le cas de la dualit (, u), un point de coordonnes (, u) dans lespace dual correspond e e a ` une droite D dquation y cos x sin u = 0 dans la sc`ne. e e Dans le cas de la dualit (a, b), un point de coordonnes (a, b) dans lespace dual correspond e e a ` une droite D dquation y = ax b dans la sc`ne (cf. gure 3.3). e e
Sc`ne e y a 1 b u x

Fig. 3.3 - Correspondance entre les dualits (a, b) et (, u). e

72

Expressions du facteur de forme 2D dans un espace dual Pour trouver la correspondance entre les deux dualits, il sut donc de rsoudre le syst`me : e e e y cos x sin u = 0 y = ax b

On en dduit que : e

a = tan b= u

cos Dapr`s la gure 3.3 qui illustre la correspondance entre les deux types de dualits, on e e constate aussi que : 1 cos = 1 + a2
a sin =

1 + a2

tel-00004958, version 1 - 20 Feb 2004

Lien entre u() et b(a) Soit M un point de coordonnes (x, y) dans le rep`re de la sc`ne. Soit u() la courbe dans e e e lespace dual (, u) reprsentant lensemble des droites passant par le point M dans la sc`ne, et e e soit b(a) la droite dans lespace dual (a, b) reprsentant, de mme, lensemble des droites passant e e par le point M dans la sc`ne. e Par dnition, on a : e u() = y cos x sin b(a) = xa y En considrant les relations entre a, b, et u (cf. paragraphe prcdent), on obtient : e e e 1 b(a) u() = cos .b(a) = 1 + a2

Lien entre

u()d et

b(a)da

Connaissant la relation entre u() et b(a), et la relation entre et a (cf. paragraphes prce e dents), on peut en dduire la relation entre lintgrale de u() et lintgrale de b(a). e e e = arctan(a) d 1 = da 1 + a2 1 d = da 1 + a2

Do` : u
2 =arctan(a2 ) a2

u()d =
1 =arctan(a1 ) a1

1 (1 + a2 ) 2
3

b(a)da .

3.2 Expression du facteur de forme dni par une somme pondre de longueurs e e e de courbes 73 On constate donc que :

u()d =

b(a)da .

Laire comprise entre des droites de lespace dual (a, b) nest donc pas directement quivalente e a ` laire comprise entre les courbes sinuso dales correspondantes dans lespace dual (, u). Les propositions 2 et 3 tablies dans le cadre de la dualit (, u) ne sont donc pas directement transe e posables en dualit (a, b). e e Le facteur de forme entre deux artes de polygones Ci et Cj donnes ne peut pas sexprimer, e dans lespace dual (a, b), en fonction de la somme des aires des direntes faces associes ` ces e e a deux artes de polygones. Le facteur de forme sexprime en fait, dans lespace dual (a, b), en e fonction dune somme dintgrales simples de la forme : e 1 (1 + a2 ) 2
3

b(a)da .

tel-00004958, version 1 - 20 Feb 2004

Cette somme dintgrales simples correspond ` la mesure de lensemble des droites intersectant e a t les artes de polygones Ci et Cj sans intersecter dobstacles, qui appara dans lexpression du e facteur de forme dni comme un rapport de mesures de droites (cf. quation 3.1). e e

3.2

Expression du facteur de forme dni par une somme pone dre de longueurs de courbes e e

Nous avons vu dans le paragraphe 2.2 que le facteur de forme peut tre exprim comme une e e somme pondre de longueurs de courbes (expression issue de la string rule). Cette expression ee du facteur de forme peut tre interprte dans lespace dual, grce au complexe de visibilit. e ee a e Le facteur de forme sexprime alors, dans le cas des objets convexes avec la dualit (, u), e comme une somme pondre de valeurs fonctions des sommets et artes des faces du complexe ee e de visibilit, et dans le cas des polygones avec la dualit (a, b), comme une somme pondre e e ee dpendant uniquement des sommets des faces du complexe de visibilit. e e Nous considrerons dans un premier temps, pour les objets convexes et pour les artes de e e polygones, le cas plus simple o` il y a une seule face associe ` deux objets convexes donns, u e a e et une seule face associe ` deux artes de polygones donnes. Nous verrons ensuite, dans un e a e e deuxi`me temps, le cas plus compliqu o` il y a plusieurs faces du complexe associes ` deux e e u e a objets donns (deux objets convexes ou deux artes de polygones, selon le cas). e e

3.2.1

Cas des objets convexes avec la dualit (, u) e

Considrons lexemple de la gure 3.4. Pour dterminer le facteur de forme entre les objets e e e convexes Oi et Oj , il sagit de calculer la longueur des courbes croises tendues respectivement e entre les points (Pul , Pdr ) et (Pdl , Pur ), et la longueur des courbes non croises tendues respectie vement entre les points (Pul , Pur ) et (Pdl , Pdr ) (cf. paragraphe 2.2.1 pour la dnition de courbes croises et non croises). Le facteur de forme entre les objets convexes Oi et Oj sexprime alors e e

74 par : Fij =

Expressions du facteur de forme 2D dans un espace dual

L(Pul , Pdr ) + L(Pdl , Pur ) L(Pul , Pur ) L(Pdl , Pdr ) , Longueur du contour de Oi

avec L(M, N ) correspondant ` la longueur de la courbe (croise ou non croise, selon le cas) a e e tendue entre les points M et N .
Sc`ne e Espace dual Distance curviligne entre Pur et Psr +
Dur

Ok
Pul Dul

+
Dur Pur Psr

Pdk
Ds Di Dd

Di

Oi

Dul

Ok

Oj

Oi
Pdl

Pil Psl

Ds

Oj
Pir Pdr

Oj
+
Dd

Oi
+

tel-00004958, version 1 - 20 Feb 2004

Distance curviligne entre Psl et Pdl

Distance euclidienne entre Psr et Psl

Distance curviligne Distance euclidienne

Fig. 3.4 - Deux objets Oi et Oj , et leur face associe au niveau du complexe. e Les courbes croises et non croises considres sont constitues de parties courbes qui suivent e e ee e le contour des objets, et de parties droites qui sont tangentes aux objets. Les parties droites correspondent en fait aux bitangentes communes aux objets, bitangentes correspondant dans lespace dual aux sommets de la face associe aux objets Oi et Oj (la droite e e Dul de la sc`ne correspond au sommet Dul dans lespace dual, la droite Dur au sommet Dur , etc.). Les parties courbes, quant ` elles, sont directement lies aux artes dlimitant la face. En a e e e ` e e eet, considrons la gure 3.4. Larte Oj appartenant a la face est dlimite par les sommets e e e a Dur et Ds . Les droites Dur et Ds correspondantes dans la sc`ne sont tangentes ` lobjet Oj aux a points Pur et Psr respectivement. Le fait daller de Pur ` Psr en suivant le contour de lobjet e ee Oj peut tre considr, dans lespace dual (, u), comme le parcours de la courbe de tangence a e e Oj entre les sommets Dur et Ds . Cela revient ` considrer dans la sc`ne lensemble des droites e tangentes ` lobjet Oj situes dans le secteur compris entre les droites Dur et Ds . a Les dirents sommets et artes de la face associe aux objets Oi et Oj permettent donc de e e e calculer les longueurs de courbes ncessaires pour le calcul du facteur de forme Fij entre deux e objets convexes Oi et Oj . e On associe, ` chaque sommet v de la face, une valeur de (v) reprsentant la longueur euclidienne a de la bitangente correspondante dans la sc`ne, et ` chaque arte e de la face, une valeur dc (e) e a e reprsentant la longueur curviligne de la portion correspondante de lobjet associ. e e e ea Le facteur de forme entre deux objets convexes Oi et Oj peut alors tre exprim ` partir de la

3.2 Expression du facteur de forme dni par une somme pondre de longueurs e e e de courbes 75 face associe ` Oi et Oj par : e a Fij =
v sommet de la face

de (v) +

e arte de la face e

dc (e) , (3.7)

+de (v) si v est un sommet extrmal de la face e

Longueur du contour de Oi

o` de (v) = u

d (v) sinon e

(premier ou dernier sommet de la face)

et dc (e) =

+dc (e) si lobjet associ ` larte e est Oi ou Oj ea e dc (e) sinon

La gure 3.4 montre les dirents signes aectant les direntes valeurs obtenues pour chaque e e e sommet v et chaque arte e de la face associe ` deux objets Oi et Oj donns. e e a Calcul des valeurs de (v) et dc (e) :

tel-00004958, version 1 - 20 Feb 2004

La valeur de (v) reprsente pour un sommet v donn du complexe de visibilit, la longueur e e e e euclidienne de la bitangente correspondante dans la sc`ne. Soient (v , uv ) les coordonnes e du sommet v dans lespace dual (, u). Ce sommet v correspond dans la sc`ne ` une droite e a e Dv dquation y cos v x sin v uv = 0. La valeur de (v) est obtenue en calculant dabord e e les points dintersection de la droite Dv avec les deux objets associs aux deux artes incidentes ` v qui appartiennent a la face du complexe considre, puis en calculant la a ` ee distance entre ces deux points. Considrons lexemple de la gure 3.4. Le sommet Dul de e e lespace dual a pour artes incidentes Oi et Ok sur la face associe aux objets Oi et Oj . e e Les artes Oi et Ok sont associes respectivement aux objets Oi et Ok . La droite Dul e correspondant au sommet Dul intersecte les objets Oi et Ok en deux points Pul et Pdk . A e partir du sommet Dul et de ses artes incidentes, on peut donc calculer les points Pul et e Pdk , puis la distance euclidienne entre ces deux points. La distance calcule entre ces deux points correspond a la longueur dune partie droite de la courbe non croise tendue entre ` e les points Pul et Pur . Soit une arte e du complexe de visibilit associe ` un objet O. Larte e est la partie de la e e e a e courbe de tangence u() de lobjet O comprise entre deux sommets que nous nommerons e e D1 et D2 . Les droites correspondant aux sommets D1 et D2 dans la sc`ne, sont appeles e respectivement droites D1 et D2 . La valeur dc (e) reprsente la longueur curviligne de la portion correspondante de lobjet O. Cette portion correspond a la portion du contour de ` e lobjet O dlimite par les points P1 et P2 dans la sc`ne. Les points P1 et P2 correspondent e e a aux points dintersection des droites D1 et D2 avec lobjet O. Le fait daller de P1 ` P2 en suivant le contour de lobjet O peut tre considr comme le parcours de la courbe u() e ee ` entre les sommets D1 et D2 . La valeur dc (e) correspond a la distance curviligne entre les e e points P1 et P2 . La distance curviligne entre deux points est, par dnition, lintgrale de labscisse curviligne s() dun point dcrivant larc de courbe. Soient (1 , u(1 )) les e e coordonnes du sommet D1 dans lespace dual (, u), et soient (2 , u(2 )) les coordonnes e du sommet D2 . La valeur dc (e) vaut donc :
2 2

dc (e) =

s()d =
1 1

| u() + u () | d ,

76

Expressions du facteur de forme 2D dans un espace dual avec 1 et 2 les angles respectifs des droites D1 et D2 avec laxe des abscisses du rep`re e de la sc`ne. On constate donc que la valeur dc (e) peut tre obtenue uniquement a partir e e ` de larte e et de ses sommets extrmits dans lespace dual. e e e Dans le cas dun cercle de centre (x0 , y0 ) et de rayon r, on a : u() = y0 cos x0 sin r = u () = y0 cos + x0 sin =| u() + u () |= r , do` : dc (e) = u dun cercle.
2 1

rd = r(2 1 ), ce qui correspond bien a la distance curviligne le long `

3.2.2

Cas des polygones avec la dualit (a, b) e

tel-00004958, version 1 - 20 Feb 2004

Considrons maintenant les exemples (a) et (b) de la gure 3.5. Pour dterminer le facteur e e de forme entre les deux artes de polygones Ci et Cj , il sagit de calculer la longueur des courbes e croises et des courbes non croises tendues entre les extrmits de ces deux artes. Soient i1 , e e e e e e e e e e e i2 les extrmits de larte Ci , et soient j1 , j2 les extrmits de larte Cj . Le facteur de forme entre Ci et Cj sexprime alors par : Fij = L(i1 , j2 ) + L(i2 , j1 ) L(i1 , j1 ) L(i2 , j2 ) 2 Longueur de Ci

avec L(M, N ) correspondant ` la longueur de la courbe (croise ou non croise, selon le cas) a e e tendue entre les points M et N . Les courbes croises et non croises considres sont constitues uniquement de parties droites e e ee e reliant des sommets de polygones de la sc`ne. Ces direntes parties droites correspondent ` e e a des sommets de la face associe aux artes Ci et Cj (la droite (i1 , p) correspond au sommet e e e e e vi1 p , la droite (p, j1 ) au sommet vpj1 , etc.). Plus prcisment, les deux sommets extrmaux de la face (cest a dire le premier et le dernier sommets) correspondent aux deux courbes croises ` e et les autres sommets des deux cha nes dartes de la face correspondent aux deux courbes non e croises (cf. gure 3.5(a)). e Connaissant les sommets de la face associe ` deux artes de polygones Ci et Cj , il est alors e a e e possible de calculer le facteur de forme Fij entre ces deux artes de polygones. On associe ` chaque sommet v de la face, une valeur d(v) reprsentant la longueur de la partie a e droite correspondante dans la sc`ne. e Le facteur de forme entre deux artes de polygones peut alors tre exprim a partir de la face e e e` associe ` Ci et Cj par : e a d (v) Fij =
v sommet de la face

2 Longueur de Ci

(3.8)

+d(v) si v est un sommet extrmal de la face e

o` d (v) = u

d(v) sinon

(premier ou dernier sommet de la face)

3.2 Expression du facteur de forme dni par une somme pondre de longueurs e e e de courbes 77
Sc`ne e Espace dual

i1 p

j1

p i1 Cj + vi1 j2 j2
vi2 j2 vi1 p vpj1

j1
vi2 j1

Ci

i2

i2

j2

(a)

S = L(i1 , j2 ) + L(i2 , j1 ) [ L(i1 , p) + L(p, j1 ) ] L(i2 , j2 )

i1 p

j1

Ci

Cj

+ j2

p i2

tel-00004958, version 1 - 20 Feb 2004

i2

j2

(b)

S = [ L(i1 , p) + L(p, j2 ) ] + [ L(i2 , p) + L(p, j1 ) ] [ L(i1 , p) + L(p, j1 ) ] L(i2 , j2 ) = L(i2 , p) + L(p, j2 ) L(i2 , j2 )

Fig. 3.5 - Deux artes de polygones Ci et Cj , et la face associe ` ces deux artes de polygones e e a e au niveau du complexe. La gure 3.5 montre les dirents signes aectant les direntes valeurs obtenues pour chaque e e e sommet v de la face associe ` deux artes de polygones Ci et Cj donnes. On constate que si les e a e e extrmits opposes de Ci et Cj sont caches par un obstacle, certaines parties droites des courbes e e e croises et des courbes non croises tendues entre les extrmits de Ci et Cj ne correspondent e e e e pas ` des sommets dlimitant la face associe ` Ci et Cj (cest le cas par exemple dans lexemple a e e a de la gure 3.5(b) o` les extrmits i1 et j2 dune part, et i2 et j1 dautre part ne sont pas u e e mutuellement visibles). Cependant ces parties droites font parties ` la fois des courbes croises a e et des courbes non croises, donc elles disparaissent au cours du calcul. Linterprtation du e e ee facteur de forme dni a partir de la string rule, sous forme dune somme pondre de valeurs e ` fonctions des sommets dune face du complexe de visibilit, reste donc valable mme en prsence e e e dobstacles. Calcul de la valeur d(v) : La valeur d(v) reprsente pour un sommet v donn de la face e e associe ` deux artes de polygones Ci et Cj , la longueur de la partie droite correspondante e a e dans la sc`ne. Cette partie droite est la portion de droite comprise, dans la sc`ne, entre les e e sommets de polygones associs aux deux artes incidentes a v qui appartiennent a la face. La e e ` ` valeur d(v) est alors obtenue tout simplement en calculant la distance entre ces deux sommets de polygones. Considrons la gure 3.5(a) et prenons un exemple de sommet dans lespace dual. e e e Le sommet vi1 p qui a pour artes incidentes i1 et p associes respectivement aux sommets i1 et p dans la sc`ne, permet eectivement de calculer la longueur de la partie droite comprise entre e

78

Expressions du facteur de forme 2D dans un espace dual

les sommets de polygones i1 et p.

3.2.3

Cas o` la  string rule nest pas directement applicable u  

Nous avons vu dans le paragraphe 2.2.4 que la string rule telle quelle a t dnie pour ee e deux portions de courbes Ci et Cj (et donc la formulation du facteur de forme issue de la string e rule, dnie dans le paragraphe 2.2.1) nest valable que lorsque lensemble des segments libres e e maximaux qui touchent Ci et Cj est connexe. Si cette condition nest pas vrie, la string e e rule ne peut pas tre applique directement. Il en est de mme si on consid`re les segments libres maximaux qui touchent deux objets e e convexes donns ou deux artes de polygones donnes. La string rule nest directement ape e e plicable que si lensemble des segments libres maximaux considr est connexe. Sil nest pas ee e e e e connexe, la string rule peut cependant tre applique en dcomposant le probl`me (cf. paragraphe 2.2.4). Pour cela, on consid`re successivement chaque composante connexe de segments e libres maximaux qui touchent deux objets donns (deux objets convexes ou deux artes de poe e lygones, selon le cas) et on suppose ` chaque fois que les segments libres maximaux de cette a composante connexe correspondent a lensemble des segments libres maximaux qui touchent les ` deux objets considrs. La mesure des segments libres maximaux dune composante connexe ee peut alors tre calcule au moyen de la string rule sous forme dune somme de longueurs de e e courbes : cette mesure est gale ` la somme des longueurs des courbes croises entre les deux e a e objets considrs en tenant compte des obstacles, moins la somme des longueurs des courbes ee non croises entre ces deux mmes objets en tenant compte des obstacles. La mesure de lene e semble total des segments libres maximaux qui touchent les deux objets considrs est ensuite ee obtenue en sommant les valeurs obtenues pour chaque composante connexe de segments libres maximaux. Or chaque composante connexe de segments libres maximaux qui touchent deux objets donns e correspond, au niveau du complexe de visibilit, a une face associe ` ces deux objets (cf. pae ` e a e ragraphe 3.1.1). La string rule est donc applicable pour une face donne, et sil y a plusieurs faces associes aux deux mmes objets (donc plusieurs composantes connexes de segments libres e e maximaux qui touchent ces deux mmes objets), la mesure de lensemble total des segments e libres maximaux est donc obtenue en sommant les valeurs obtenues pour chaque face. Dapr`s les paragraphes 3.2.1 et 3.2.2, on constate en fait que la somme des longueurs de e e courbes issue de la string rule sexprime, pour une face donne, en fonction des sommets et artes de cette face. e e Sil y a plusieurs faces associes ` deux objets Oi et Oj donns (deux objets convexes ou deux e a artes de polygones, selon le cas), le facteur de forme exprim ` partir de la string rule (cf. e ea paragraphe 2.2), peut donc tre exprim, pour les deux objets Oi et Oj , en fonction des sommets e e e et artes des direntes faces associes ` ces deux objets. Soient f1 , ... fk (k 1) les direntes e e e a e faces associes ` deux objets Oi et Oj donns. Le facteur de forme Fij entre ces deux objets e a sexprime alors en appliquant pour chacune des faces, lquation 3.7 du paragraphe 3.2.1 dans e le cas de deux objets convexes, et lquation 3.8 du paragraphe 3.2.2 dans le cas de deux artes e e de polygones, puis en additionnant les valeurs obtenues pour chacune des faces. On retrouve ici, sous une forme plus gnrale, la proprit dadditivit du facteur de forme (cf. paragraphe 1.2.2). e e ee e Le facteur de forme Fij entre les deux objets Oi et Oj sexprime donc par : Fij =
k

tel-00004958, version 1 - 20 Feb 2004

Fij (fk )

3.3 Probl`mes dus ` la direction verticale en dualit (a, b) e a e

79

La valeur Fij (fk ) est obtenue en appliquant ` la face fk lquation 3.7 ou lquation 3.8, selon a e e le cas.

3.3

Probl`mes dus ` la direction verticale en dualit (a, b) e a e

tel-00004958, version 1 - 20 Feb 2004

La dualit (a, b) peut tre utilise pour reprsenter les lments du complexe dans le cas des e e e e ee sc`nes polygonales (cf. paragraphe A.2). Cependant cette dualit, compte tenu de sa dnition e e e (cf. paragraphe A.1), ne traite pas les droites verticales : il nexiste pas de point dans lespace dual (a, b) permettant de reprsenter une droite verticale de la sc`ne. Les droites associes dans e e e lespace dual (a, b) aux deux extrmits dune arte de polygone verticale sont donc parall`les e e e e et ne sintersectent pas, ce qui va crer des dgnrescences des faces du complexe de visibilit. e e e e e Une face associe ` deux objets donns correspond par dnition a un ensemble connexe de e a e e ` segments libres maximaux dans la sc`ne, qui touchent ces deux objets (cf. paragraphe 1.6.2). e Les objets considrs dans le cas des sc`nes polygonales sont les artes de polygones. Donc toute ee e e e droite qui intersecte deux artes de polygones Ci et Cj donnes sans intersecter dobstacles e correspond a un segment libre maximal dune face associe aux deux artes de polygones Ci et ` e e Cj . Une droite non verticale (ou un segment libre maximal non vertical) dans la sc`ne correspond ` e a un point dans lespace dual (a, b). Soit une face associe ` deux artes de polygones donnes. Si e a e e aucun segment libre maximal appartenant ` cette face nest vertical, cette face correspond donc, a dans lespace dual (a, b), a une rgion connexe de points qui est dlimite par des portions de ` e e e droites associes aux dirents sommets de polygones qui interviennent dans la face considre. e e ee Par contre, si la direction verticale appara pour une face donne, cette face a une forme t e  dgnre . On en distingue deux types : les faces semi-innies et les faces spares en deux.  e e e e  e e

3.3.1

Deux types de faces dgnres e e e e

Les faces semi-innies Ce sont des faces semi-ouvertes. Elles sont caractrises par une liste suprieure et une liste e e e infrieure dartes relies dun ct par un sommet commun et se terminant de lautre ct par e e e oe oe deux artes innies (qui sont des portions de droites parall`les). e e On obtient une face de ce type dans le cas o` les deux conditions suivantes sont satisfaites : u la direction verticale correspond ` une limite (ou bordure) de la zone qui caractrise, dans a e la sc`ne, la visibilit entre les deux artes de polygones associes ` la face considre, e e e e a ee cette droite verticale, qui dlimite la visibilit entre les deux artes de polygones associes e e e e a ` la face considre, correspond aussi ` la droite support dune de ces deux artes. ee a e La gure 3.6 montre un exemple de sc`ne o` les deux conditions nonces prcdemment sont e u e e e e e vries. La zone de visibilit entre les artes de polygones [A1 A2 ] et [B1 B2 ] est colorie en e e e e gris clair. Si nous considrons cette zone comme un ensemble de segments libres maximaux, elle e correspond en fait a lexpression, dans la sc`ne, de la face associe aux deux artes de polygones ` e e e considres. On peut voir sur la droite de la gure 3.6 la reprsentation de la face associe aux ee e e artes de polygones [A1 A2 ] et [B1 B2 ], obtenue dans lespace dual (a, b). Cette face est semie e e innie. Les artes DA1 et DA2 (qui sont des portions de droites en dualit (a, b)) associes e e respectivement aux points extrmits A1 et A2 sont parall`les. Elles ne sintersectent donc pas. e e

80

Expressions du facteur de forme 2D dans un espace dual

En eet, larte de polygone [A1 A2 ] est verticale dans le rep`re de la sc`ne et il nexiste pas de e e e point dans lespace dual (a, b) permettant de reprsenter une droite verticale. e
Sc`ne e
zone de visibilit entre e

Espace dual [A1 A2 ] et [B1 B2 ] y DB2

b
2 1 0

B1 A3 A1 C1 A2

B2

DC1 DA2

-1

x
direction verticale

-2 -3 -4 -3 -2 -1 0 1 2

DA1

tel-00004958, version 1 - 20 Feb 2004

DA3

DB1

face associe ` [A1 A2 ] et [B1 B2 ] e a

Fig. 3.6 - Exemple de sc`ne induisant une face semi-innie dans lespace dual (a, b). e

Les faces spares en deux e e Ce sont des faces divises en deux parties. Chaque partie est constitue dune liste suprieure e e e et dune liste infrieure dartes relies dun ct par un sommet commun et se terminant de e e e oe lautre ct par deux artes innies. Pour retrouver la face totale, il faut reconnecter les deux oe e parties. La liste suprieure dartes (respectivement la liste infrieure dartes) de lune des e e e e e e parties de la face se connecte avec la liste infrieure (respectivement la liste suprieure) de lautre partie de la face. On obtient une face de ce type dans le cas o` les deux conditions suivantes sont satisfaites : u une partie des segments libres maximaux qui appartiennent a la face considre sont ver` ee ticaux dans le rep`re de la sc`ne. e e les droites supports des deux artes de polygones associes ` la face considre ne font pas e e a ee partie des segments libres maximaux verticaux appartenant ` la face. a La gure 3.7 montre un exemple de sc`ne o` les deux conditions prcdentes sont vries. Sur e u e e e e la droite de la gure 3.7, on peut voir la reprsentation, dans lespace dual (a, b), de la face e associe aux artes de polygones [A1 A2 ] et [B1 B2 ]. e e

3.3 Probl`mes dus ` la direction verticale en dualit (a, b) e a e


Sc`ne e
zone de visibilit entre e

81

Espace dual

[A1 A2 ] et [B1 B2 ] y B1 B2
4 2 0

DA2

DB2

DA1 DB1

A1

A2

DB1

-2 -4

direction verticale

-6 -8 -4 -3 -2 -1 0 1 2 3 4

DB2

tel-00004958, version 1 - 20 Feb 2004

face associe ` [A1 A2 ] et [B1 B2 ] e a

Fig. 3.7 - Exemple de sc`ne induisant une face spare en deux dans lespace dual (a, b). e e e

3.3.2

Dgnrescence et choix du rep`re e e e e

La reprsentation dans lespace dual (a, b) dune face donne associe ` deux artes de poe e e a e lygones peut avoir une forme dgnre ou non, suivant le rep`re choisi pour la sc`ne. En eet, e e ee e e la forme obtenue, dans lespace dual (a, b), pour une face donne va dpendre des quations e e e des artes qui dlimitent la face, et ces quations dpendent directement des coordonnes des e e e e e sommets de polygones de la sc`ne qui interviennent dans la face. e Considrons lexemple de la gure 3.8. Si les coordonnes au niveau de la sc`ne sont exprimes e e e e dans le rep`re (O, x, y), on constate quune partie des segments libres maximaux de la face ase e socie aux artes de polygones [A1 A2 ] et [C1 C2 ] sont verticaux. Dans ce cas, la reprsentation e e e e e de cette face obtenue dans lespace dual (a, b) est de forme spare en deux (cf. schma de gauche sur la gure 3.9). e Si les coordonnes sont exprimes dans le rep`re (O, y, x ), la reprsentation dans lespace e e e dual (a, b) de la face associe aux artes de polygones [A1 A2 ] et [C1 C2 ] est de forme standard : elle e e est constitue dune liste suprieure dartes et dune liste infrieure dartes relies de chaque e e e e e e ct par un sommet commun (un sommet qui commence la face et un sommet qui la termine). oe Le schma de droite sur la gure 3.9 illustre la reprsentation de cette face dans lespace dual e e (a, b).

82

Expressions du facteur de forme 2D dans un espace dual

C1 A1 x C2 x M A2

tel-00004958, version 1 - 20 Feb 2004

Fig. 3.8 - Exemple de sc`ne avec deux artes de polygones [A1 A2 ] et [C1 C2 ]. e e

b
6 4 2 0 -2 -4

DC2

DA2 DM DC1

b
4 3 2

DM

DA2

DC1 DC2

DA1

1 0 -1 -2 -4 -2 0 2 4

DA1

DC1 -6 DA2
-8 -6 -4 -2 0 2 4 6 8

Rep`re choisi de la sc`ne : (O, x, y) e e

Rep`re choisi de la sc`ne : (O, y, x ) e e

Fig. 3.9 - Face dans lespace dual (a, b) avec (O, x, y) ou (O, y, x ) comme rep`re de la sc`ne. e e

3.3 Probl`mes dus ` la direction verticale en dualit (a, b) e a e

83

3.3.3

Comment traiter les probl`mes dus ` la verticale? e a

Si la direction verticale appara pour une face donne du complexe, la reprsentation de t e e cette face dans lespace dual (a, b) aura une forme dgnre. Il est donc ncessaire de tenir e e ee e compte de ce probl`me si on souhaite utiliser la reprsentation du complexe de visibilit dans e e e lespace dual (a, b) pour faire des calculs, comme les calculs de facteurs de forme par exemple. Deux solutions sont envisageables : soit traiter les faces dgnres ` part en ralisant des calculs e e ee a e spciques dans le cas de ces faces, soit faire abstraction du type de dualit en ralisant des e e e calculs qui utilisent uniquement des informations topologiques des faces. Traitement spcique pour les faces dgnres e e e e e Considrons par exemple le cas de deux artes de polygones dont la face associe dans lespace e e e dual (a, b) est de forme semi-innie (cf. gure 3.10). Si on souhaite calculer le facteur de forme entre ces deux artes de polygones en utilisant la formulation sous forme de somme pondre de e ee valeurs fonctions des sommets dune face (cf. paragraphe 3.2.2), il faut considrer lors du calcul e le sommet manquant au niveau de la face semi-innie (cf. gure 3.10). Ce sommet nappara t e pas car les deux artes semi-innies (DA1 et DA2 dans le cas de la gure 3.10) sont associes e aux extrmits dune arte de polygone verticale dans la sc`ne. e e e e
Sc`ne e
zone de visibilit entre e

tel-00004958, version 1 - 20 Feb 2004

Espace dual

[A1 A2 ] et B1 B2 ] y B1 A3 A1 C1 A2 x B2

b 2 1 0 -1 -2 -3

DB2

DC1 DA2

DA1 sommet manquant -3 -2 -1 0 1 2 a DA3 DB1

direction verticale

-4

face associe a [A1 A2 ] et [B1 B2 ] e `

Fig. 3.10 - Exemple de sc`ne induisant une face semi-innie dans lespace dual (a, b). e

84

Expressions du facteur de forme 2D dans un espace dual

Faire abstraction du type de dualit e Une solution pour pallier le probl`me de la verticale en dualit (a, b) consiste ` faire abstrace e a tion du type de dualit, en considrant les faces sous leur forme purement topologique. e e En tenant compte uniquement de la position relative des direntes artes de polygones de e e la sc`ne par rapport aux autres (sans tenir compte des coordonnes relles des objets exprimes e e e e dans le rep`re de la sc`ne) et en considrant les segments libres maximaux reliant deux artes e e e e de polygones [A1 A2 ] et [C1 C2 ] donnes, on peut en dduire la forme de la face associe, dans e e e lespace dual, a ces deux artes de polygones (cf. gure 3.11). ` e
y Face de la forme :
(au niveau du complexe de visibilit) e

C1 A1 C2 x DC2 DA2

tel-00004958, version 1 - 20 Feb 2004

M DA1 A2

DC 1

Fig. 3.11 - Forme topologique de la face associe aux artes de polygones [A1 A2 ] et [C1 C2 ]. e e Cette forme de face est purement topologique : elle dcrit seulement les relations dincidence e entre les artes associes, dans lespace dual, aux direntes extrmits des artes de polygones e e e e e e de la sc`ne. La reprsentation topologique dune face est de plus compltement indpendante du e e e e e e rep`re choisi pour la sc`ne. En eet, si on reconnecte les deux parties de la face spare en e e e e deux sur le schma de gauche de la gure 3.9, on retrouve bien les mmes relations dincidence entre artes (et donc la mme topologie) que dans le cas de la face sur le schma de droite de la e e e gure 3.9. En considrant les faces sous leur forme purement topologique, on saranchit donc du rep`re e e choisi pour la sc`ne. On saranchit aussi du type de dualit choisi, puisque la forme topologique e e ne tient pas compte des quations des artes ni des coordonnes des sommets de la face dans e e e lespace dual. Et on vite aussi par la mme occasion les probl`mes dus ` la direction verticale, e e e a dans le cas de la dualit (a, b). Il nest plus ncessaire de faire un traitement spcique. Il sut de e e e raliser des calculs qui utilisent uniquement des informations topologiques. Reprenons lexemple e ee de la gure 3.10 o` la face associe aux deux artes de polygones [A1 A2 ] et [B1 B2 ] considres u e e est de forme semi-innie dans lespace dual (a, b). On peut calculer le facteur de forme entre ` e e les deux artes de polygones [A1 A2 ] et [B1 B2 ] a partir de leur face associe dnie sous sa forme e topologique (cf. gure 3.12), en utilisant linterprtation du facteur de forme dcrite dans le e e paragraphe 3.2.2. Cette interprtation consiste ` dduire la valeur du facteur de forme en se e a e servant des sommets de la face du complexe associe aux deux artes de polygones considres. e e ee Plus prcisment, il sagit de considrer, pour chaque sommet de la face, les points associs ` ses e e e e a deux artes incidentes appartenant ` la face et de calculer la distance entre ces deux points dans e a

3.3 Probl`mes dus ` la direction verticale en dualit (a, b) e a e

85

la sc`ne. Les informations ncessaires (cest ` dire les points associs aux deux artes incidentes e e a e e a ` chaque sommet) peuvent tre obtenues ` partir de la face dcrite sous sa forme topologique. e a e
zone de visibilit entre [A1 A2 ] et [B1 B2 ] e

y B1 A3 A1 C1 A2
direction verticale

Face de la forme :
(au niveau du complexe de visibilit) e

B2

DC 1 x DB2

DA2 DA1

tel-00004958, version 1 - 20 Feb 2004

Fig. 3.12 - Forme topologique de la face associe aux artes de polygones [A1 A2 ] et [B1 B2 ]. e e

tel-00004958, version 1 - 20 Feb 2004

87

Chapitre 4

Maillage de discontinuit e
Pour appliquer la mthode de radiosit ` une sc`ne 2D, le contour de chaque objet doit e e a e tre subdivis en petits lments (ou chantillons). La valeur de radiosit calcule pour un e e ee e e e lment donn est suppose constante sur cet lment, dans la mthode de radiosit standard. ee e e ee e e La prcision et la qualit de la solution de radiosit obtenue dpendent donc de la taille et du e e e e choix de la discrtisation (ou maillage) de lenvironnement. e Les changements de visibilit survenant dans une sc`ne produisent des discontinuits de e e e lclairage qui correspondent ` des limites de zones dombre ou de pnombre. Il est tr`s important e a e e de prendre en compte ces discontinuits lors du calcul des chantillons, si on souhaite avoir le e e meilleur rendu possible pour une sc`ne donne. Cependant, le calcul dun maillage en fonction e e des discontinuits ncessite traditionnellement de nombreux calculs gomtriques, rendant cette e e e e technique dicile ` utiliser. a Nous allons voir que le complexe de visibilit est tr`s appropri dans ce cas, dans la mesure e e e o` il permet de faciliter le calcul du maillage de discontinuit. u e

tel-00004958, version 1 - 20 Feb 2004

4.1

Dirents types de discontinuit et correspondance dans e e lespace dual

Les direntes discontinuits de la fonction de radiosit pour une sc`ne donne sont associes e e e e e e aux limites de visibilit. Ces limites de visibilit sont dnies par les bitangentes communes aux e e e objets dans le cas dune sc`ne constitue dobjets convexes, et par des droites passant par les e e dirents sommets des polygones intervisibles dans le cas dune sc`ne polygonale. Considrons e e e par exemple la gure 4.1 constitue de quatre objets convexes. Les objets Om et On obstruent e e partiellement la visibilit entre les objets Oi et Oj et vont donc causer des discontinuits au e e a niveau de ces deux objets. La bitangente D2 dans la sc`ne correspond ` la limite de lombre porte par lobjet Om sur lobjet Oj . Le point dintersection de cette bitangente avec lobjet Oj e constitue un point de discontinuit au niveau de Oj . En fait, les discontinuits sont causes par e e e les objets associs aux artes dlimitant la face correspondante (face associe aux objets Oi et e e e e Oj dans lexemple de la gure 4.1). Dapr`s la dnition du complexe de visibilit (cf. paragraphe 1.6.2), les bitangentes (dans le cas e e e dune sc`ne constitue dobjets convexes) et les droites passant par des sommets de polygones e e intervisibles (dans le cas dune sc`ne polygonale) correspondent aux sommets des direntes faces e e du complexe de visibilit associ ` la sc`ne. Les sommets du complexe de visibilit permettent e ea e e ainsi de dterminer lensemble des points de discontinuit pour une sc`ne donne. Les sommets e e e e

88

Maillage de discontinuit e

du complexe correspondent en fait dans la sc`ne, aux lignes critiques qui induisent les points de e discontinuit. e

4.1.1

Cas des objets convexes

Considrons une sc`ne constitue dobjets convexes, et le complexe de visibilit associ ` e e e e e a cette sc`ne. Soit f une face de ce complexe de visibilit, et soit v un sommet donn de cette face. e e e e e La face f est associe ` deux objets convexes Oi et Oj donns de la sc`ne. Trois cas de gure e a peuvent se produire pour le sommet v (cf. gure 4.1) : Cas 1 Le sommet v correspond, dans la sc`ne, ` une bitangente commune aux objets Oi et Oj . e a Dans lespace dual, une des deux artes incidentes au sommet v sur la face f est donc e ` associe ` lobjet Oi , et lautre a lobjet Oj . (Sommets sur la gure 4.1). e a Cas 2 Le sommet v correspond, dans la sc`ne, ` une bitangente commune a un objet qui e a ` interf`re et ` un objet auquel la face est associe (donc Oi ou Oj ). Dans lespace dual, e a e une des deux artes incidentes au sommet v sur la face f est donc associe ` un objet qui e e a interf`re, et lautre ` lobjet Oi ou Oj . (Sommets sur la gure 4.1). e a

tel-00004958, version 1 - 20 Feb 2004

e ` ` Cas 3 Le sommet v correspond, dans la sc`ne, a une bitangente commune a deux objets qui interf`rent. Dans lespace dual, les deux artes incidentes au sommet v sur la face f sont e e donc associes ` deux objets qui interf`rent. (Sommet 2 sur la gure 4.1). e a e
Sc`ne e Espace dual

Om Om
D2 D3

On
D3

O i On
D1

D2

Oj

Oi
D1

Oj

Oj

Oi

Sommet cas 1 Sommet cas 2 Sommet cas 3

Fig. 4.1 - Deux objets Oi et Oj et leur face associe au niveau du complexe de visibilit. e e Chaque cas de gure permet de dterminer deux points de discontinuit : un au niveau de e e e lobjet Oi et lautre au niveau de lobjet Oj . Soit D la droite correspondant dans la sc`ne au sommet v. Les points de discontinuit obtenus ` partir du sommet v correspondent, dans la e a sc`ne, aux premi`res intersections de la droite D avec les objets Oi et Oj . e e Les dirents sommets dune face associe ` deux objets convexes donns permettent donc e e a e de dterminer dirents points de discontinuit au niveau de ces deux objets convexes. En e e e

4.1 Dirents types de discontinuit et correspondance dans lespace dual e e

89

considrant lensemble des sommets des faces du complexe de visibilit, on obtient lensemble e e des points de discontinuit pour une sc`ne donne. e e e

4.1.2

Cas des polygones

Considrons maintenant une sc`ne constitue de polygones, et le complexe de visibilit associ e e e e e a ` cette sc`ne. Soit f une face de ce complexe de visibilit, et soit v un sommet donn de cette e e e e e face. La face f est associe ` deux artes de polygones Ci et Cj donnes de la sc`ne. On distingue e a e ici quatre cas de gure pour le sommet v, les trois premiers tant similaires ` ceux dans le cas e a des objets convexes (cf. exemples (a) et (b) sur la gure 4.2) : e e e a Cas 1 Le sommet v a pour artes incidentes sur la face f , deux artes dont une est associe ` ` e e e une des extrmits de larte de polygone Ci , et lautre a une des extrmits de larte de e e e polygone Cj . (Sommets dans les exemples (a) et (b) de la gure 4.2). Cas 2 Le sommet v a pour artes incidentes sur la face f , deux artes dont une est associe ` e e e a ` e une des extrmits des artes Ci ou Cj , et lautre a un sommet de polygone qui interf`re e e e entre Ci et Cj . (Sommets dans lexemple (a) de la gure 4.2). e e e a Cas 3 Le sommet v a pour artes incidentes sur la face f , deux artes associes ` des sommets de polygones qui interf`rent entre Ci et Cj . (Sommet 2 dans lexemple (a) de la gure 4.2). e e e e a Cas 4 Le sommet v a pour artes incidentes sur la face f , deux artes associes chacune ` une des deux extrmits de larte de polygone Ci (respectivement Cj ). (Sommet 3 dans e e e lexemple (b) de la gure 4.2).
Espace dual

tel-00004958, version 1 - 20 Feb 2004

Sc`ne e

(a)
i1 a1

j1 b1 Cj j2 i2 i 1

a 1

b 1
j1

Ci

j2

i 2
j1

(b)
i1
j2

i 2

Ci

j1 Cj

i2 j2

Sommet Sommet Sommet Sommet

cas cas cas cas

1 2 3 4

Fig. 4.2 - Deux artes de polygones Ci et Cj et leur face associe au niveau du complexe de e e visibilit. e

90

Maillage de discontinuit e

Le premier cas de gure rend simplement compte du fait quil y a des discontinuits au e niveau des extrmits des artes des polygones. e e e Le deuxi`me cas de gure permet de dterminer un point de discontinuit, soit au niveau de e e e larte de polygone Ci , soit au niveau de larte Cj . Si une des deux artes incidentes au sommet e e e v est associe ` une des extrmits de Ci (respectivement Cj ), alors le sommet v permet de e a e e dterminer un point de discontinuit au niveau de larte Cj (respectivement Ci ). e e e Le troisi`me cas de gure permet de dterminer deux points de discontinuit : un au niveau e e e e de larte de polygone Ci et lautre au niveau de larte de polygone Cj . e Le quatri`me cas de gure permet de dterminer un point de discontinuit sur larte de e e e e e e polygone Ci (respectivement Cj ) si les deux artes incidentes au sommet v sont associes aux extrmits de larte de polygone Cj (respectivement Ci ). e e e Les sommets dune face associe ` deux artes de polygones donnes, qui vrient le deuxi`me, e a e e e e le troisi`me ou le quatri`me cas de gure permettent donc de dterminer dirents points de e e e e discontinuit sur ces deux artes de polygones. Les dirents points de discontinuit sur les e e e e ` e artes de polygones Ci ou Cj , obtenus a partir dun sommet v donn de la face f du complexe, e correspondent ` des points dintersection de la droite D avec les artes de polygones Ci ou Cj , a e la droite D tant la droite correspondant dans la sc`ne au sommet v. En considrant pour lene e e semble des faces du complexe de visibilit, les sommets vriant les cas de gure 2, 3 et 4, on e e obtient lensemble des points de discontinuit pour une sc`ne donne. Il est inutile de considrer e e e e les sommets vriant le cas de gure 1. En eet, les points de discontinuit calculs ` partir de e e e a ces sommets correspondent aux extrmits des artes de polygones, qui sont bien videmment e e e e connues.

tel-00004958, version 1 - 20 Feb 2004

4.2

Dtermination des points de discontinuit au moyen du come e plexe

Nous avons vu dans le paragraphe 4.1 que les discontinuits peuvent tre obtenues ` partir e e a des sommets des faces du complexe. Voyons maintenant dans le dtail comment calculer ces e points de discontinuit. e Nous distinguons deux approches possibles : la premi`re consiste a utiliser des informations e ` issues du complexe de visibilit, et ` eectuer ensuite le calcul dans lespace de la sc`ne ; la e a e seconde consiste ` eectuer les calculs directement dans lespace dual. a

4.2.1

Utilisation dinformations issues du complexe et calcul dans lespace de la sc`ne e

On peut procder de deux faons direntes pour utiliser des informations issues du come c e plexe : soit utiliser des informations gomtriques lies ` lespace dual dans lequel le complexe e e e a est reprsent, soit utiliser uniquement des informations purement topologiques en ne prenant e e en compte que les relations dincidence au niveau des faces et en ne tenant pas compte des coordonnes des sommets ni des quations des artes du complexe. e e e

4.2 Dtermination des points de discontinuit au moyen du complexe e e Calcul au moyen dinformations gomtriques du complexe lies a lespace dual e e e `

91

Les points de discontinuit peuvent tre dtermins en utilisant des informations dpendant e e e e e de lespace dual qui est utilis pour reprsenter le complexe de visibilit. e e e Cas des objets convexes dans lespace dual (, u) Soit une face f du complexe de visibilit associ ` une sc`ne donne constitue dobjets e e a e e e convexes (cf. exemple (a) de la gure 4.3). La face f est associe ` deux objets convexes Oi et e a Oj . Soit un sommet v de la face f de coordonnes (v , uv ) dans lespace dual (, u). Ce sommet e correspond dans la sc`ne ` une droite D dquation : y cos v x sin v uv = 0. Pour calculer e a e les points de discontinuit induits par ce sommet pour les objets convexes Oi et Oj , il sut de e calculer dans la sc`ne les premi`res intersections de la droite D avec ces deux objets. e e e e Application : Soit M (xM , yM ) le point de discontinuit recherch sur lobjet Oi . Dans le cas dun e e e cercle Oi de centre (xi , yi ) et de rayon ri , il sagit de rsoudre le syst`me dquations :
2 (xM xi )2 + (yM yi )2 = ri yM cos v xM sin v uv = 0

tel-00004958, version 1 - 20 Feb 2004

Apr`s rsolution, on obtient : e e xM = xi cos2 v uv sin v + yi cos v sin v A cos v yM = xi sin v cos v + uv cos v + yi sin2 v A sin v avec : A =
2 ri (yi cos v xi sin v uv )2 .

Cas des polygones dans lespace dual (a, b) Soit une face f du complexe de visibilit associ ` une sc`ne polygonale donne (cf. exemple e ea e e (b) de la gure 4.3). La face f est associe ` deux artes de polygones Ci et Cj . Soit un sommet e a e v de la face f de coordonnes (av , bv ) dans lespace dual (a, b). Ce sommet correspond dans la e e sc`ne ` une droite D dquation : y = av x bv . Pour calculer les points de discontinuit induits, e a e selon le cas, au niveau des artes de polygones Ci et/ou Cj , (cf. paragraphe 4.1.2 pour les dife frents cas), il sut de calculer dans la sc`ne les intersections de la droite D avec les artes de e e e polygones Ci et/ou Cj . Application : Supposons que le point M (xM , yM ) soit un point de discontinuit induit par le e e e sommet v sur larte de polygone Ci . Soient i1 (xi1 , yi1 ) et i2 (xi2 , yi2 ), les sommets extrmits e e de Ci dans la sc`ne. Pour trouver le point M , il sagit de calculer le point dintersection dans la sc`ne de la droite D et de la droite Di1 i2 passant par les points i1 et i2 . Si la droite Di1 i2 e yi yi1 nest pas verticale, elle a pour quation dans la sc`ne : y = Ax + B avec A = 2 e e et xi2 xi1 xi yi xi1 yi2 . Il sagit donc, dans ce cas, de rsoudre le syst`me dquations : e e e B= 2 1 xi2 xi1 yM = av xM bv yM = AxM + B

92 avec A = yi2 yi1 xi yi xi1 yi2 et B = 2 1 . xi2 xi1 xi2 xi1


B + bv xM = A av y = av B + bv A M

Maillage de discontinuit e

On obtient apr`s rsolution : e e

A av

Si la droite Di1 i2 est verticale, elle a pour quation : x = xi1 = xi2 , et on obtient alors : e xM = xi1 = xi2 yM = av xi1 bv
Sc`ne : rep`re (O, x, y) e e (a)
Droite Sommet

Espace dual (, u)

tel-00004958, version 1 - 20 Feb 2004

Ok Oi

D
Oj

Ok Oi

v(v , uv )
Oj Oi

Oj

D : y cos v x sin v uv = 0 Sc`ne : rep`re (O, x, y) e e (b)


M2 j1

Espace dual (a, b)

Droite Sommet M1 i 1

M1

v(av , bv )
M2 j1

i1

Cj
j2
j2

M
Ci
i2

i 2

D : y = av x bv

Fig. 4.3 - Exemple de face f du complexe de visibilit associe ` deux objets. e e a

Calcul au moyen dinformations purement topologiques du complexe Il est possible de dterminer les points de discontinuit indpendamment de la dualit choisie e e e e pour reprsenter le complexe de visibilit. Il sut de ne pas considrer de coordonnes de points e e e e dans lespace dual et dutiliser uniquement des informations topologiques comme les relations dincidence entre les sommets et artes dune face du complexe (les relations dincidence tant e e bien indpendantes de la dualit choisie, cf. paragraphe A.2 de lannexe A). e e

4.2 Dtermination des points de discontinuit au moyen du complexe e e

93

Considrons le cas dune sc`ne polygonale. Pour un sommet v donn dune face f du complexe e e e de visibilit associ ` la sc`ne, on ne consid`re plus ses coordonnes mais uniquement les points e ea e e e associs ` ses deux artes incidentes appartenant ` la face f . Soient M1 et M2 ces deux points. e a e a Par dnition, le sommet v correspond dans la sc`ne ` la droite DM1 M2 passant par les points M1 e e a et M2 associs ` ses deux artes incidentes sur la face f considre (cf. gure 4.4). Supposons e a e ee e e que le point M (xM , yM ) soit un point de discontinuit induit par le sommet v sur larte de e e e polygone Ci . Soient i1 et i2 les sommets extrmits de Ci dans la sc`ne. Pour trouver le point M , il sagit donc de calculer le point dintersection dans la sc`ne de la droite DM1 M2 et de la e e droite Di1 i2 passant par les points i1 et i2 . Lquation de la droite DM1 M2 (respectivement Di1 i2 ) est dnie ` partir des coordonnes dans la sc`ne des points M1 , M2 (respectivement i1 , i2 ). e a e e
Sc`ne e Espace dual

Droite Sommet j1 i1 M1 M2 Cj
j2

M1

M2

i 1

v
j1

tel-00004958, version 1 - 20 Feb 2004

M
Ci i2 j2

i 2

artes incidentes ` v e a

Fig. 4.4 - Deux artes de polygones Ci et Cj et leur face du complexe de visibilit associe. e e e

4.2.2

Calcul directement dans lespace dual

Dans le cas des sc`nes polygonales, il est possible de dterminer les points de discontinuit e e e directement dans lespace dual. Considrons une sc`ne polygonale donne et le complexe de visibilit associ reprsent dans e e e e e e e lespace dual (a, b). Soit un sommet v dune face f du complexe. La face f est associe ` deux e a artes de polygones Ci et Cj (cf. exemple sur la gure 4.5). Supposons que le point M de coore e e e donnes (xM , yM ) dans la sc`ne soit un point de discontinuit induit par le sommet v sur larte e e de polygone Ci . Soit DM la droite dans lespace dual (a, b) reprsentant lensemble des droites passant par le point M dans la sc`ne. La droite DM passe par le sommet v dans lespace dual, e sachant que la droite associe ` v dans la sc`ne intersecte larte de polygone Ci en M . Le point e a e e M appartient a larte de polygone Ci , donc la droite DM passe par le point dintersection I ` e des droites associes aux deux extrmits de Ci dans lespace dual (cf. gure 4.5). e e e e e La droite DM dans lespace dual a pour quation : b = xM a yM , xM et yM tant les incone nues ` dterminer. Soient (aI , bI ) les coordonnes de I dans lespace dual, et soient (av , bv ) les a e e coordonnes du sommet v de la face f . Pour dterminer xM et yM , il sut donc de rsoudre le e e syst`me : e bI = xM aI yM , bv = xM av yM sachant que : I DM et v DM .

94 On obtient apr`s rsolution : e e xM = bv bI av aI et yM =

Maillage de discontinuit e

aI bv bI av . av aI

e e Remarque : Les droites associes dans lespace dual (a, b) aux points de discontinuit sur une arte de polygone donne sont comprises entre les deux droites associes dans lespace dual (a, b) e e e aux extrmits de cette arte de polygone et elles passent toutes par lintersection I de ces deux e e e droites. En eet, ce point dintersection I dans lespace dual (a, b) correspond a la droite qui ` passe par larte de polygone dans la sc`ne. e e
Sc`ne : rep`re (O, x, y) e e Espace dual (a, b) v(av , bv )
j2

i1

j1

Ci M (xM , yM )

Cj

j1

Cj

DM : b = xM a yM

I(aI , bI )

tel-00004958, version 1 - 20 Feb 2004

i2

j2

i 2

Ci
i 1

Fig. 4.5 - Exemple de face associe ` deux artes de polygones Ci et Cj . e a e

Probl`mes dus a la direction verticale en dualit (a, b) e ` e Le calcul prsent prcdemment, permettant de calculer la discontinuit induite sur une e e e e e e e arte de polygone Ci par un sommet v du complexe, est dni en fonction des coordonnes dans e lespace dual (a, b) du sommet v et du sommet I (I tant lintersection des droites associes aux e e deux extrmits de Ci dans lespace dual). Ce calcul est donc valable seulement si les sommets e e v et I sont eectivement reprsents dans lespace dual (a, b). La dualit (a, b) ne permet pas e e e de reprsenter les droites verticales dans lespace dual (a, b) (cf. paragraphe 3.3). Les sommets e v et I ne seront donc pas reprsents dans lespace dual (a, b) sils correspondent a des droites e e ` verticales dans le rep`re de la sc`ne. e e On distingue donc deux cas : le cas o` le sommet I nest pas reprsent dans lespace dual u e e (a, b), et le cas o` le sommet v nest pas reprsent dans lespace dual (a, b). u e e e Le premier cas se produit lorsque larte de polygone Ci , sur laquelle on veut dterminer une e discontinuit, est verticale. Dans ce cas l`, les droites associes aux deux extrmits de Ci dans e a e e e lespace dual sont parall`les et ne sintersectent donc pas. e Le deuxi`me cas se produit lorsque la droite correspondant dans la sc`ne au sommet v est e e verticale, cest ` dire lorsque la droite passant dans la sc`ne par les deux points associs aux a e e deux artes de la face f qui sont incidentes au sommet v est verticale. e Cas o` le sommet I nest pas reprsent dans lespace dual (a, b): u e e Considrons par exemple le cas de la gure 4.6. On souhaite calculer le point de discone e tinuit M induit sur larte de polygone Ci par le sommet v. Larte de polygone Ci est e e

4.2 Dtermination des points de discontinuit au moyen du complexe e e

95

verticale. Les droites associes dans lespace dual (a, b) aux deux extrmits de Ci sont e e e parall`les (cf. droites DA1 et DA2 sur la gure 4.6) et le point I correspondant ` leur e a e intersection nexiste donc pas. Soit DM la droite associe au point M dans lespace dual (a, b). Cette droite, par dnition, reprsente lensemble des droites passant par le point e e M dans la sc`ne. Le point M appartient a larte de polygone Ci , donc la droite DM est e ` e cense passer par le point dintersection I des droites associes aux deux extrmits de Ci e e e e dans lespace dual (soient les droites DA1 et DA2 dans le cas de la gure 4.6). Or le point I nexiste pas : les droites DA1 et DA2 ne sintersectent pas. La droite DM correspond donc a ` une droite passant entre les droites DA1 et DA2 sans les intersecter. On sait dautre part e a que la droite DM passe par le sommet v dans lespace dual, puisque la droite associe ` v dans la sc`ne intersecte Ci en M . e Si le sommet I nest pas reprsent, la droite DM dans lespace dual (a, b) est donc dnie e e e comme la droite qui est parall`le aux droites associes aux extrmits de larte de polygone e e e e e Ci et qui passe par le sommet v. Soient (xM , yM ), (xA1 , yA1 ), (xA2 , yA2 ) les coordonnes respectives des points M , A1 et A2 e dans le rep`re de la sc`ne. Soient (av , bv ) les coordonnes du sommet v dans lespace dual e e e e (a, b). La droite DM dans lespace dual (a, b) a pour quation : b = xM a yM , xM et yM tant les inconnues ` dterminer. De mme, les droites DA1 et DA2 ont pour quations e a e e e e a respectives : b = xA1 a yA1 et b = xA2 a yA2 . Sachant que DM est parall`le ` DA1 et ` DA2 , et que le sommet v appartient a DM , on a donc : xM = xA1 = xA2 bv = xM av yM = yM = xA1 av bv
Sc`ne e y b
5 4 3

tel-00004958, version 1 - 20 Feb 2004

Espace dual (a, b) DB1 DB2

DC2 face associe a [A1 A2 ] et [B1 B2 ] e ` DA2 v(av , bv ) DM DA1


2 3

A1 Ci A2 B2 C2 M (xM , yM ) Cj

B1

2 1 0 -1

-2 -3

-3

-2

DB2

-1

DB1 0

Fig. 4.6 - Exemple de cas o` le sommet I nexiste pas dans lespace dual (a, b). u Cas o` le sommet v nest pas reprsent dans lespace dual (a, b): u e e Considrons par exemple le cas de la gure 4.7. On souhaite calculer le point de discone e tinuit M induit sur larte de polygone Ci par le sommet v. Ce sommet v a pour artes e e incidentes sur la face du complexe considre, deux artes associes respectivement aux ee e e e points B1 et C2 de la sc`ne (cf. forme topologique de la face sur la gure 4.7). La droite

96

Maillage de discontinuit e (B1 C2 ) correspondant au sommet v dans la sc`ne est verticale. Le sommet v nest donc pas e reprsent dans lespace dual (a, b). Les droites DB1 et DC2 associes respectivement aux e e e e points B1 et C2 dans lespace dual (a, b) sont parall`les et ne sintersectent donc pas. Soit DM la droite associe au point M dans lespace dual (a, b). Cette droite, par dnition, e e reprsente lensemble des droites passant par le point M dans la sc`ne. La droite DM est e e cense passer par le sommet v dans lespace dual, puisque la droite associe ` v dans la e e a sc`ne (droite (B1 C2 ) dans le cas de la gure 4.7) intersecte Ci en M . Cependant le sommet e v nexiste pas : les droites DB1 et DC2 ne sintersectent pas puisquelles sont parall`les. La e a e droite DM correspond donc ` une droite parall`le aux droites DB1 et DC2 . Dautre part, le point M appartient a larte de polygone Ci , donc la droite DM passe par le point ` e dintersection I des droites associes aux deux extrmits de Ci dans lespace dual (soient e e e les droites DA1 et DA2 dans le cas de la gure 4.7). Si le sommet v induisant la discontinuit nest pas reprsent, il est ncessaire de considrer e e e e e la forme topologique de la face du complexe considre, an de conna les deux artes e e tre e de cette face qui sont incidentes au sommet v. On consid`re ensuite les deux points associs e e a ` ces deux artes incidentes (points B1 et C2 dans le cas de la gure 4.7). La droite DM e dans lespace dual (a, b) est alors dnie comme la droite qui est parall`le aux droites e e associes aux deux points associs aux deux artes incidentes a v, et qui passe par le point e e e ` dintersection I des droites associes aux deux extrmits de Ci dans lespace dual. e e e Soient (xM , yM ), (xB1 , yB1 ) et (xC2 , yC2 ) les coordonnes respectives des points M , B1 et e e e e e e C2 dans le rep`re de la sc`ne, B1 et C2 tant les points associs aux artes incidentes a ` v au niveau de la face considre prise sous sa forme topologique. Soient (aI , bI ) les ee coordonnes du point dintersection I dans lespace dual. La droite DM dans lespace dual e e a e e a pour quation : b = xM a yM , xM et yM tant les inconnues ` dterminer. De mme, e e les droites DB1 et DC2 ont pour quations respectives : b = xB1 a yB1 et b = xC2 a yC2 . e a ` Sachant que DM est parall`le ` DB1 et DC2 , et que le point I appartient a DM , on a donc : xM = xB1 = xC2 bI = xM aI yM = yM = xB1 aI bI

tel-00004958, version 1 - 20 Feb 2004

4.3

Implmentation du calcul du maillage de discontinuit e e

Deux implmentations direntes ont t ralises : une premi`re pour les sc`nes constitues e e ee e e e e e dobjets convexes et une deuxi`me pour les sc`nes polygonales. e e

4.3.1

Cas des objets convexes

Limplmentation du calcul du maillage de discontinuit pour les objets convexes utilise une e e implmentation du complexe de visibilit pour les objets convexes ralise par Rivi`re (cf. [Riv93] e e e e e pour les dtails dimplmentation). Cette implmentation du complexe est base sur le bae e e e layage par une droite verticale propos par Pocchiola et Vegter [PV93a]. Ce balayage permet de e construire le complexe pour des objets convexes en temps O(m log n), avec n le nombre dobjets convexes dans la sc`ne et m le nombre de sommets du complexe (cf. paragraphe 1.6.4 pour les e direntes mthodes de construction du complexe de visibilit). e e e

4.3 Implmentation du calcul du maillage de discontinuit e e


Sc`ne e Espace dual DA2 y 4 2 Ci M (xM , yM ) C2 B1 Cj B2 x 0 A2 DC2 -2 I(aI , bI ) -4 -3 DB2 -2 DA2 -1 0 1 2

97

DB2

A1

DB1 DC2 DM DA1 3

Face de forme topologique quivalente ` : e a


DA2 DB2

tel-00004958, version 1 - 20 Feb 2004

DB1

DA1

sommet manquant

DC2

Fig. 4.7 - Exemple de cas o` le sommet v nexiste pas dans lespace dual (a, b). u Une fois que le complexe de visibilit associ a une sc`ne donne est construit, le calcul du e e` e e maillage de discontinuit est ralis en considrant tous les sommets du complexe de visibilit. Le e e e e e calcul est donc eectu en temps O(m). La gure 4.8 montre lalgorithme que nous utilisons pour e calculer les discontinuits au niveau des objets convexes dune sc`ne, en utilisant le complexe de e e visibilit. e Dtails dimplmentation e e Dans limplmentation utilise pour la construction du complexe de visibilit sont stockes, en e e e e plus de la structure des faces et des relations dincidence entre les direntes artes et sommets du e e complexe, les coordonnes dans lespace dual (, u) de chaque sommet v du complexe. Les points e de discontinuit sont calculs avec la mthode de calcul utilisant des informations gomtriques e e e e e du complexe lies ` lespace dual, qui est prsente dans le paragraphe 4.2.1. Cette mthode se e a e e e sert des coordonnes du sommet v dans lespace dual (, u) pour obtenir la droite correspondant e a ` v dans la sc`ne, puis calcule dans la sc`ne le point dintersection de cette droite avec lobjet e e convexe sur lequel on veut calculer la discontinuit. e Les dirents points de discontinuit calculs sur un objet convexe O donn sont stocks e e e e e dans une liste associe ` cet objet. Pour un point de discontinuit donn, plutt que de stocker e a e e o directement ses coordonnes (x, y), on stocke un param`tre k qui reprsente ce point de mani`re e e e e unique. Tout point sur un objet convexe O peut eectivement tre reprsent par un param`tre e e e e li ` cet objet. Par exemple, dans le cas dun cercle Oi de centre (xi , yi ) et de rayon ri , tout e a

98

Maillage de discontinuit e

Calcul des points de discontinuit pour les objets convexes e Soit c le complexe de visibilit associ a la sc`ne e e` e Pour toute face f de c associe a deux objets Oi et Oj donns faire e ` e Pour tout sommet v de f faire Calculer la discontinuit induite sur Oi e Calculer la discontinuit induite sur Oj e Fin Pour Fin Pour

Fig. 4.8 - Algorithme de calcul du maillage de discontinuit pour les objets convexes. e

point M de lobjet Oi de coordonnes (x, y) dans le rep`re de la sc`ne peut tre dni par : e e e e e x = xi + ri cos k y = yi + ri sin k avec k [, [. La liste permettant de stocker les points de discontinuit sur un objet convexe O donn est donc e e constitue dune liste de param`tres k qui sont ordonns par ordre croissant. e e e Remarque : Dans lalgorithme de calcul du maillage de discontinuit pour les objets convexes e (cf. gure 4.8), les sommets dune face f donne sont considrs en parcourant successivement e ee la liste suprieure et la liste infrieure dartes de la face. e e e Exemple La gure 4.9 montre un exemple dimages obtenues avec le programme que nous avons implment. Les deux sc`nes considres sont constitues de trois cercles dont une source. Elles e e e ee e sont reprsentes en pseudo-3D. On peut voir les direntes lignes critiques induisant des points e e e de discontinuit dans la sc`ne. Chaque ligne critique correspond ` un sommet du complexe de e e a visibilit associ ` la sc`ne. Les objets sont chantillonns en fonction des discontinuits et la e e a e e e e valeur de radiosit est ache pour chacun des lments ainsi obtenus. e e ee

tel-00004958, version 1 - 20 Feb 2004

4.3.2

Cas des polygones

Limplmentation du calcul du maillage de discontinuit pour les polygones utilise une e e implmentation du complexe de visibilit pour les polygones ralise par Rivi`re (cf. [Riv95] e e e e e et [Riv97]). Cette implmentation permet de construire le complexe de visibilit pour une sc`ne e e e polygonale en temps O(m + n log n) et en espace O(n), avec n le nombre dartes de polye gones dans la sc`ne et m le nombre de sommets du complexe de visibilit associ ` la sc`ne (cf. e e ea e paragraphe 1.6.4 pour les direntes mthodes de construction du complexe de visibilit). e e e Une fois que le complexe de visibilit associ ` une sc`ne donne est construit, le calcul du e ea e e maillage de discontinuit est ralis en considrant les sommets du complexe. Le calcul est donc e e e e eectu en temps O(m), comme dans le cas des objets convexes (cf. paragraphe 4.3.1). Le nombre e de sommets m du complexe est en fait (n) et O(n2 ). On constate donc que lutilisation du

4.3 Implmentation du calcul du maillage de discontinuit e e

99

Fig. 4.9 - Exemple de sc`nes constitues dobjets convexes. e e complexe de visibilit pour le calcul des discontinuits est tr`s utile puisque Heckbert [Hec92a] e e e a propos un algorithme qui permet de calculer les discontinuits dune sc`ne 2D polygonale, e e e e e en temps O(n2 log n) au mieux, n tant le nombre dartes de polygones (cf. paragraphe 1.3.3). La gure 4.10 montre lalgorithme que nous utilisons pour calculer les discontinuits sur les e artes de polygones dune sc`ne, en utilisant le complexe de visibilit. Les dirents types de e e e e discontinuits nomms (1), (2), (3), et (4) dans lalgorithme sont illustrs sur la gure 4.11. Le e e e type (5) nest pas reprsent sachant quil correspond au cas symtrique du type (4). Les types e e e (1) et (2) correspondent ` des sommets vriant le cas de gure 2 (cf. paragraphe 4.1.2), le a e type (3) correspond a un sommet vriant le cas de gure 3 (cf. paragraphe 4.1.2), et les types ` e (4) et (5) correspondent ` des sommets vriant le cas de gure 4 (cf. paragraphe 4.1.2). a e

tel-00004958, version 1 - 20 Feb 2004

Calcul des points de discontinuit pour les polygones e Soit c le complexe de visibilit associ ` la sc`ne e ea e Pour toute face f de c associe ` deux artes de polygones Ci et Cj donnes faire e a e e Pour toute arte e de f non associe ` Ci ou Cj faire e e a Pour tout sommet v extrmit de e faire e e Si v est aussi lextrmit dune arte de f associe ` Ci (1) e e e e a Calculer la discontinuit induite sur Cj e Sinon Si v est aussi lextrmit dune arte de f associe ` Cj (2) e e e e a Calculer la discontinuit induite sur Ci e Sinon Calculer les discontinuits induites sur Ci et Cj (3) e Fin Pour Fin Pour Si les artes incidentes au premier sommet de f sont associes ` Ci (resp. Cj ) (4) e e a Calculer la discontinuit induite sur Cj (resp. Ci ) e Si les artes incidentes au dernier sommet de f sont associes ` Ci (resp. Cj ) (5) e e a Calculer la discontinuit induite sur Cj (resp. Ci ) e Fin Pour

Fig. 4.10 - Algorithme de calcul du maillage de discontinuit pour les polygones. e

100
Sc`ne e (a)
i1 a1 j1 b1 Cj

Maillage de discontinuit e
Espace dual Type 2 Type 1
i 1 a 1 b 1
j1

Type 3

Ci i2

j2

j2

i 2

face associe ` Ci et Cj e a (b)


i1 j1 Cj i2 j2

Type 4
j2

j1

Ci

i 2

face associe ` Ci et Cj e a

Fig. 4.11 - Dirents types de discontinuits. e e

tel-00004958, version 1 - 20 Feb 2004

Dtails dimplmentation e e Dans limplmentation utilise pour la construction du complexe de visibilit sont stockes e e e e uniquement des informations topologiques : structure des faces et relations dincidence entre les direntes artes et sommets du complexe. Les direntes informations stockes pour dcrire le e e e e e complexe de visibilit sont donc indpendantes dune quelconque dualit. Les points de discone e e tinuit sont calculs en utilisant la mthode de calcul utilisant des informations topologiques du e e e complexe, qui est prsente dans le paragraphe 4.2.1. Cette mthode utilise les points associs e e e e aux deux artes incidentes ` un sommet v pour obtenir la droite correspondant a v dans la e a ` sc`ne, puis calcule dans la sc`ne le point dintersection de cette droite avec larte de polygone e e e sur laquelle on veut calculer la discontinuit. e De mme que dans le cas des objets convexes (cf. paragraphe 4.3.1), plutt que de stocker e o pour chaque point de discontinuit ses coordonnes (x, y), on stocke un param`tre k qui repre e e e sente ce point de mani`re unique. Soit M (x, y) un point appartenant a une arte de polygone e ` e e e e e e ` Ci dextrmits i1 (xi1 , yi1 ) et i2 (xi2 , yi2 ) dans la sc`ne. Ce point peut tre dni a partir des coordonnes des points extrmits de Ci par : e e e x = xi1 + k(xi2 xi1 ) y = yi1 + k(yi2 yi1 ) avec k [0, 1]. La liste permettant de stocker les points de discontinuit au niveau dune arte de polygone e e donne est donc constitue dune liste de param`tres k qui sont ordonns par ordre croissant. e e e e Remarque : Dans lalgorithme de calcul du maillage de discontinuit pour les polygones (cf. e gure 4.10), on consid`re pour une face f associe ` deux artes de polygones Ci et Cj uniquement e e a e e e e e les artes non associes aux artes Ci et Cj . Puis on consid`re les sommets extrmits des artes e e e vriant cette condition. Deux artes adjacentes vriant cette condition ont bien videmment e e e e un sommet commun. Dans ce cas l`, ce sommet nest bien sr considr quune seule fois pour a u ee la face f .

4.3 Implmentation du calcul du maillage de discontinuit e e Exemple

101

La gure 4.12 montre un exemple dimages obtenues avec le programme que nous avons implment. La sc`ne considre est constitue dune pi`ce contenant trois objets dont une e e e ee e e source. Elle est reprsente en pseudo-3D. On peut voir sur chacune des images, le maillage de e e discontinuit associ ` la sc`ne considre. Nous avons rajout sur limage de droite, les lignes e ea e ee e critiques lies au rectangle (lignes critiques passant par les sommets du rectangle). Ce sont ces e lignes critiques qui seront modies si le rectangle se dplace dans la sc`ne. On remarque ici e e e que la mise ` jour des discontinuits est tr`s localise, dans le cas dun objet en mouvement (cf. a e e e paragraphe 7.1.3 pour plus de prcisions). Sur les deux images, les objets sont chantillonns en e e e fonction des discontinuits et la valeur de radiosit est ache pour chacun des lments ainsi e e e ee obtenus.

tel-00004958, version 1 - 20 Feb 2004

Fig. 4.12 - Exemple dune sc`ne polygonale constitue dune pi`ce avec trois objets ` lintrieur. e e e a e

102

Maillage de discontinuit e

4.3.3

Calcul uniquement des discontinuits lies ` lclairage direct e e a e

Dans le cas 3D, actuellement seules les discontinuits lies ` lclairage direct sont prises en e e a e compte (cf. paragraphe 1.3.2), sachant que ce sont les discontinuits les plus signicatives et e que calculer lensemble des discontinuits, compte tenu des techniques actuelles de calcul, serait e prohibitif. Dans les techniques de calcul prsentes prcdemment (cf. paragraphes 4.3.1 et 4.3.2), en e e e e considrant lensemble des faces du complexe de visibilit pour une sc`ne 2D donne, on calcule e e e e en fait lensemble des discontinuits lies ` lclairage direct mais aussi ` lclairage indirect. e e a e a e On peut cependant, en utilisant le complexe de visibilit, se limiter tr`s facilement au calcul e e des discontinuits lies ` lclairage direct si on le dsire. Il sut pour cela, dans le cas dune e e a e e sc`ne constitue dobjets convexes, de considrer seulement les faces dont un des deux objets e e e associs est une source de lumi`re, et dans le cas dune sc`ne polygonale, de considrer seulement e e e e les faces dont une des deux artes de polygones associes appartient ` une source de lumi`re. e e a e Compte tenu de la structure du complexe de visibilit, ces faces peuvent tre visites en temps e e e proportionnel a leur nombre. Le calcul du maillage de discontinuit li uniquement ` lclairage ` e e a e direct sera donc eectu en temps proportionnel ` la taille du maillage. e a

tel-00004958, version 1 - 20 Feb 2004

Considrons le cas des objets convexes. Soit une source de lumi`re Si . Les faces du complexe e e dont un des deux objets associs est Si , sont comprises entre les courbes de tangence Si et Si e associes ` lobjet Si dans lespace dual (, u). Ces courbes de tangence qui correspondent aux e a supports des artes du complexe associes ` lobjet Si , sont directement accessibles. On peut e e a donc accder facilement aux faces que lon doit considrer, sans recherche inutile. e e On peut voir un exemple sur la gure 4.13. Soit une sc`ne constitue de quatre objets convexes e e e e avec Oi la source de lumi`re. On peut constater que les faces dont un des deux objets associs e est lobjet Oi sont bien situes, dans lespace dual (, u), entre les deux courbes de tangence Oi et Oi de lobjet Oi .
Sc`ne e y Espace dual
6

face(Ol , Oj ) non considre e e face(Oi , Ol )

Oj Ok Ol Ok Ol Oi Ok x Ol

Oi
2

Oi
0

Oj
-2

face(Oi , Oj )
-4 -6 0 0.5 1 1.5 2 2.5 3

face(Oi , Ok )

Oj

Fig. 4.13 - Faces considres pour le calcul des discontinuits lies ` lclairage direct. e e e e a e Considrons de mme le cas des polygones. Soit si une arte dun polygone source de lue e e mi`re. Les faces du complexe dont une des deux artes associes est si , sont comprises entre e e e les droites associes aux deux extrmits de si dans lespace dual (a, b). Ces droites sont direce e e

4.3 Implmentation du calcul du maillage de discontinuit e e

103

tement accessibles, et permettent donc daccder facilement aux faces que lon doit considrer. e e Ces droites correspondent en fait aux supports des artes du complexe associes aux extrmits e e e e de larte de polygone si . Donc, dans le cas o` le complexe de visibilit est dcrit uniquement a e u e e ` partir dinformations topologiques (donc indpendamment dune quelconque dualit), on peut e e aussi accder facilement aux faces que lon doit considrer. Il sut, dans ce cas, de suivre les e e direntes artes associes aux extrmits de si et de considrer seulement les faces entre ces e e e e e e artes. e On peut voir un exemple sur la gure 4.14. Soit une sc`ne constitue de trois polygones : Pi , e e e e e e Pj et Pk . Le polygone Pi est une source de lumi`re. Soit si larte de Pi dextrmits A1 et A2 . On peut constater que les faces dont une des deux artes de polygones associes est si sont bien e e e e e situes entre les droites DA1 et DA2 associes dans lespace dual (a, b) aux points extrmits A1 e et A2 de larte de polygone si . e
artes associes ` A2 e e a Sc`ne e y
4

Espace dual

DC1 DC2 DB2

DB1

DA2

face(si , [C1 C2 ])

tel-00004958, version 1 - 20 Feb 2004

B1

Pj
A1 B2

x
C1

DA1

Pi

si
A2 C2

Pk

-2

face(si , [B1 B2 ])

-4

A1 (0, 0) A2 (1, 2)

B1 (3, 1) B2 (5, 1)

C1 (7, 1) C2 (3, 3)

-3

-2

-1

DC2

DC1

artes associes a A1 e e `

Fig. 4.14 - Faces considres pour le calcul des discontinuits lies ` lclairage direct. e e e e a e

tel-00004958, version 1 - 20 Feb 2004

105

Chapitre 5

Echantillonnage et calcul de facteurs de forme


Nous avons vu dans le chapitre 3 comment calculer le facteur de forme entre deux objets convexes ou entre deux artes de polygones, en se servant des faces associes du complexe de e e visibilit. Cependant, pour pouvoir appliquer la mthode de radiosit ` une sc`ne donne, les e e e a e e objets de la sc`ne sont discrtiss en lments (ou chantillons), et il sagit non pas de calculer e e e ee e les facteurs de forme entre les dirents objets (cest ` dire entre les objets convexes ou les e a artes de polygones, selon la sc`ne considre) mais entre les dirents lments sur le contour e e ee e ee des objets. Nous allons voir dans un premier temps comment calculer le facteur de forme entre deux lments, et comment il sinterpr`te dans un espace dual. Nous verrons ensuite comment le calcul ee e des facteurs de forme entre lments peut tre ralis de mani`re ecace au moyen du complexe, ee e e e e sachant que cette structure permet de considrer uniquement les parties mutuellement visibles e entre une paire dobjets convexes ou une paire dartes de polygones. e

tel-00004958, version 1 - 20 Feb 2004

5.1
5.1.1

Calcul du facteur de forme entre deux lments ee


Facteur de forme lment ` lment ee aee

Soit une sc`ne constitue dobjets discrtiss en lments. De mani`re similaire aux portions e e e e ee e de courbes (cf. quation 2.5 dans le chapitre 2), on peut dnir le facteur de forme entre deux e e lments li et rj par : ee mso(li , rj ) Fli rj = m(li ) a e avec mso (li , rj ) correspondant ` la mesure de lensemble des droites intersectant dans la sc`ne, les deux lments li et rj sans intersecter aucun autre objet se trouvant entre les deux, et m(li ) ee correspondant ` la mesure de lensemble total des droites intersectant llment li . a ee e Dapr`s lquation 2.11 applique aux lments li et rj , la mesure de droites mso (li , rj ) est gale e e e ee a ` la somme des longueurs des courbes croises tendues entre les extrmits des deux lments e e e ee e e e li et rj , moins la somme des longueurs des courbes non croises tendues entre les extrmits de e a ces mmes lments. Et dapr`s lquation 2.12, la mesure de droites m(li ) est gale ` deux fois e ee e e la longueur de li .

106 Interprtation dans un espace dual e

Echantillonnage et calcul de facteurs de forme

Considrons un chantillonnage donn au niveau des objets dune sc`ne. Les objets conside e e e e rs sont les objets convexes, dans le cas des sc`nes constitues dobjets convexes, et les artes de e e e e polygones, dans le cas des sc`nes polygonales. Chaque objet est discrtis en un certain nombre e e e dlments. Pour caractriser la visibilit entre deux lments, au lieu de considrer lensemble ee e e ee e des segments libres maximaux qui touchent les objets en entier (comme cest le cas pour le complexe de visibilit), il faut considrer lensemble des segments libres maximaux qui touchent e e chaque lment dun objet. Cela revient, dans lespace dual, a diviser les faces du complexe ee ` en sous-faces associes directement aux lments. Lchantillonnage des objets induit ainsi un e ee e dcoupage des faces du complexe de visibilit. e e Cas des polygones dans lespace dual (a, b) Considrons par exemple le cas dune sc`ne polygonale donne. Soit lexemple de la gure 5.1 e e e constitu de trois polygones. Le triangle, par sa position, induit un point de discontinuit N1 sur e e e e larte de polygone Ci , et un point de discontinuit N2 sur larte de polygone Cj . Ceci conduit e e a ` considrer deux chantillons sur Ci : l1 et l2 , et deux chantillons sur Cj : r1 et r2 . e e

tel-00004958, version 1 - 20 Feb 2004

l1 a pour extrmits A1 , N1 . e e l2 a pour extrmits N1 , A2 . e e r1 a pour extrmits B1 , N2 . e e r2 a pour extrmits N2 , B2 . e e


Sc`ne e y arte Cj e C1 C3 A1
N1

Espace dual (a, b) DB2


3.5 3 2.5 DN2

r2

r1

DB1 D A2 DC2 l2
DN1

B1
2 N2

face(l2 , r2 ) face(l2 , r1 )

C2 B2 A2

1.5 1 0.5 0 face(l1 , r2 ) face(l1 , r1 )

l1

arte Ci e

DA1
0 0.5 1 1.5

A1 (0, 0) A2 (1, 2) B1 (3, 1) B2 (5, 1)

C1 (1, 1.5) C2 (2, 0) C3 (0.5, 1)

-0.5 -0.5

Fig. 5.1 - Exemple dchantillonnage dune face associe ` deux artes de polygones Ci et Cj . e e a e Traons, dans lespace dual (a, b), les droites associes aux dirents points extrmits de c e e e e e ces lments : pour un point extrmit M de coordonnes (xM , yM ) dans la sc`ne, on trace la ee e e e e droite dquation : b = xM a yM dans lespace dual (cf. schma de droite sur la gure 5.1). e

5.1 Calcul du facteur de forme entre deux lments ee

107

tel-00004958, version 1 - 20 Feb 2004

Cette droite associe au point M dans lespace dual reprsente lensemble des droites passant e e par ce point dans la sc`ne. On remarque quil est ncessaire en fait de tracer seulement les e e droites associes aux points qui ne sont pas des extrmits dartes de polygones (soient N1 et e e e e N2 dans le cas de lexemple de la gure 5.1). En eet, les droites associes aux points extrmits e e e dartes de polygones sont dj` reprsentes dans lespace dual, puisquelles dlimitent des faces e ea e e e du complexe associ ` la sc`ne. ea e Dans lexemple de la gure 5.1, en traant les droites associes aux points N1 et N2 dans lespace c e dual, la face associe aux artes de polygones Ci et Cj est ainsi divise en quatre sous-faces. Une e e e sous-face donne est dlimite par des portions de droites associes aux extrmits dun lment e e e e e e ee e e e ee e de Ci , par des portions de droites associes aux extrmits dun lment de Cj , et ventuellement par des portions de droites associes ` des sommets de polygones qui obstruent la visibilit entre e a e ee a les deux lments de Ci et Cj considrs. Chaque sous-face correspond donc ` lensemble des ee e droites qui intersectent deux lments donns de Ci et Cj , sans intersecter dobstacle ventuel se ee e trouvant entre les deux. On obtient ainsi la notion de faces associes directement aux lments. e ee Connaissant ces faces, il sut pour calculer le facteur de forme entre deux lments au niveau ee de deux artes de polygones, dappliquer les direntes mthodes prsentes dans le chapitre 3 e e e e e qui permettent de calculer le facteur de forme entre deux artes de polygones, ` partir des faces e a associes du complexe. e Cas des objets convexes dans lespace dual (, u) Considrons de mme le cas dune sc`ne donne constitue dobjets convexes. Soit lexemple e e e e e e a de la gure 5.2 compos de deux cercles Oi et Oj . Les sommets de la face associe ` ces deux e objets au niveau du complexe induisent les points de discontinuits PiU , PiI , PiS et PiD sur e e e lobjet Oi , et les points de discontinuits PjU , PjS , PjI et PjD sur lobjet Oj . On sintresse ici uniquement aux deux parties mutuellement visibles entre les objets Oi et Oj . Ces deux parties e e sont dnies ` partir des sommets de la face associe aux objets Oi et Oj . Elles sont dlimites par e a e e ee la bitangente suprieure (PiU PjU ) et par la bitangente infrieure (PiD PjD ). La partie considre e ee sur Oi est donc comprise entre les points PiU et PiD , et la partie considre sur Oj est comprise a e e entre les points PjU et PjD . Ceci conduit ` considrer trois chantillons sur Oi : l1 , l2 et l3 , et trois chantillons sur Oj : r1 , r2 et r3 . e e e l1 a pour extrmits PiU , PiI . e e l2 a pour extrmits PiI , PiS . l3 a pour extrmits PiS , PiD . e e e e r1 a pour extrmits PjU , PjS . e e r2 a pour extrmits PjS , PjI . e e r3 a pour extrmits PjI , PjD . e An de caractriser la visibilit entre deux lments donns de Oi et Oj , on souhaite de e ee e terminer lensemble des droites qui intersectent ces deux lments, sans intersecter dobstacles ee ventuels se trouvant entre les deux. La zone dans lespace dual reprsentant cet ensemble de e e droites est dlimite par des courbes correspondant a lensemble des droites passant par les e e ` extrmits des deux lments dans la sc`ne, et ventuellement par des courbes correspondant ` e e ee e e a

108

Echantillonnage et calcul de facteurs de forme

Sc`ne e y Oj

Espace dual (, u)
6

face associe a Oi et Oj e `
4

PjU PjS

r1 r2

r3

PjD

Oi
2

Pj

Oi
0

x
Pi
I

Pi

O j
-2

l2 l1
PiU

l3
PiD

tel-00004958, version 1 - 20 Feb 2004

Oi

-4

Oj
Oi : centre (0, 2), rayon 1 Oj : centre (0, 3), rayon 2
-6 0 0.5 1 1.5 2 2.5 3

Zoom au niveau de la face


PjS
face(l1 , r2 )

O j
face(l1 , r1 )

Oi
PiI
face(l2 , r1 )

Oi Oj
face(l2 , r2 ) face(l2 , r3 ) face(l3 , r2 )

PiS PjI

face(l3 , r3 )

Fig. 5.2 - Exemple dchantillonnage dune face associe ` deux objets convexes Oi et Oj . e e a

5.1 Calcul du facteur de forme entre deux lments ee

109

tel-00004958, version 1 - 20 Feb 2004

lensemble des droites tangentes a des obstacles ventuels dans la sc`ne. ` e e On note P la courbe dans lespace dual, qui reprsente lensemble des droites passant dans la e sc`ne par le point P . e Considrons les lments l1 et r1 dextrmits respectives PiU , PiI , et PjU , PjS (cf. gure 5.2), et e ee e e dterminons les droites dans la sc`ne, qui intersectent ces deux lments sans intersecter dobse e ee tacles ventuels. La zone dans lespace dual reprsentant cet ensemble de droites est dlimite e e e e a par la courbe PjS , par la courbe PiI , et par les courbes Oi et Oj correspondant ` lensemble des droites tangentes respectivement ` Oi et Oj dans la sc`ne. Cette zone est la zone grise a e e e a appele face(l1 , r1 ) sur la gure 5.2. Les courbes PiU et PjU associes respectivement ` lexe trmit PiU de l1 , et PjU de r1 ne sont pas prises en compte. En eet, les droites passant par e e le point PiU qui intersectent lobjet Oj ailleurs quen PjU ne sont pas valables car elles coupent e lintrieur de lobjet Oi . De mme, les droites passant par le point PjU qui intersectent lobjet e e Oi ailleurs quen PiU ne sont pas valables car elles coupent lintrieur de lobjet Oj . e De faon similaire, si on sintresse aux lments l3 et r3 , et quon souhaite dterminer lensemble c e ee des droites qui intersectent ces deux lments sans intersecter dobstacles ventuels, on constate ee e e que les courbes PiD et PjD ne sont pas prises en compte. On consid`re donc, dans lespace dual, seulement les courbes associes aux extrmits dlments qui ne sont pas des extrmits e e e ee e e des deux parties mutuellement visibles entre les objets Oi et Oj (soient PiI , PiS , PjS et PjI dans le cas de lexemple de la gure 5.2). e ` e La courbe P associe dans lespace dual (, u), a un point P de coordonnes (xP , yP ) dans la sc`ne, a pour quation : u() = yP cos xP sin . e e Dans lexemple de la gure 5.2, en traant les courbes PiI , PiS , PjS et PjI dans lespace dual c e (, u), la face associe aux objets convexes Oi et Oj est ainsi divise en sept sous-faces. Chaque e a ee sous-face est associe ` un lment de Oi et ` un lment de Oj . Connaissant ces sous-faces, on e a ee peut maintenant calculer le facteur de forme entre deux lments sur deux objets convexes en ee se servant de la sous-face associe. e Les deux mthodes prsentes dans le chapitre 3 (cf. paragraphes 3.1.2 et 3.2.1) qui pere e e mettent de calculer le facteur de forme entre deux objets convexes ` partir des faces associes du a e complexe, permettent dtablir deux expressions pour le facteur de forme entre deux lments e ee sur des objets convexes. La proposition 3 (cf. paragraphe 3.1.2) tablie dans le cas des objets convexes est toujours e valable. Soient l et r deux lments sur deux objets convexes. La mesure de lensemble des ee droites intersectant les deux lments l et r est donc gale, dans lespace dual (, u), a la somme ee e ` e des aires des direntes faces associes ` ces deux lments. Le facteur de forme Flr associ aux e e a ee lments l et r peut donc tre exprim dans lespace dual (, u) par : ee e e Aire de la face fk associe aux lments l et r e ee Flr =
k

2 Longueur de llment l ee

e e ee avec f1 , ... fk (k 1) correspondant aux direntes faces associes aux lments l et r. Le facteur de forme entre deux lments sur des objets convexes peut toujours tre exprim, ee e e comme dans le cas des objets convexes (cf. paragraphe 3.2.1), comme une somme pondre de ee valeurs fonctions des sommets et artes des faces associes du complexe de visibilit. Cependant, e e e on ne prend plus en compte dans le calcul, la totalit des artes des faces associes. On ne tient e e e compte que des artes directement associes ` des objets convexes, et on ne consid`re donc pas e e a e les artes associes ` des extrmits dlments. Soient l et r deux lments sur deux objets e e a e e ee ee

110

Echantillonnage et calcul de facteurs de forme

convexes. Llment l est sur lobjet convexe Oi et llment r est sur lobjet convexe Oj . Soit ee ee f la face associe aux lments l et r. On associe ` chaque sommet v de f , une valeur de (v) e ee a reprsentant la longueur euclidienne du segment libre maximal correspondant dans la sc`ne, et ` e e a chaque arte e de f qui est associe ` un objet convexe, une valeur dc (e) reprsentant la longueur e e a e curviligne de la portion correspondante de lobjet associ. Le facteur de forme Flr entre les deux e e ea e a lments l de Oi et r de Oj peut alors tre exprim ` partir de la face f associe ` l et r par : ee
v sommet de f

de (v) +

Flr =

e arte de f associe ` un objet convexe e e a

dc (e) , (5.1)

2 Longueur de llment l ee (premier ou dernier sommet de la face)

+de (v) si v est un sommet extrmal de la face e

o` de (v) = u

d (v) sinon e

et dc (e) =

+dc (e) si larte e est associe ` Oi ou Oj e e a dc (e) si larte e est associe ` un objet convexe autre que Oi et Oj e e a

tel-00004958, version 1 - 20 Feb 2004

Sil existe plusieurs faces associes aux lments l et r, le facteur de forme entre ces deux lments e ee ee est obtenu en appliquant lquation 5.1 ` chaque face associe aux lments l et r, et en sommant e a e ee ensuite la valeur obtenue pour chacune des faces associes ` l et r. e a

5.1.2

Facteur de forme point a lment `ee

Soit une sc`ne constitue dobjets discrtiss en lments. Outre le facteur de forme lment e e e e ee ee e a ee ` lment, on peut dnir le facteur de forme point ` lment. Deux lments li et rj tant e a ee ee donns, il correspond au facteur de forme entre un point pi de li et lintervalle visible sur rj e depuis pi . e e Le facteur de forme point ` lment Fpi rj entre li et rj calcul en pi est exprim par : aee Fpi rj = dsj cos i cos j V 2r

lment rj ee

e e avec : pi de param`tre si sur li , sj le param`tre dun point pj sur rj , i langle de la droite ` ` (pi pj ) par rapport a la normale en pi , j langle de la droite (pj pi ) par rapport a la normale en e e a pj , r la distance entre pi et pj , et V la fonction de visibilit entre pi et pj (V est gal ` 1 si pi et pj se voient mutuellement et 0 sinon) (cf. schma de gauche sur la gure 5.3). e Interprtation dans un espace dual e Cas des polygones dans lespace dual (a, b) e ee Considrons le cas de deux lments li et rj sur des artes de polygones. Llment li a pour e ee ee e e e extrmits les points I1 , I2 , et llment rj a pour extrmits les points J1 , J2 (cf. schma de e e ` ee ee gauche sur la gure 5.3). Soit Fpi rj le facteur de forme point a lment entre les lments li et e rj calcul au point pi de li . Posons : cos i cos j V dsj I= r lment rj ee

5.1 Calcul du facteur de forme entre deux lments ee


J1 rj pj j i r i I1 pi li x I2 I1 pi x 1 2 1 2 I2 y pj J1

111

J2

J2

Fig. 5.3 - Exemple de deux lments li et rj . ee I . 2 On dnit 1 (si ) comme langle par rapport a la normale en pi (de param`tre si ) de la droite e ` e passant par pi et par le point le plus proche de J1 visible depuis pi , et 2 (si ) comme langle par rapport a la normale en pi de la droite passant par pi et par le point le plus proche de J2 visible ` depuis pi . En tenant compte de ces notations, lintgrale I peut tre rexprime par : e e e e On a donc : Fpi rj = I=
1 (si ) 2 (si )

tel-00004958, version 1 - 20 Feb 2004

cos i di

Dans lexemple de la gure 5.3, 1 (si ) correspond en fait a langle par rapport a la normale en pi ` ` de la droite (pi J1 ), et 2 (si ) a langle par rapport a la normale en pi de la droite (pi J2 ), sachant ` ` e que pi voit la totalit de rj . Soit i langle avec laxe des abscisses de la droite passant par pi et par un point donn pj e de rj compris entre J1 et J2 , et soit langle de la droite (I1 I2 ) avec laxe des abscisses (cf. schma de gauche sur la gure 5.3). On a donc : e i = (i ) En procdant au changement de variable, on obtient : e I=
1 (si ) 2 (si )

sin(i )di = [ cos(i )]1 (si ) 2 i

(s )

(5.2)

avec : 1 (si ) = 1 (si ) + + /2, et 2 (si ) = 2 (si ) + + /2. Par dnition : e cos(i ) = cos i cos + sin i sin (5.3)

e Pour simplier, 1 (si ) et 2 (si ) seront nots respectivement 1 et 2 . On obtient donc en utilisant lquation 5.3 et en remplaant dans lquation 5.2 : e c e I = cos (cos 2 cos 1 ) + sin (sin 2 sin 1 ) (5.4)

112

Echantillonnage et calcul de facteurs de forme

On constate que la valeur I peut tre directement exprime dans lespace dual (a, b). e e e Considrons les droites DI1 , DI2 , DJ1 et DJ2 associes respectivement aux points I1 , I2 , J1 et e e e J2 dans lespace dual (a, b) (cf. gure 5.4). Par dnition, la droite DI1 reprsente lensemble
b
face associe ` e a [I1 I2 ] et [J1 J2 ]

DJ 2

Dpj

DJ 1 DI2 Dpi

M0

M2

M1 Mi (ai , bi )

DI1

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.4 - Interprtation du facteur de forme point ` lment dans lespace dual (a, b). e a ee e e des droites passant par le point I1 dans la sc`ne, la droite DI2 reprsente lensemble des droites e e a passant par le point I2 dans la sc`ne, etc. La droite Dpi associe ` pi est comprise entre les e e e e e a droites DI1 et DI2 associes aux extrmits respectives de li . De mme, la droite Dpj associe ` e un point pj donn est comprise entre DJ1 et DJ2 . a Le point M0 , intersection de DI1 et DI2 dans lespace dual, correspond ` la droite (I1 I2 ) dans ` la sc`ne, le point M1 (intersection de Dpi et DJ1 ) a la droite (pi J1 ), et le point M2 (intersection e a de Dpi et DJ2 ) ` la droite (pi J2 ) (cf. gure 5.4). Le point Mi , intersection de Dpi et Dpj dans e e lespace dual, correspond a la droite (pi pj ) dans la sc`ne. Soient (ai , bi ) les coordonnes de Mi ` dans lespace dual (a, b). Dapr`s le principe de dualit, la droite (pi pj ) a donc pour quation : e e e e y = ai x bi , dans la sc`ne. De plus, sachant que i est langle avec laxe des abscisses de la droite (pi pj ), on a les relations :
cos i sin i

= =

1 1 + ai 2 a i 1 + ai 2

(5.5)

e Soient (a0 , b0 ), (a1 , b1 ), (a2 , b2 ) les coordonnes respectives des points M0 , M1 et M2 dans lespace dual (a, b). En utilisant les quations 5.5, et en remplaant dans lquation 5.4, on obtient : e c e 1 I= 1 + a0 2 1 1 2 1 + a2 1 + a1 2 a0 + 1 + a0 2 a1 a 2 2 1 + a2 1 + a1 2

(5.6)

Gnralisation : Soient deux lments li et rj , et soit Fpi rj le facteur de forme point a le e ee ` ee e e ee ment entre li et rj calcul au point pi de li . Connaissant la face associe aux deux lments li

5.1 Calcul du facteur de forme entre deux lments ee

113

tel-00004958, version 1 - 20 Feb 2004

et rj , pour calculer le facteur de forme Fpi rj dans lespace dual (a, b), il sut de tracer dans lespace dual (a, b) la droite Dpi associe ` pi (droite dquation : b = xpi a ypi avec (xpi , ypi ) les e a e e e coordonnes de pi dans la sc`ne), et de considrer la portion de cette droite qui est incluse dans e la face. Cette portion de droite est dlimite par deux points M1 et M2 appartenant a des artes e e ` e a dlimitant la face. On appelle M0 le point correspondant dans lespace dual ` la droite support e e e de llment li dans la sc`ne. Les points M0 , M1 , M2 (de coordonnes respectives (a0 , b0 ), (a1 , b1 ), ee e e a e (a2 , b2 )) tant ainsi dnis dans lespace dual (a, b), il ne reste plus qu` appliquer lquation 5.6 pour obtenir I. Connaissant I, on obtient alors le facteur de forme point ` lment Fpi rj tr`s a ee e I simplement puisque : Fpi rj = 2 . e e e Sil existe plusieurs faces associes ` deux lments li et rj , le principe tabli prcdemment dans e a ee le cas dune face associe ` deux lments est appliqu pour chacune des faces associes ` li et e a ee e e a e e rj , et les direntes valeurs obtenues sont ensuite additionnes pour obtenir le facteur de forme point ` lment entre li et rj . aee Lquation 5.6 est en fait valable mme sil y a des obstacles qui interf`rent entre les deux e e e lments considrs. On peut voir un exemple avec un obstacle sur la gure 5.5. On souhaite ee ee ee ee calculer le facteur de forme point ` lment entre le point p1 de llment l1 , et llment r1 . a ee e e ee c Soit Fp1 r1 ce facteur de forme. Considrons la face associe aux lments l1 et r1 , et traons la e a droite Dp1 associe ` p1 dans lespace dual. Cette droite intersecte la droite DN2 en M2 et la e e ee droite DC2 en M1 . Le fait que le sommet de polygone C2 rduise la visibilit entre les lments e l1 et r1 est bien pris en compte puisque le segment [M2 M1 ] que lon consid`re pour le calcul e e e du facteur de forme Fp1 r1 est dlimit par la droite DC2 associe au sommet de polygone C2 . e Soit M0 le point dintersection, dans lespace dual, des droites DA1 et DN1 (droites associes e aux extrmits de llment l1 ). Connaissant les points M0 , M1 , M2 et leurs coordonnes dans e e ee lespace dual (a, b), on peut appliquer directement lquation 5.6 pour dterminer le facteur de e e ee forme point ` lment entre le point p1 de l1 , et llment r1 . aee

Sc`ne e y

Espace dual (a, b) DB2


3.5 3 2.5 DN2

r2

r1

DB1 D A2 DC2 l2
DN1

C1 C3 A1
l1 p1 N1

B1
r1

2 N2 1.5

face(l2 , r2 ) face(l2 , r1 )

Dp1

C2

x B2
1 0.5 face(l1 , r2 )

M2

M1

l1

A2
0

face(l1 , r1 )

DA1
0 0.5 1 1.5

A1 (0, 0) A2 (1, 2) B1 (3, 1) B2 (5, 1)

C1 (1, 1.5) C2 (2, 0) C3 (0.5, 1)

-0.5 -0.5

Fig. 5.5 - Exemple de calcul de facteur de forme point ` lment entre un point p1 dun lment aee ee ee e l1 et un lment r1 , sur des artes de polygones.

114

Echantillonnage et calcul de facteurs de forme

Cas des objets convexes dans lespace dual (, u) Linterprtation du facteur de forme point a lment tablie prcdemment dans le cas dle `ee e e e ee ments sur des artes de polygones, reste valable dans le cas dlments sur des objets convexes. e ee ee ee e e Soient li et rj deux lments sur des objets convexes. Llment li a pour extrmits I1 , I2 , et e e `ee llment rj a pour extrmits J1 , J2 (cf. gure 5.6). Le facteur de forme point a lment entre ee e e e li et rj calcul au point pi de li peut aussi, comme dans le cas des polygones, tre exprim par : Fpi rj = cos (cos 2 cos 1 ) + sin (sin 2 sin 1 ) 2 (5.7)

La valeur correspond a langle par rapport ` laxe des abscisses de la tangente a llment li ` a ` ee en pi (cf. gure 5.6). La valeur 1 est dnie comme langle par rapport ` laxe des abscisses e a
y J1 rj pj J2 1 2 I1 pi li I2

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.6 - Exemple de deux lments li et rj sur des objets convexes. ee de la droite passant par pi et par le point le plus proche de J1 visible depuis pi , et la valeur 2 est dnie comme langle par rapport a laxe des abscisses de la droite passant par pi et par le e ` point le plus proche de J2 visible depuis pi . Dans lexemple de la gure 5.6, 1 correspond donc a a ` langle de la droite (pi J1 ) avec laxe des abscisses, et 2 ` langle de la droite (pi J2 ) avec laxe des abscisses. e e e Le facteur de forme point ` lment Fpi rj peut tre exprim tr`s facilement dans lespace dual a ee (, u). En eet, dapr`s la dnition de la dualit (, u), une droite dangle i avec laxe des e e e abscisses dans la sc`ne, correspond dans lespace dual (, u) a un point dabscisse i . Dans le cas e ` e e de lexemple de la gure 5.6, les angles 1 et 2 sont donc obtenus tr`s facilement en considrant respectivement les points correspondant aux droites (pi J1 ) et (pi J2 ) dans lespace dual. Gnralisation : Soient deux lments li et rj appartenant respectivement aux objets convexes e e ee ` ee e Oi et Oj , et soit Fpi rj le facteur de forme point a lment entre li et rj calcul au point pi de e ee li . Connaissant la face associe aux deux lments li et rj , pour calculer le facteur de forme e Fpi rj dans lespace dual (, u), il sut de tracer dans lespace dual (, u) la courbe pi associe e e a ` pi (courbe dquation : u() = ypi cos xpi sin avec (xpi , ypi ) les coordonnes de pi dans la sc`ne), et de considrer la portion de cette courbe qui est incluse dans la face. Cette portion de e e ` e e courbe est dlimite par deux points M1 et M2 appartenant a des artes dlimitant la face. On e e a e appelle M0 le point correspondant dans lespace dual ` la droite dans la sc`ne qui est tangente

5.1 Calcul du facteur de forme entre deux lments ee

115

a ee ` llment li en pi . Ce point correspond dans lespace dual ` lintersection de la courbe pi a (courbe reprsentant lensemble des droites passant par pi dans la sc`ne) et de la courbe Oi e e (courbe reprsentant lensemble des droites tangentes ` lobjet Oi dans la sc`ne). Les points M0 , e a e M1 , M2 (de coordonnes respectives (0 , u0 ), (1 , u1 ), (2 , u2 )) tant ainsi dnis dans lespace e e e dual (, u), il ne reste plus qu` appliquer lquation 5.7 (avec = 0 , 1 = 1 , 2 = 2 ), pour a e obtenir le facteur de forme point a lment Fpi rj . `ee On peut voir un exemple sur la gure 5.7. On souhaite calculer le facteur de forme point ` laee

Sc`ne e

Espace dual (, u) O j

y Oj

Pj

face(l1 , r1 )

Oi
Pi I

face(l1 , r2 ) face(l2 , r1 )
Pj
U

tel-00004958, version 1 - 20 Feb 2004

r1 r2

r3

Pj

Oj

Oi
face(l2 , r2 )

p1

PjS

PjI

face(l2 , r3 ) face(l3 , r2 )

x
PiI PiS

Pi

l2 l1
PiU

face(l3 , r3 ) l3
PiD

Pj

Oi Zoom
Oi : centre (0, 2), rayon 1 Oj : centre (0, 3), rayon 2

O j p1

Oi

Pj S

M2 Pi I M1

Fig. 5.7 - Exemple de calcul de facteur de forme point ` lment entre un point p1 dun lment aee ee ee r1 et un lment l1 , sur des objets convexes.

ment entre le point p1 de llment r1 , et llment l1 . Soit Fp1 l1 ce facteur de forme. Considrons ee ee e c e a la face associe aux lments l1 et r1 , et traons la courbe p1 associe ` p1 dans lespace dual. e ee Cette courbe intersecte la courbe Oi en M2 et la courbe PiI en M1 , montrant ainsi que le point e ee p1 ne voit pas la totalit de llment l1 . Soit M0 le point dintersection, dans lespace dual, des e ee courbes p1 et Oj (Oj tant lobjet auquel llment r1 appartient). e e Soient (xp1 , yp1 ) les coordonnes du point p1 dans la sc`ne. Dans le cas dun cercle Oj de centre

116

Echantillonnage et calcul de facteurs de forme

(xj , yj ) et de rayon Rj , langle 0 de la tangente a llment r1 en p1 est caractris par : ` ee e e


cos 0 sin 0

yp1 yj Rj xp1 xj Rj

Les abscisses 1 et 2 sont obtenues de faon similaire en calculant lintersection des courbes c et P pour , et des courbes p et p1 iI 1 1 Oi pour 2 . Connaissant les abscisses 0 , 1 et 2 des points M0 , M1 et M2 dans lespace dual (, u), on peut alors dterminer le facteur de forme e ee ee e point a lment entre le point p1 de llment r1 , et llment l1 au moyen de lquation 5.7 (avec `ee = 0 , 1 = 1 , 2 = 2 ). e e e Sil existe plusieurs faces associes ` deux lments li et rj , le principe tabli prcdemment dans e a ee le cas dune face associe ` deux lments est appliqu pour chacune des faces associes ` li et e a ee e e a e e rj , et les direntes valeurs obtenues sont ensuite additionnes pour obtenir le facteur de forme point ` lment entre li et rj . aee

tel-00004958, version 1 - 20 Feb 2004

5.2

Implmentation : Calcul des facteurs de forme entre le ee ments au moyen du complexe

Le facteur de forme entre deux lments est nul si ces deux lments ne sont pas mutuellement ee ee visibles. En pratique, de telles situations sont frquentes et devraient tre prises en compte an e e dviter des calculs inutiles. Heckbert [Hec92a] a notamment constat lors de tests que la densit e e e de la matrice de radiosit ( reprsente la fraction dlments non nuls dans la matrice de e e ee radiosit) est en gnral comprise entre 10% et 40%. e e e Le complexe de visibilit est tr`s utile dans ce cas, puisquil permet de considrer seulement e e e les paires dobjets (objets convexes ou artes de polygones) mutuellement visibles, et pour chaque e paire de ne considrer ensuite que les parties mutuellement visibles. e Pour considrer uniquement les paires dobjets mutuellement visibles dans une sc`ne done e ne, il sut de considrer toutes les faces du complexe de visibilit associes ` deux objets e e e e a quelconques de cette sc`ne. Chaque face associe ` deux objets donns correspond ` une come e a e a posante connexe de segments libres maximaux qui touchent ces deux objets. Elle permet donc de conna des paires de points mutuellement visibles sur ces deux objets, et permet, par extre tension, de conna tre des parties mutuellement visibles sur ces deux objets. Pour calculer les facteurs de forme ncessaires entre deux objets donns, il sut donc simplement de considrer e e e les faces du complexe de visibilit associes ` ces deux objets. Le complexe de visibilit permet e e a e donc deectuer seulement les calculs ncessaires. e Deux implmentations ont t ralises : une premi`re pour les sc`nes constitues dobjets e ee e e e e e convexes, et une deuxi`me pour les sc`nes polygonales. Limplmentation du calcul des facteurs e e e de forme entre lments utilise ici aussi les deux implmentations ralises par Rivi`re([Riv93] ee e e e e et [Riv95]) voques au paragraphe 4.3. e e Dans le cas des sc`nes constitues dobjets convexes, comme dans le cas des sc`nes polygoe e e nales, les dirents objets de lenvironnement sont dabord discrtiss en lments. Lchantillone e e ee e nage des objets de la sc`ne est calcul en tenant compte des discontinuits de lclairage. On e e e e cre donc les lments en positionnant leurs extrmits sur les discontinuits (cf. paragraphe 4.3 e ee e e e

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 117 pour limplmentation du calcul des discontinuits), puis les lments obtenus sont ventuellee e ee e ment subdiviss sils sont de taille trop importante. Il reste alors ` calculer les facteurs de forme e a ncessaires entre les dirents lments, avant de pouvoir calculer la solution de radiosit. e e ee e

5.2.1

Une premi`re mthode de calcul des facteurs de forme entre lments e e ee

Pour calculer le facteur de forme entre deux lments donns sur deux objets Oi et Oj (deux ee e objets convexes ou deux artes de polygones, selon le cas), il faut conna e tre les objets qui re duisent la visibilit entre ces deux lments. Pour obtenir cette information, on va utiliser les e ee ee faces du complexe de visibilit associes aux deux objets Oi et Oj considrs. e e Une face associe ` deux objets Oi et Oj donns correspond ` une composante connexe de e a e a segments libres maximaux qui touchent ces deux objets. Dans le cas de deux objets convexes Oi et Oj , cette composante connexe de segments libres maximaux est dlimite par les segments e e libres maximaux tangents aux objets qui rduisent la visibilit entre Oi et Oj , et dans le cas de e e e e deux artes de polygones Ci et Cj , elle est dlimite par les segments libres maximaux passant e e a par les sommets de polygones qui rduisent la visibilit entre Ci et Cj . Une face associe ` deux e e e e e e e objets Oi et Oj est ainsi reprsente par deux listes dartes : une liste suprieure dartes qui est entre autres constitue des artes associes aux objets (objets convexes ou extrmits dartes e e e e e e de polygones, selon le cas) qui rduisent la visibilit par le haut entre les objets Oi et Oj ; et e e une liste infrieure dartes qui est entre autres constitue des artes associes aux objets qui e e e e e rduisent la visibilit par le bas entre Oi et Oj . e e Soit une face f associe ` deux objets Oi et Oj donns. Cette face f permet de dnir e a e e deux parties mutuellement visibles sur Oi et Oj , qui correspondent aux parties de Oi et e a Oj touches par les segments libres maximaux correspondant ` cette face. Ces parties seront e e appeles visOi et visOj , visOi tant la partie de Oi visible depuis Oj  et visOj tant la partie de e ee e Oj visible depuis Oi . Si deux lments donns de Oi et Oj appartiennent respectivement aux ee e parties mutuellement visibles visOi et visOj , on sait alors que ces deux lments peuvent tre obstrus seulement par les objets de la liste suprieure dartes de la face f (obstruction par le e e e e e haut) et par les objets de la liste infrieure dartes de la face f (obstruction par le bas). Le fait de considrer la face f permet donc dj` de rduire les obstacles ventuels considrs pour e ea e e ee deux lments donns appartenant aux parties visOi et visOj (parties mutuellement visibles ee e sur Oi et Oj dnies ` partir de la face f ). e a On peut voir un exemple sur la gure 5.8. Les lments des artes de polygones Cl et Cr ee e qui appartiennent aux parties mutuellement visibles sur Cl et Cr dnies ` partir de la face e a e e associe ` Cl et Cr peuvent tre obstrus par le haut seulement par les sommets de polygones e a a et b, et par le bas seulement par les sommets de polygones c et d. Si les lments sur les objets sont dnis sans prendre en compte les discontinuits de lclaiee e e e rage, on peut avoir un nombre quelconque dobjets de la liste suprieure et de la liste infe e rieure dartes de la face f qui interfrent entre deux lments donns appartenant aux parties e e ee e  mutuellement visibles sur Oi et Oj dnies a partir de la face f .   e ` On peut voir un exemple sur la gure 5.8. Soient sl et sr deux lments sur les artes de ee e ee e polygones Cl et Cr respectivement. Les lments sl et sr stendent de part et dautre des points de discontinuit induits respectivement sur Cl et Cr par le sommet vab (sommet de la face assoe a e e cie ` Cl et Cr ) qui correspond ` la droite (ab) dans la sc`ne. On constate dapr`s la gure que e a e les sommets de polygones a et b appartenant respectivement aux polygones P1 et P2 rduisent

tel-00004958, version 1 - 20 Feb 2004

118
Sc`ne e

Echantillonnage et calcul de facteurs de forme


Espace dual
parties mutuellement visibles dnies sur Cl et Cr e a ` partir de leur face associe e

P1 arte Cl e sl1 sl sl2


c a

P2 face associe a Cl et Cr e `
b

sr sr1

vab

a
d

sr2 arte Cr e

P3

P4 segments libres maximaux correspondant ` la face a associe a Cl et Cr e `

tel-00004958, version 1 - 20 Feb 2004

discontinuits induites par les sommets de la face associe a Cl et Cr e e `

Fig. 5.8 - Exemple de deux artes de polygones Cl et Cr avec quatre polygones qui interf`rent. e e

la visibilit entre les lments sl et sr considrs. Ces deux sommets de polygones sont associs e ee ee e e e e e aux artes a et b de la liste suprieure dartes de la face associe aux artes de polygones e e e a e Cl et Cr . Donc, dans ce cas prcis, lensemble des sommets de polygones associs ` des artes ee de la liste suprieure dartes de cette face interf`rent entre les lments sl et sr considrs (cf. e e e ee gure 5.8).

Par contre si les lments sont dnis en prenant en compte les discontinuits, on a, pour ee e e e deux lments donns qui appartiennent aux parties mutuellement visibles sur Oi et Oj dnies ee e a ` partir de la face f , et qui sont compris entre deux points de discontinuit, au plus un objet de e la liste suprieure dartes de la face f et un objet de la liste infrieure dartes de la face f qui e e e e interf`rent, si les deux lments considrs se voient mutuellement. e ee e e On peut voir un exemple sur la gure 5.8. Si les lments sont dnis en prenant en compte ee e les discontinuits, on a au plus un sommet de polygone de la liste suprieure dartes de la face e e e e e e associe ` Cl et Cr , et un sommet de polygone de la liste infrieure dartes de cette mme face, e a ee qui interf`rent entre un lment de Cl et un lment de Cr qui se voient mutuellement. Pour e ee e ee les lments sl1 de Cl et sr1 de Cr , on a le sommet de polygone a qui interf`re. Pour les lments ee e ee sl1 et sr2 , on a les sommets a et d qui interf`rent (cf. gure 5.8). Pour les lments sl2 et sr1 , on e a visibilit totale. Pour les lments sl2 et sr2 , on a le sommet d qui interf`re (cf. gure 5.8). e ee

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 119 = Premi`re ide e e Soit une face f associe ` deux objets Oi et Oj (deux objets convexes ou deux artes de e a e polygones, selon le cas). Si les lments sont dnis en prenant en compte les discontinuits de ee e e lclairage, une premi`re ide pour calculer les facteurs de forme ncessaires entre les dirents e e e e e lments qui appartiennent aux parties mutuellement visibles sur Oi et Oj dnies ` partir ee e a u de la face f , consiste donc ` considrer successivement les direntes parties de Oi et Oj o` a e e il y a un objet donn de la liste suprieure dartes de la face f et un objet donn de la liste e e e e infrieure dartes de la face f qui interf`rent. Il est alors facile de calculer le facteur de forme e e e t entre deux lments appartenant a deux parties ainsi dnies sur Oi et Oj puisquon conna ee ` e les deux objets potentiellement interfrants (un par le haut et un par le bas) entre ces deux e lments. Les parties de Oi et Oj o` il y a un objet donn Oup qui interf`re par le haut et un ee u e e e a e e objet donn Odown qui interf`re par le bas sont obtenues ` partir des sommets extrmits des e deux artes de la face f qui sont associes aux objets Oup et Odown . e e u Par exemple, dans la gure 5.9, les parties des artes de polygones Cl et Cr o` il y a le e sommet de polygone a qui interf`re par le haut et le sommet de polygone d qui interf`re par e e e a e e e e a le bas, sont dnies ` partir des sommets extrmits des artes a et d de la face associe ` Cl et Cr . Les limites suprieures des parties dnies sur Cl et Cr sont dnies ` partir de larte a . e e e a e

tel-00004958, version 1 - 20 Feb 2004

Sc`ne e

Espace dual

P1 arte Cl e
a

P2

liste suprieure dartes e e

a d arte Cr e

c
liste infrieure e dartes e

P3

P4

face associe a Cl et Cr e ` parties de Cl et Cr o` il y a les sommets de polygones a et d u qui interf`rent e discontinuits induites par les sommets de la face associe a Cl et Cr e e `

Fig. 5.9 - Exemple de deux artes de polygones Cl et Cr avec quatre polygones qui interf`rent. e e La limite suprieure de la partie dnie sur Cl correspond a lintersection avec Cl de la droite e e ` e dans la sc`ne qui correspond au sommet gauche de larte a (droite (ad)), et la limite supe e ` e rieure de la partie dnie sur Cr correspond a lintersection avec Cr de la droite dans la sc`ne e c qui correspond au sommet droit de larte a (droite (ab)) (cf. gure 5.9). De faon similaire, les e e a e limites infrieures des parties dnies sur Cl et Cr sont dnies ` partir de larte d . La limite e e a e infrieure de la partie dnie sur Cl correspond ` lintersection avec Cl de la droite dans la sc`ne e e (droite (cd)), et la limite infrieure de la partie e qui correspond au sommet droit de larte d e

120

Echantillonnage et calcul de facteurs de forme

dnie sur Cr correspond a lintersection avec Cr de la droite dans la sc`ne qui correspond au e ` e sommet gauche de larte d (droite (ad)) (cf. gure 5.9). e Cette mthode permettant de se restreindre aux parties sur deux objets donns o` il y a e e u ee e e deux objets qui interf`rent (un par le haut et un par le bas) a t implmente pour les e sc`nes constitues dobjets convexes. e e Implmentation pour les objets convexes e e a e Soit une face fOl Or associe ` deux objets convexes Ol et Or , et soient listup la liste supe e rieure dartes de cette face, et listdown la liste infrieure dartes de cette face. Pour calculer les e facteurs de forme ncessaires entre les dirents lments de Ol et Or appartenant aux parties e e ee  mutuellement visibles sur Ol et Or dnies ` partir de la face fOl Or , on consid`re successive  e a e u ment les direntes parties de Ol et Or o` il y a un objet de listup et un objet de listdown qui e interf`rent. Pour cela, il sut de se positionner sur les premi`res artes de listup et listdown qui e e e sont associes ` des objets qui interf`rent sil y en a, et sinon sur les derni`res artes de listup et e a e e e e e listdown . Puis il sagit ensuite de parcourir simultanment les artes de listup et listdown , tout e e e en considrant ` chaque fois les parties de Ol et Or dlimites par les droites dans la sc`ne e a qui correspondent aux sommets extrmits des deux artes courantes considres de listup et e e e ee e e listdown . Deux parties courantes sur Ol et Or tant ainsi dnies, il sagit alors de calculer les ` facteurs de forme entre les elments de Ol et Or appartenant a ces deux parties. On note LsupO e l et Linf O les limites suprieure et infrieure de la partie ainsi dnie sur Ol ` partir des artes e e e a e l e courantes considres de listup et listdown . Et on note LsupOr et Linf Or les limites suprieure et ee a e ee infrieure de la partie dnie sur Or ` partir des artes courantes considres de listup et listdown . e e Cette mthode de calcul des facteurs de forme entre lments sur des objets convexes, utilie ee sant le complexe de visibilit, est prsente dans le dtail dans la gure 5.10. e e e e Pour mieux comprendre la mthode, lexcution de lalgorithme est illustre sur un exemple e e e o` on calcule les facteurs de forme pour les lments sur deux objets convexes Ol et Or (cf. u ee gure 5.11). Pour chaque tape de litration principale, on montre les artes courantes eup de e e e e e e listup et edown de listdown (reprsentes respectivement en tirets et en pointills), et les parties ` e courantes de Ol et Or (obtenues a partir de eup et edown ) que lon consid`re. Pour calculer les facteurs de forme entre les lments appartenant a ces deux parties, on utilise la formulation ee ` du facteur de forme issue de la string rule, qui permet dexprimer le facteur de forme comme une somme pondre de longueurs de courbes (cf. paragraphe 2.2). Lors du calcul des longueurs ee des courbes croises et non croises entre deux lments donns des objets Ol et Or , on tient e e ee e compte des objets objIup et objIdown (cf. algorithme dans la gure 5.10), qui sont susceptibles dinterfrer entre ces deux lments. e ee La gure 5.12 montre un exemple dimages obtenues avec notre programme. La sc`ne consie dre est constitue de trois objets dont une source. Elle est reprsente en pseuso-3D. Les objets ee e e e sont chantillonns en fonction des discontinuits. Sur la gure 5.12(b), est reporte la valeur de e e e e radiosit obtenue pour chaque lment du grand cercle. La gure 5.12(c) reprsente la matrice e ee e M du syst`me dquations de radiosit (cf. paragraphe 1.1.1). e e e Cette mthode permet de simplier le calcul des facteurs de forme entre les lments qui e ee e a appartiennent aux parties mutuellement visibles de deux objets donns, en se restreignant ` direntes zones sur ces deux objets o` il y a seulement deux objets qui interf`rent (un par le e u e

tel-00004958, version 1 - 20 Feb 2004

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 121

Calcul des facteurs de forme pour la face fOl Or associe a Ol et Or e ` Initialisation eup := premi`re arte de listup associe ` un objet qui interfre entre Ol et Or e e e a e sil y en a au moins un, et sinon la derni`re arte de listup e e edown := premi`re arte de listdown associe ` un objet qui interfre entre Ol et Or e e e a e sil y en a au moins un, et sinon la derni`re arte de listdown e e Soient Oup et Odown les objets associs respectivement aux artes eup et edown e e / On note objIup lobjet courant de la liste suprieure dartes qui est susceptible e e dinterfrer / e / On note objIdown lobjet courant de la liste infrieure dartes qui est susceptible e e dinterfrer / e Itration e vupl := sommet gauche de eup vupr := sommet droit de eup vdownl := sommet gauche de edown vdownr := sommet droit de edown

tel-00004958, version 1 - 20 Feb 2004

LsupOl := intersection avec Ol de la droite dans la sc`ne qui correspond a vupl e ` Si Oup = Or LsupOr := intersection avec Or de la droite dans la sc`ne qui correspond a vupl e ` objIup := NULL Fin Si Sinon LsupOr := intersection avec Or de la droite dans la sc`ne qui correspond a vupr e ` objIup := Oup Fin Sinon e ` Linf Or := intersection avec Or de la droite dans la sc`ne qui correspond a vdownl Si Odown = Ol Linf O := intersection avec Ol de la droite dans la sc`ne qui correspond a vdownl e ` l objIdown := NULL Fin Si Sinon Linf Ol := intersection avec Ol de la droite dans la sc`ne qui correspond a vdownr e ` objIdown := Odown Fin Sinon Calculer les facteurs de forme pour les lments de Ol et Or compris dans les zones ee [LsupOl , Linf O ] de Ol et [LsupOr , Linf Or ] de Or , sachant que les objets objIup l et objIdown sont susceptibles dinterfrer e eup := arte suivante de listup associe ` un objet qui interf`re (si elle existe) e e a e e e a e edown := arte suivante de listdown associe ` un objet qui interf`re (si elle existe) ee e e e e Fin Itration quand les calculs ont t excuts pour les deux derni`res artes e e a e de listup et listdown associes ` des objets qui interf`rent entre Ol et Or

Fig. 5.10 - Un premier algorithme de calcul des facteurs de forme entre lments sur des objets ee convexes.

122
Etape 1 LsupO
l

Echantillonnage et calcul de facteurs de forme


eup Om D2 LsupOr Ol Ok D1 Om D2 Or

Ok D1

Ol
Linf O
l

Or
Or D3 D4 Op On edown Ol

D4 D3 On Op Linf Or

parties courantes de Ol et Or que lon consid`re e Etape 2 LsupO


l

Ok Om

LsupOr

Ok Ol

Om Or

Ol
Linf O

Or

Ol Or Op On Op Linf Or On

tel-00004958, version 1 - 20 Feb 2004

parties courantes de Ol et Or que lon consid`re e

Fig. 5.11 - Parties des objets convexes Ol et Or o` il y a un objet qui interf`re par le haut et u e un objet qui interf`re par le bas. e e haut et un par le bas). On constate cependant que lorsquil y a plusieurs objets qui interf`rent  par le haut et plusieurs objets qui interf`rent  par le bas pour une face donne associe ` deux   e   e e a ee ` ee objets Ol et Or , certaines paires dlments appartenant a Ol et Or sont considres plusieurs fois. On peut voir un exemple sur la gure 5.11. Dans le cas de lexemple considr, les paires ee e e ee dlments qui appartiennent aux parties de Ol et Or marques en pointills sont considres ee deux fois (cf. schma de ltape 2 dans la gure 5.11). e e = Nouvelle ide e e e Soient Oi et Oj deux objets donns (deux objets convexes ou deux artes de polygones, selon le cas), et soit f une face associe ` ces deux objets. Au lieu de considrer directement e a e u e e ee des zones sur Oi et Oj o` il y a deux objets qui interf`rent, on considre chaque lment de ` e a Oi appartenant a la partie mutuellement visible dnie sur Oi ` partir de la face f , puis on dtermine les objets potentiellement interfrants pour cet lment, ainsi que les lments quil e e ee ee  voit sur Oj . Il reste ensuite a calculer les facteurs de forme entre cet lment de Oi et les   ` ee c ee dirents lments quil voit sur Oj . De cette faon, chaque paire dlments de Oi et Oj nest e ee considre quune seule fois et, en plus, on ne consid`re que les paires dlments ncessaires (les ee e ee e lments en visibilit totale ou visibilit partielle, mais pas les lments qui ne se voient pas). ee e e ee Cette mthode permettant deectuer seulement les calculs ncessaires a t implmente e e ee e e pour les sc`nes polygonales. e

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 123

(a)

(b)

(c)

Fig. 5.12 - (a) Sc`ne et chantillonnage au niveau des objets ; (b) valeur de radiosit au niveau e e e du grand cercle ; (c) matrice M du syst`me dquations de radiosit. e e e

5.2.2

Implmentation dune mthode ecace pour les polygones e e

tel-00004958, version 1 - 20 Feb 2004

Pour calculer les facteurs de forme ncessaires pour une sc`ne polygonale donne, on consie e e d`re toutes les faces du complexe de visibilit associes ` deux artes de polygones quelconques e e e a e de cette sc`ne. e Soit une face f donne associe ` deux artes de polygones Cl et Cr . Pour calculer les facteurs e e a e de forme ncessaires pour la face f , on consid`re successivement chaque lment sl de Cl qui e e ee a appartient a la partie mutuellement visible dnie sur Cl ` partir de la face f , et on calcule ` e e pour cet lment la partie quil voit sur larte de polygone Cr . Il sut ensuite de calculer les ee ee e facteurs de forme entre cet lment sl et chaque lment sr de Cr qui appartient enti`rement ou ee ee partiellement a la partie de Cr vue par llment sl . ` Partie mutuellement visible dnie sur Cl ` partir de la face f e a ` La face f associe ` Cl et Cr correspond a une composante connexe de segments libres e a e maximaux qui touchent les deux artes de polygones Cl et Cr . Cette face permet donc de dnir e e deux parties dites mutuellement visibles sur Cl et Cr , dnies de telle sorte que tout point appartenant a la partie mutuellement visible dnie sur Cl voit au moins une partie de la ` e partie mutuellement visible dnie sur Cr , et vice versa. e a La partie mutuellement visible dnie sur Cl (respectivement sur Cr ) ` partir de la face f e correspond ` la partie de Cl (respectivement de Cr ) comprise entre les points dintersection, avec a Cl (respectivement Cr ), des deux droites correspondant respectivement aux premier et dernier sommets de la face f . Dans le cas de la gure 5.13, les premier et dernier sommets de la face associe aux artes de polygones Cl et Cr correspondent respectivement aux sommets Di et Df . e e e e Les droites correspondantes Di et Df dans la sc`ne permettent de dlimiter des parties dites e mutuellement visibles sur Cl et Cr (parties marques par des hachures le long de Cl et Cr , sur la gure 5.13). ee e Partie de Cr vue par un lment sl donn de Cl Pour pouvoir dterminer la partie de larte de polygone Cr vue par un lment sl donn de e e ee e e tre e larte de polygone Cl , il est ncessaire de conna les objets potentiellement interfrants pour e

124
Sc`ne e

Echantillonnage et calcul de facteurs de forme


Face associe a Cl et Cr e `

a1 c arte Cl e Di Df e a2 b2 d

b1 arte Cr e

liste suprieure dartes e e

Di

a1 b2

c e

d a2

Df

liste infrieure dartes e e parties mutuellement visibles sur Cl et Cr dnies a partir de leur face associe e ` e

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.13 - Parties mutuellement visibles sur deux artes de polygones Cl et Cr dnies a partir e e ` de leur face associe. e

ee e e ee ee llment sl considr (objets qui rduisent la visibilit pour llment sl considr et vont donc ee ee inuer sur la partie de Cr qui est vue par cet lment sl ). Pour pouvoir dterminer ces objets, on introduit la notion de zone dinterfrence associe ` e e e a une arte du complexe de visibilit : e e e Soit une face f associe ` deux artes de polygones Cl et Cr . On appelle zone dinterfrence e a e associe ` une arte donne e de la face f , la zone dans la sc`ne qui est comprise entre les deux e a e e e e a e e artes de polygones Cl et Cr associes ` la face f , et qui est dlimite par les deux droites, dans e la sc`ne, correspondant aux deux sommets de la face f adjacents ` larte e considre. Si larte e a e ee e e considre est associe ` un sommet de polygone M qui rduit la visibilit entre Cl et Cr , la ee e a e e u zone dinterfrence associe ` e correspond en fait, dans la sc`ne, ` la rgion entre Cl et Cr o` e e a e a e le sommet de polygone M peut obstruer la visibilit. e e On peut voir un exemple sur la gure 5.14. Considrons larte a de la face associe aux e e e e e deux artes de polygones Cl et Cr . Cette arte est associe au point a de la sc`ne. Elle a pour e ee e sommets adjacents D1 et D2 sur la face considre (cf. schma de droite sur la gure 5.14). La est comprise entre les artes de polygones C et C , et est e zone dinterfrence associe ` larte a e e a e r l e dlimite par les droites D1 et D2 (dans la sc`ne) correspondant respectivement aux sommets e e e a e D1 et D2 de la face associe ` Cl et Cr (cf. schma de gauche sur la gure 5.14). e e Une face f associe ` deux artes de polygones Cl et Cr est constitue de deux listes dartes : e a e e e une liste suprieure dartes que lon appelle listup et qui est entre autres constitue des artes e e e associes aux sommets de polygones qui rduisent la visibilit par le haut entre les artes de e e e e e polygones Cl et Cr (cf. gure 5.13 pour un exemple) ; et une liste infrieure dartes que lon e e e appelle listdown et qui est entre autres constitue des artes associes aux sommets de polygones

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 125
Sc`ne e Espace dual

i1 D1 a Cl b D2

j1 a i1 Cr j2 i2

b D2 j1

D1

i2

j2

zone dinterfrence associe a larte a e e ` e

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.14 - Zone dinterfrence associe ` une arte dune face associe ` deux artes de polye e a e e a e gones Cl et Cr . qui rduisent la visibilit par le bas entre Cl et Cr (cf. gure 5.13 pour un exemple). La partie e e ee e de larte de polygone Cr vue par un lment sl donn de Cl est donc obtenue en maintenant deux e ee e zones dinterfrence courantes qui dpendent de llment sl considr : une zone dinterfrence e e ee e a e e e e ZIup associe ` une arte de la liste suprieure dartes de la face f , et une zone dinterfrence e a e e e e ZIdown associe ` une arte de la liste infrieure dartes de la face f . Les deux artes de la e face f qui permettent de dnir les zones dinterfrence ZIup et ZIdown , sont les deux artes e e associes aux deux sommets de polygones courants qui sont susceptibles dobstruer la visibilit e e ee e pour llment sl considr, sil existe de tels sommets de polygones, et sinon les deux derni`res ee artes de la face f . Ces deux artes permettant de dnir les zones dinterfrence ZIup et ZIdown e e e e sont appeles respectivement eup et edown . Les deux sommets de polygones associs aux artes e e e e eup et edown sont nomms respectivement pup et pdown . Si on conna les zones dinterfrence courantes de listup et de listdown , et la position par t e ee e rapport a ces deux zones de llment sl considr de Cl , on peut alors facilement dterminer la ` ee ee e e e partie vue par sl sur Cr . Pour un lment sl donn avec pour points extrmits [pl0 , pl1 ], la partie e visible sur larte de polygone Cr est lintervalle entre les points prup et prdown dnis comme e suit : e prup est lintersection de la droite (pl1 pup ) avec larte de polygone Cr si elle existe, et e e sinon lextrmit de Cr la plus proche (cf. schma de ltape 1 dans la gure 5.16 pour un e e exemple, avec le point c qui correspond au point pup ). si pdown correspond a lextrmit basse de Cl et que edown nest pas la premi`re arte de ` e e e e a e e listdown , alors prdown correspond ` lextrmit basse de Cr ; sinon : prdown est lintersection e e de la droite (pl0 pdown ) avec Cr si elle existe, et sinon lextrmit de Cr la plus proche (cf. schma de ltape 1 dans la gure 5.16 pour un exemple, avec le point f qui correspond e e au point pdown ).

126 Description de lalgorithme

Echantillonnage et calcul de facteurs de forme

La mthode de calcul des facteurs de forme entre lments sur des artes de polygones, e ee e utilisant le complexe de visibilit, est prsente dans le dtail dans la gure 5.15. Lalgorithme e e e e dcrit explique comment on dtermine les facteurs de forme ncessaires (sl , sr ) pour les paires e e e dlments (sl , sr ) dune face f donne du complexe de visibilit, associe ` deux artes de ee e e e a e polygones Cl et Cr . Pour mieux comprendre la mthode, lexcution de lalgorithme est illustre sur un exemple e e e o` on calcule les facteurs de forme entre les lments sur deux artes de polygones Cl et Cr (cf. u ee e gure 5.16). Pour chaque tape de litration principale, on montre les artes courantes eup de e e e e e e listup et edown de listdown (reprsentes respectivement en tirets et en pointills), et les zones dinterfrence (dans la sc`ne) correspondant a eup et edown . La zone dinterfrence courante de e e ` e e e e listup (ZIup ) est reprsente en gris clair, et celle de listdown (ZIdown ) en gris fonc. La partie courante de Cl qui est considre est indique par un segment trac le long de Cl . On suppose ee e e e ici que cette partie correspond a un lment sl de larte de polygone Cl . On montre alors au ` ee niveau de larte de polygone Cr les direntes rgions pour lesquelles il y a un type spcique e e e e e e de facteur de forme (avec visibilit totale, avec comme point potentiellement interfrant c, d, e ou f  (cf. gure 5.16)). On recense quatre types dirents de facteurs de forme (cf. algorithme dans la gure 5.15) : e  avec visibilit totale ,  avec comme point potentiellement interfrant pup  ,  avec comme point  e   e   e potentiellement interfrant pdown , avec comme points potentiellement interfrants pup et pdown . e Ces dirents types de facteurs de forme sont calculs en utilisant la formulation du facteur de e e forme issue de la string rule, qui permet dexprimer le facteur de forme comme une somme pondre de longueurs de courbes (cf. paragraphe 2.2). Typiquement pour un type donn de ee e e facteur de forme, avec comme point potentiellement interfrant pup  par exemple, on peut identier direntes congurations pour lesquelles il y a une formulation spcique du facteur e e de forme. Ces congurations sont lies aux direntes rgions o` le point pup peut se trouver. e e e u e e La gure 5.17 montre les direntes rgions possibles contenant le point pup (rgions colories e e en gris clair), et la face correspondant ` chaque possibilit. Sur cette mme gure, on peut aussi a e e voir pour chaque cas, lexpression de la somme des longueurs de courbes (issue de la string t ee rule), qui appara dans lexpression du facteur de forme entre lments (cf. paragraphe 5.1.1). Cette somme de longueurs de courbes correspond ` la somme des longueurs des courbes croises a e tendues entre les extrmits des deux lments considrs moins la somme des longueurs des e e ee ee courbes non croises tendues entre les extrmits de ces deux lments. e e e ee On peut laborer une mthode similaire pour les objets convexes qui permet, comme dans le e e cas de la mthode implmente pour les polygones, de considrer seulement les paires dlments e e e e ee ncessaires, et deectuer ainsi seulement les calculs ncessaires. e e

tel-00004958, version 1 - 20 Feb 2004

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 127

Calcul des facteurs de forme pour la face f associe a Cl et Cr e ` Initialisation eup := premi`re arte de listup associe ` un point qui interfre  par le haut entre Cl et Cr e e e a e   sil y en a au moins un, et sinon la derni`re arte de listup e e edown := premi`re arte de listdown associe ` un point qui interfre  par le bas entre Cl et Cr e e e a e   sil y en a au moins un, et sinon la derni`re arte de listdown e e ZIup := zone dinterfrence associe ` eup e e a ZIdown := zone dinterfrence associe ` edown e e a Soient plu et pld les points extrmits de la partie mutuellement visible dnie sur Cl e e e a ` partir de la face f sl := premier lment sur Cl appartenant a [plu , pld ] ee ` Itration e Calculer les points prup et prdown en fonction de la valeur courante de llment sl ee / Remarque : sl est ` lintrieur de ZIup / a e Si sl est ` lextrieur de ZIdown a e Pour tout lment sr avec au moins une partie dans [prup , prdown ] faire ee Si sr est ` lextrieur de ZIup a e Calculer (sl , sr ) avec visibilit totale e Sinon / Cas : sr est ` lintrieur de ZIup / a e Calculer (sl , sr ) avec comme point potentiellement interfrant pup e Fin Pour Sinon / Cas : sl est ` lintrieur de ZIdown / a e Pour tout lment sr avec au moins une partie dans [prup , prdown ] faire ee a e Si sr est ` lintrieur de ZIdown Si sr est ` lextrieur de ZIup a e Calculer (sl , sr ) avec comme point potentiellement interfrant pdown e Sinon / Cas : sr est ` lintrieur de ZIup / a e Calculer (sl , sr ) avec comme points potentiellement interfrants pup et pdown e Sinon / Cas : sl est ` lintrieur de ZIdown et sr est ` lextrieur de ZIdown / a e a e a e Si sr est ` lextrieur de ZIup Calculer (sl , sr ) avec visibilit totale e Sinon / Cas : sr est ` lintrieur de ZIup / a e e Calculer (sl , sr ) avec comme point potentiellement interfrant pup Fin Pour sl := lment suivant sur Cl appartenant a [plu , pld ] ee ` Si extrmit  haute de sl = limite la plus basse de ZIup e e  eup := arte suivante de listup (si elle existe) e ZIup := zone dinterfrence associe ` eup e e a Fin Si Si extrmit  haute de sl = limite la plus basse de ZIdown e e  edown := arte suivante de listdown (si elle existe) e e e a ZIdown := zone dinterfrence associe ` edown Fin Si Fin Itration quand les calculs ont t excuts pour le dernier lment sl appartenant a [plu , pld ] e ee e e ee `

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.15 - Algorithme de calcul des facteurs de forme entre lments sur des artes de polygones. ee e

128
Etape 1 pl0 pl1 a1 c d b1 Cr prup

Echantillonnage et calcul de facteurs de forme

a 1 Interfrence avec c e pr0 p r1 b2 b 2 Visibilit totale e prdown Etape 3

b 1 a 2

Cl a2

Etape 2 sl

Interfrence avec d e Visibilit totale e

Interfrence avec d e

Visibilit totale e

Interfrence avec f e

Etape 4

Etape 5 Visibilit totale e Visibilit totale e

tel-00004958, version 1 - 20 Feb 2004

Interfrence avec f e

Interfrence avec e e

Fig. 5.16 - Zones dinterfrence au cours du calcul des facteurs entre les lments sur deux e ee artes de polygones Cl et Cr . e

5.2.3

Mthode similaire elabore pour les objets convexes e e

De mani`re similaire au cas des polygones (cf. paragraphe 5.2.2), pour calculer les facteurs e de forme ncessaires pour une sc`ne constitue dobjets convexes donne, on consid`re toutes e e e e e les faces du complexe de visibilit associes ` deux objets convexes quelconques de cette sc`ne. e e a e e Soit une face f associe ` deux objets convexes Ol et Or donns. Pour calculer les facteurs e a de forme ncessaires pour la face f , on consid`re successivement chaque lment sl de Ol qui e e ee a appartient a la partie mutuellement visible dnie sur Ol ` partir de la face f , et on calcule ` e pour cet lment la partie quil voit sur lobjet convexe Or . Il sagit ensuite de calculer les ee ee e facteurs de forme entre cet elment sl et chaque lment sr de Or qui appartient enti`rement ou e ee partiellement a la partie de Or vue par llment sl . ` Partie mutuellement visible dnie sur Ol ` partir de la face f e a a a La partie mutuellement visible dnie sur Ol ` partir de la face f est obtenue ` partir e e de certains sommets de la face f . Plus prcisment, les limites suprieures des parties dites e e a e mutuellement visibles sur Ol et Or sont obtenues ` partir de sommets de la liste suprieure

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 129
pl0 pl1 k pr0 pl0 + + pl1 pr1 pl0 pl1 pr0 + pr1 pr1 k pl1 pr0 +

pr0 pr1

pl0 pl1

pr0 pr1

pl0 + pr1

k pl1

pl0 + pl1

pr0 + pr1 pr1

k pl1

Fig. 5.17 - Les direntes congurations dobstruction par le haut pour une paire dlments e ee [pl0 , pl1 ] et [pr0 , pr1 ]. e a dartes de la face f , et les limites infrieures sont obtenues ` partir de sommets de la liste e infrieure dartes de la face f . On peut voir dirents exemples sur la gure 5.18. Les extrmits e e e e e  suprieure et  infrieure de la partie mutuellement visible dnie sur lobjet Ol ` partir  e   e  e a e de la face associe aux objets Ol et Or sont appeles respectivement plu et pld . Les parties e e a e e mutuellement visibles sur Ol et Or dnies ` partir de leur face associe sont marques par des hachures le long de Ol et Or (cf. gure 5.18). Si la liste suprieure dartes de la face f considre ne contient pas dartes associes ` e e ee e e a e des objets qui interf`rent (cf. gure 5.18(a)), les limites suprieures des parties mutuellement e a e visibles sur Ol et Or sont obtenues ` partir du sommet vOl Or qui a pour artes incidentes Ol et Or au niveau de la face f . Ces limites suprieures sur Ol et Or correspondent respectivement e e aux points dintersection avec Ol et Or de la droite dans la sc`ne qui correspond au sommet e e e e e a vOl Or . De mme, si la liste infrieure dartes de la face f ne contient pas dartes associes ` e des objets qui interf`rent (cf. gure 5.18(a)), les limites infrieures des parties mutuellement e a e visibles sur Ol et Or sont obtenues ` partir du sommet vOr Ol qui a pour artes incidentes Or et Ol au niveau de la face f . Si la liste suprieure (respectivement infrieure) dartes de la face f contient une souse e e e cha dartes associes ` des objets qui interf`rent (cf. gure 5.18(b)), les limites suprieures ne e e a e (respectivement infrieures) des parties mutuellement visibles sur Ol et Or sont obtenues ` e a partir des deux sommets extrmits de cette sous-cha dartes. e e ne e Si les listes suprieure et infrieure dartes de la face f sont constitues uniquement dune e e e e cha dartes associes ` des objets qui interf`rent (cf. gure 5.18(c)), les limites des parties ne e e a e mutuellement visibles sont obtenues ` partir du premier et du dernier sommet de la face f . a ee e Partie de Or vue par un lment sl donn de Ol Comme dans le cas des polygones (cf. paragraphe 5.2.2), la partie de Or vue par un lment ee e e e sl donn de Ol est obtenue en maintenant deux zones dinterfrence courantes qui dpendent de ee e e a e e llment sl considr : une zone dinterfrence ZIup associe ` une arte de la liste suprieure ee e a e e dartes de la face f , et une zone dinterfrence ZIdown associe ` une arte de la liste infrieure e e dartes de la face f . Les deux artes de la face f qui permettent de dnir les zones dinterfe e e e e e rence ZIup et ZIdown , sont les deux artes associes aux deux objets convexes courants qui sont ee susceptibles dobstruer la visibilit pour llment sl considr, sil existe de tels objets, et sinon e ee

tel-00004958, version 1 - 20 Feb 2004

130

Echantillonnage et calcul de facteurs de forme

Face associe ` Ol et Or e a (a)


lsupO
l

plu Df lsupOr

Ol Or
Di

Or
Df

Ol
linf O Di
l

Or
linf O
r

Ol

pld

parties mutuellement visibles sur Ol et Or dnies a partir de leur face associe e ` e

tel-00004958, version 1 - 20 Feb 2004

Ok
(b)
lsupO plu

Om

Face associe ` Ol et Or e a

Df

lsupOr

Ok Ol

Om Or
Df

Ol
Di linf O
l

Or
linf O

Di

Or
r

Ol On

pld

On

Face associe ` Ol et Or e a (c)

Ok Ol
plu Di

Om Or Ok
Di

Om
Df

pld Df

Op Op

On

On

Fig. 5.18 - Parties mutuellement visibles sur deux objets convexes Ol et Or dnies a partir de e ` leur face associe. e

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 131 les deux derni`res artes de la face f . Les deux objets convexes associs aux deux artes permete e e e tant de dnir les zones dinterfrence ZIup et ZIdown sont appels respectivement Oup et Odown . e e e La zone dinterfrence associe ` une arte e dune face associe ` deux objets convexes est e e a e e a la zone dans la sc`ne qui est comprise entre ces deux objets, et qui est dlimite par les deux e e e droites (dans la sc`ne) correspondant aux deux sommets adjacents a larte e considre, ainsi e ` e ee que par lobjet convexe associ ` larte e. ea e e On peut voir un exemple sur la gure 5.19. Considrons larte Ok de la face associe aux e e
Sc`ne e Espace dual

D1 Ok

D2 Ok Oi D1 D2 Oj

Oi

Oj Oj Oi

tel-00004958, version 1 - 20 Feb 2004

zone dinterfrence associe a larte Ok e e ` e

Fig. 5.19 - Zone dinterfrence associe ` une arte dune face associe ` deux objets convexes e e a e e a Oi et Oj . objets convexes Oi et Oj . Cette arte est associe ` lobjet convexe Ok . Elle a pour sommets e e a ee e adjacents D1 et D2 au niveau de la face considre (cf. schma de droite sur la gure 5.19). Ces deux sommets correspondent respectivement dans la sc`ne aux droites D1 et D2 . La zone e e e dinterfrence associe ` larte Ok est comprise entre les objets Oi et Oj , et est dlimite par e e a e les droites D1 et D2 , ainsi que par une portion de lobjet Ok . Soit une face f donne associe ` deux objets convexes Ol et Or . On appelle lsupO et linf O e e a l l les points dintersection avec Ol des deux droites dans la sc`ne qui correspondent respectivement e aux premier et dernier sommets de la face f . De mme, on appelle lsupOr et linf Or les points e e dintersection avec Or des deux droites dans la sc`ne qui correspondent respectivement aux dernier et premier sommets de la face f . On peut voir dirents exemples sur la gure 5.18. Les e e points lsupO , linf O , linf Or et lsupOr sont indiqus pour chacun des exemples (a), (b) et (c). Ces l l points correspondent respectivement aux points dintersection avec Ol et Or des droites Di et Df , droites correspondant respectivement aux sommets Di et Df (premier et dernier sommets) de la face associe aux objets Ol et Or . e Si on conna les deux zones dinterfrence ZIup et ZIdown courantes, ainsi que la position t e ee e par rapport a ces deux zones de llment sl considr de Ol , et les points lsupO et linf O dnis ` ee
l l

132

Echantillonnage et calcul de facteurs de forme

sur Ol ` partir de la face f , on peut alors dterminer la limite suprieure prup et la limite a e e  infrieure prdown de la partie de Or vue par llment sl . La dtermination de ces deux points  e  ee e est dcrite dans la gure 5.20. e On peut voir un exemple sur le schma de ltape 1 dans la gure 5.23, avec lobjet Ok e e correspondant ` lobjet Oup et lobjet On correspondant ` lobjet Odown . Les points prup et a a e prdown correspondants sont indiqus le long de Or sur la gure.
Soit ZIup la zone dinterfrence courante de la liste suprieure dartes de la face f considre e e e ee / la face f est associe aux objets convexes Ol et Or / e Soit Oup lobjet convexe associ ` larte permettant de dnir ZIup ea e e Soit ZIdown la zone dinterfrence courante de la liste infrieure dartes de la face f e e e ea e e Soit Odown lobjet convexe associ ` larte permettant de dnir ZIdown Soient plu et pld les points extrmits de la partie mutuellement visible dnie sur Ol e e e a ` partir de la face f Soient lsupO , linf O les intersections avec Ol des droites associes aux premier et dernier e l l sommets de la face f ee e e Soit sl un lment de lobjet convexe Ol avec pour points extrmits [pl0 , pl1 ]

tel-00004958, version 1 - 20 Feb 2004

Dtermination de prup e Si sl est ` lintrieur de ZIup a e Si Oup = Or prup := intersection avec Or de la droite tangente ` Oup passant par pl1 a Sinon / Cas : Oup = Or / a prup := intersection avec Or de la droite tangente ` Or passant par pl0 Sinon / Cas : sl est ` lextrieur de ZIup / a e prup := intersection avec Or de la droite tangente a Ol en pl0 ` Dtermination de prdown e Si sl est ` lintrieur de ZIdown a e Si Odown = Ol prdown := intersection avec Or de la droite Sinon / Cas : Odown = Ol / prdown := intersection avec Or de la droite Sinon / Cas : sl est ` lextrieur de ZIdown / a e Si sl [plu , lsupOl ] prdown := intersection avec Or de la droite Si sl [lsupOl , linf Ol ] prdown := intersection avec Or de la droite

tangente a Odown passant par pl0 ` tangente a Or passant par pl1 `

tangente a Ol en pl1 ` tangente a Or passant par pl1 `

Fig. 5.20 - Dtermination des points prup et prdown pour un lment sl donn. e ee e

Description de lalgorithme La nouvelle mthode de calcul des facteurs de forme entre lments sur des objets convexes e ee labore ` partir de la mthode implmente pour les polygones est prsente dans le dtail e e a e e e e e e dans la gure 5.21. Lalgorithme dcrit explique comment on dtermine les facteurs de forme e e ee e ncessaires (sl , sr ) pour les paires dlments (sl , sr ) dune face f donne du complexe de e

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 133 visibilit associe ` deux objets convexes Ol et Or . Soient plu et pld les points extrmits de e e a e e la partie mutuellement visible dnie sur Ol ` partir de la face f , et soient lsupO et linf O les e a l l e points dintersection avec Ol des deux droites dans la sc`ne qui correspondent respectivement aux premier et dernier sommets de la face f . On distingue trois cas pour un lment sl donn : ee e ` ` soit sl appartient a la partie de Ol comprise entre les points plu et lsupO , soit il appartient a la l ` partie de Ol comprise entre lsupO et linf O , soit il appartient a la partie de Ol comprise entre l l e e e linf O et pld . Pour chacun de ces cas, on ralise un traitement spcique qui est dcrit dans la l gure 5.22. Pour mieux comprendre la mthode, lexcution de lalgorithme est illustre sur un exemple e e e o` on calcule les facteurs de forme pour les lments sur deux objets convexes Ol et Or . La u ee gure 5.23 illustre le droulement de lalgorithme pour les paires dlments (sl , sr ) (sl Ol e ee et sr Or ) tels que sl [plu , lsupO ], la gure 5.24 pour les lments (sl , sr ) tels que sl ee l ee [lsupO , linf O ], et la gure 5.25 pour les lments (sl , sr ) tels que sl [linf O , pld ]. Sur chaque l l l gure, on montre, pour chaque tape de litration principale de lalgorithme, larte courante e e e e e e a e eup de la liste suprieure dartes de la face associe ` Ol et Or , larte courante edown de la liste infrieure dartes de cette face, ainsi que les zones dinterfrence (dans la sc`ne) correspondant e e e e e e e e e a ` eup et edown . Larte eup est reprsente en tirets et larte edown en pointills. La zone dinterfrence courante de la liste suprieure dartes est reprsente en gris clair, et celle de la liste e e e e e ee e infrieure dartes en gris fonc. La partie courante de Ol qui est considre est indique par un e e e a morceau de courbe trac le long du contour de Ol . On suppose ici que cette partie correspond ` e un lment sl de lobjet convexe Ol . On montre alors au niveau du contour de lobjet convexe ee e e e Or les direntes rgions pour lesquelles il y a un type spcique de facteur de forme (avec e visibilit totale, avec comme objet potentiellement interfrant Ol , Or , Ok , Om ou On  (cf. e gures 5.23, 5.24 et 5.25)). e Dans le cas o` sl [plu , lsupO ], on recense trois types dirents de facteurs de forme (cf. u l dtermination du facteur de forme dans la gure 5.22) : avec comme objets potentiellement e e interfrants Ol et Or , avec comme objet potentiellement interfrant Ol , avec comme objet e u potentiellement interfrant Oup . Le cas o` sl [linf O , pld ] est assez similaire si ce nest que e l lobstruction se produit par le bas au lieu de se produire par le haut. On recense donc aussi trois types dirents de facteurs de forme pour ce cas (cf. dtermination du facteur de forme e e e dans la gure 5.22) : avec comme objets potentiellement interfrants Ol et Or , avec comme e objet potentiellement interfrant Ol , avec comme objet potentiellement interfrant Odown . e e Dans le cas o` sl [lsupO , linf O ], on recense cinq types dirents de facteurs de forme (cf. u l l dtermination du facteur de forme dans la gure 5.22) : avec comme objet potentiellement e e e interfrant Or , avec visibilit totale, avec comme objet potentiellement interfrant Oup , e  avec comme objet potentiellement interfrant Odown  ,  avec comme objets potentiellement  e   e e interfrants Oup et Odown . Ces dirents types de facteurs de forme sont calculs en utilisant e la formulation du facteur de forme issue de la string rule, qui permet dexprimer le facteur de forme comme une somme pondre de longueurs de courbes (cf. paragraphe 2.2). Connaissant ee les objets potentiellement interfrants pour deux lments donns de Ol et Or , le facteur de e ee e forme entre ces deux lments est obtenu de faon simple en tenant compte, lors du calcul des ee c courbes croises et non croises entre les deux lments considrs, des objets potentiellement e e ee ee interfrants entre ces deux lments. e ee

tel-00004958, version 1 - 20 Feb 2004

134

Echantillonnage et calcul de facteurs de forme

Calcul des facteurs de forme pour la face f associe a Ol et Or e ` Initialisation eup := premi`re arte de listup associe ` un objet qui interfre entre Ol et Or e e e a e sil y en a au moins un, et sinon la derni`re arte de listup e e edown := premi`re arte de listdown associe ` un objet qui interfre entre Ol et Or e e e a e sil y en a au moins un, et sinon la derni`re arte de listdown e e Soient Oup et Odown les objets associs respectivement aux artes eup et edown e e ZIup := zone dinterfrence associe ` eup e e a ZIdown := zone dinterfrence associe ` edown e e a Soient plu et pld les points extrmits de la partie mutuellement visible dnie sur Ol e e e a ` partir de la face f Soient pru et prd les points extrmits de la partie mutuellement visible dnie sur Or e e e a ` partir de la face f Soient lsupOl , linf O les intersections avec Ol des droites associes aux premier et dernier e l sommets de la face f Soient lsupOr , linf Or les intersections avec Or des droites associes aux dernier et premier e sommets de la face f ee ` sl := premier lment sur Cl appartenant a [plu , pld ]

tel-00004958, version 1 - 20 Feb 2004

Itration e Calculer les points prup et prdown en fonction de la valeur courante de llment sl ee (cf. gure 5.20) Si sl [plu , lsupOl ] Pour tout lment sr avec au moins une partie dans [prup , prdown ] faire ee Cf. Cas 1 dans la gure 5.22 Fin Pour Si sl [lsupO , linf O ] l l Pour tout lment sr avec au moins une partie dans [prup , prdown ] faire ee Cf. Cas 2 dans la gure 5.22 Fin Pour Si sl [linf Ol , pld ] Pour tout lment sr avec au moins une partie dans [prup , prdown ] faire ee Cf. Cas 3 dans la gure 5.22 Fin Pour sl := lment suivant sur Ol appartenant a [plu , pld ] ee ` Si extrmit  haute de sl = limite la plus basse de ZIup e e  eup := arte suivante de listup (si elle existe) e ZIup := zone dinterfrence associe ` eup e e a Fin Si Si extrmit  haute de sl = limite la plus basse de ZIdown e e  edown := arte suivante de listdown (si elle existe) e ZIdown := zone dinterfrence associe ` edown e e a Fin Si ee e e ee ` Fin Itration quand les calculs ont t excuts pour le dernier lment sl appartenant a [plu , pld ] e

Fig. 5.21 - Algorithme de calcul des facteurs de forme entre lments sur des objets convexes. ee

5.2 Implmentation : Calcul des facteurs de forme entre lments au moyen du e ee complexe 135
Calcul du facteur de forme (sl , sr ) entre deux lments sl et sr ee Cas 1 : sl [plu , lsupOl ] a e a e / sl est ` lintrieur de ZIup et sl est ` lextrieur de ZIdown / Si Oup = Or Si sr [pru , lsupOr ] Calculer (sl , sr ) avec comme objets potentiellement interfrants Ol et Or e Si sr [lsupOr , linf Or ] e Calculer (sl , sr ) avec comme objet potentiellement interfrant Ol Sinon / Cas : Oup = Or / Si sr est ` lintrieur de ZIup a e Calculer (sl , sr ) avec comme objet potentiellement interfrant Oup e Sinon / Cas : sr est ` lextrieur de ZIup / a e Calculer (sl , sr ) avec comme objet potentiellement interfrant Ol e Cas 2 : sl [lsupOl , linf Ol ] a e / sl est ` lintrieur de ZIup / Si sl est ` lextrieur de ZIdown a e Si sr est ` lintrieur de ZIup a e Calculer (sl , sr ) avec comme objet potentiellement interfrant Oup e Sinon / Cas : sr est ` lextrieur de ZIup / a e Si sr [linf Or , prd ] e Calculer (sl , sr ) avec comme objet potentiellement interfrant Or Sinon Calculer (sl , sr ) avec visibilit totale e a e Sinon / Cas : sl est ` lintrieur de ZIdown / Si sr est ` lintrieur de ZIup a e Si sr est ` lextrieur de ZIdown a e Calculer (sl , sr ) avec comme objet potentiellement interfrant Oup e Sinon / Cas : sr est ` lintrieur de ZIdown / a e Calculer (sl , sr ) avec comme objets potentiellement interfrants Oup et Odown e Sinon / Cas : sr est ` lextrieur de ZIup / a e Si sr est ` lextrieur de ZIdown a e Calculer (sl , sr ) avec visibilit totale e a e Sinon / Cas : sr est ` lintrieur de ZIdown / Calculer (sl , sr ) avec comme objet potentiellement interfrant Odown e Cas 3 : sl [linf Ol , pld ] a e a e / sl est ` lextrieur de ZIup et sl est ` lintrieur de ZIdown / Si Odown = Ol Si sr [lsupOr , linf Or ] e Calculer (sl , sr ) avec comme objet potentiellement interfrant Ol Si sr [linf Or , prd ] e Calculer (sl , sr ) avec comme objets potentiellement interfrants Ol et Or Sinon / Cas : Odown = Ol / a e Si sr est ` lextrieur de ZIdown Calculer (sl , sr ) avec comme objet potentiellement interfrant Ol e Sinon / Cas : sr est ` lintrieur de ZIdown / a e e Calculer (sl , sr ) avec comme objet potentiellement interfrant Odown

tel-00004958, version 1 - 20 Feb 2004

Fig. 5.22 - Dtermination du facteur de forme entre deux lments sl et sr . e ee

sl [plu , lsupO ]
l

Etape 1

tel-00004958, version 1 - 20 Feb 2004

lsupO plu

Ok

Om
pru lsupOr prup Interfrence avec Ok e Ok Ol Or On Om Or Ol

sl

pl0 pl1

Ol
linf O
l

Or
prdown linf Or Interfrence avec Ol e

pld

p rd

On

Fig. 5.23 - Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que sl [plu , lsupO ].
l

sl [lsupOl , linf O ]
l

Etape 2 plu sl

Ok

Om
pru

Ol

Or

Interfrence avec Ok e Ol Visibilit totale e Interfrence avec Or e Or

Ok

Om Or Ol

On pld

On

prd

tel-00004958, version 1 - 20 Feb 2004

Etape 3 plu pl0 pl1

Ok

Om
pru Interfrence avec Om e Ok Ol Or On Interfrence avec Or e Om Or Ol

Or

Visibilit totale e

Ol

pld

On

prd

Etape 4 plu

Ok

Om
pru Interfrence avec Or e Visibilit totale e Ok Om Ol Or On

Etape 5 plu

Ok

Om
pru Interfrence e avec Or

Ol Or

Or Ol

Visibilit totale e

Ol

Or
Interfrence e avec On

pld

On

prd

Interfrence avec Or e pld

prd

On

Fig. 5.24 - Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que Sl [lsupO , linf O ].
l l

sl [linf O , pld ]
l

Etape 6

tel-00004958, version 1 - 20 Feb 2004

Ok
plu

Om
pru Interfrence avec Ol e Ol Ok Om Or Ol On

Ol

Or
Or Interfrence avec On e

pld

prd

On

Fig. 5.25 - Zones dinterfrence au cours du calcul des facteurs de forme entre les lments e ee (sl , sr ) (sl Ol et sr Or ) tels que Sl [linf O , pld ].
l

139

Chapitre 6

Tests de comparaison avec la mthode de Heckbert e


Nous avons ralis dirents tests sur des sc`nes polygonales 2D, permettant de comparer e e e e la mthode que nous avons implment ` une mthode de calcul traditionnelle. Pour cela, nous e e ea e avons utilis limplmentation de Heckbert [Hec91] qui prsente lavantage de dj` traiter le e e e ea maillage de discontinuit, et dutiliser pour le calcul des facteurs de forme, une mthode come e munment utilise qui consiste a approximer le facteur de forme lment ` lment par le facteur e e ` ee aee de forme point a lment. `ee Nous nous sommes dabord intresss ` la faon dont les facteurs de forme sont calculs dans e e a c e les deux mthodes et nous avons compar les valeurs obtenues pour une mme sc`ne. Nous avons e e e e ensuite considr les deux programmes dans leur intgralit (du calcul du maillage de la sc`ne ee e e e jusqu` lobtention de la solution de radiosit) et nous avons tudi leur comportement sur des a e e e sc`nes plus complexes. e

tel-00004958, version 1 - 20 Feb 2004

6.1
6.1.1

Prsentation des deux mthodes de calcul de facteurs de e e forme


Notre mthode : facteurs de forme calculs par une somme pondre e e e e de longueurs de courbes

Nous utilisons la mthode de calcul de facteurs de forme implmente pour les sc`nes polye e e e gonales (cf. paragraphe 5.2.2). Le complexe de visibilit permet didentier les paires dlments e ee qui se voient mutuellement ainsi que les objets susceptibles de rduire la visibilit pour chacune e e de ces paires. Le facteur de forme pour une telle paire dlments est ensuite calcul en utilisant ee e la formulation du facteur de forme issue de la string rule, qui permet dexprimer le facteur de forme comme une somme pondre de longueurs de courbes (cf. paragraphe 2.2). ee Le facteur de forme ainsi calcul entre deux lments i et j donns correspond ` un facteur e ee e a de forme lment ` lment. ee aee

6.1.2

Mthode de Heckbert e

Heckbert dans [Hec91] prsente direntes solutions de calcul de radiosit qui utilisent die e e e rentes techniques de maillage (maillage uniforme ou maillage tenant compte des discontinuits) e

140

Tests de comparaison avec la mthode de Heckbert e

et dirents types dlments (notamment lments constants ou lments linaires). Ltude est e ee ee ee e e ralise en 2D sur des sc`nes composes de segments et de polygones clairs par des sources de e e e e e e lumi`re diuses. e Heckbert dans [Hec91] et [Hec92a] calcule des facteurs de forme point a lment. Dans le ` ee cas des lments constants, le facteur de forme entre deux lments i et j est approxim par le ee ee e e ee facteur de forme point ` lment Fpi j calcul au point pi , milieu de llment i. Le facteur de a ee ee e forme Fij entre deux lments i et j est donc exprim par (cf. [Hec92a]) : Fij Fpi j = ds
lment j ee

cos s cos s V 2r

(6.1)

avec (cf. gure 6.1) : pi de param`tre s sur llment i, s le param`tre dun point pj sur llment e ee e ee ` j, s langle de la droite (pi pj ) par rapport a la normale en pi (s), s langle de la droite (pj pi ) e par rapport a la normale en pj (s ), r la distance entre pi et pj , et V la fonction de visibilit ` e a entre les points pi (s) et pj (s ) (V est gal ` 1 si pi et pj se voient mutuellement et 0 sinon). Le facteur de forme point ` lment est calcul analytiquement (cf. [Hec91]). Lintervalle considr aee e ee sur llment j va dpendre de la visibilit depuis le point pi (cf. gure 6.2). ee e e

tel-00004958, version 1 - 20 Feb 2004

lment j ee J1 pj (s ) s r s J2 I2

I1

lment i ee pi (s) (point x) e x

Fig. 6.1 - Notations pour le facteur de forme point a lment. ` ee

j i
pi (s) pj 0 (s0 ) Intervalle de visibilit sur j e pj 1 (s1 )

Fig. 6.2 constants).

Visibilit entre deux lments (Cas de la mthode de Heckbert avec lments e ee e ee

Dans le cas des lments constants, pour le calcul du facteur de forme entre deux lments i ee ee et j donns, on calcule un seul facteur de forme point ` lment au point milieu de llment i. e aee ee Par contre dans le cas des lments linaires, un facteur de forme point a lment est calcul en ee e `ee e

6.2 Comparaison des valeurs de facteurs de forme obtenues

141

chaque extrmit dlments. On ne peut donc pas dans ce cas associer directement un facteur e e ee de forme a deux lments i et j donns, comme cest le cas avec notre mthode de calcul de ` ee e e facteurs de forme. Pour cela, nous avons donc choisi parmi les direntes solutions prsentes e e e par Heckbert celle utilisant les lments constants, pour la comparer a notre mthode. ee ` e

6.2

Comparaison des valeurs de facteurs de forme obtenues

Dirents tests ont t raliss permettant de comparer, pour des sc`nes composes de sege ee e e e e ments, les valeurs de facteurs de forme obtenues par la mthode de Heckbert [Hec91] et les e valeurs de facteurs de forme obtenues par notre mthode o` les facteurs de forme sont calculs e u e par une somme pondre de longueurs de courbes. ee

6.2.1

Crit`re de comparaison choisi e

An de comparer les deux mthodes, on dnit une fonction qui permet de quantier la e e dirence entre les valeurs de facteurs de forme obtenues avec les deux mthodes. e e Soient i, j deux lments de la sc`ne. ee e

tel-00004958, version 1 - 20 Feb 2004

(i, j) =

| Fij

longueurs de courbes

Fij Heckbert |

Fij

longueurs de courbes

(i, j) correspond a la valeur absolue de la dirence entre le facteur de forme Fij entre deux ` e e e lments i et j obtenu avec notre mthode et le facteur de forme Fij donn par la mthode de ee e e Heckbert, le tout divis par le facteur de forme Fij obtenu avec notre mthode. e Si on pose : = (i, j) 100 pour deux lments i et j donns, on a alors : ee e a e Fij Heckbert = Fij longueurs de courbes ` % pr`s. Sachant que dans notre mthode on calcule des facteurs de forme elment ` lment et que e e aee dans la mthode de Heckbert on calcule des facteurs de forme point a lment, on constate que la e `ee fonction permet de quantier lerreur commise lorsque le facteur de forme lment ` lment ee aee est approxim par le facteur de forme point ` lment. e aee

6.2.2

Rsultats e

Nous prsentons ici deux exemples de sc`nes composes de segments : un premier o` les e e e u segments se voient soit totalement soit pas du tout, et un deuxi`me o` il y a un cas de visibilit e u e partielle. Premier exemple e e La sc`ne considre est constitue de trois segments C1 , C2 et C3 qui sont chantillonns de e ee e a oe mani`re uniforme (cf. gure 6.3). Un segment correspond en fait a un polygone ` deux cts. e ` oe Dans la gure 6.3, le ct droit de C1 voit le ct gauche de C2 mais il ne voit pas le segment oe oe oe e e ee C3 , ni le ct droit de C2 . Chaque ct dun segment doit donc tre subdivis en lments. La subdivision est eectue de faon identique des deux cts dun segment donn. Pour simplier, e c oe e les lments ct ` cte dun segment donn seront numrots de mani`re identique, avec un ee oe a o e e e e indice g pour les lments du ct gauche du segment et un indice d pour les lments du ct ee oe ee oe droit (cf. gure 6.3).

142
y

Tests de comparaison avec la mthode de Heckbert e

C2 4 C1 3
1g 1d 2d 4g 4d 8g 9g 9d

C3
8d

5g 5d 6g 6d

2 1

2g

3g

3d 7g 7 d

10

Fig. 6.3 - Exemple de segments qui se voient soit totalement soit pas du tout. On consid`re lensemble des paires dlments (i, j) de la sc`ne qui sont mutuellement visibles. e ee e La gure 6.4 illustre la valeur de la fonction (cf. paragraphe 6.2.1) pour lensemble des lments ee oe du ct droit du segment C1 et du ct gauche du segment C2 , et la gure 6.5 pour tous ceux oe oe du ct droit du segment C2 et du ct gauche du segment C3 . oe

tel-00004958, version 1 - 20 Feb 2004

Commentaires

oe Dapr`s la gure 6.5, on remarque que pour les lments du ct droit de C2 et du ct e ee oe e gauche de C3 , les valeurs de facteurs de forme obtenues avec les deux mthodes sont quasi identiques. On obtient en eet : 0.014542 (valeur obtenue pour F7d 9g , cf. gure 6.5). oe On a donc pour toutes les paires dlments (i, j) du ct droit de C2 et du ct gauche ee oe a e de C3 , Fij Heckbert = Fij longueurs de courbes ` moins de 1.5 % pr`s. Par contre pour les lments du ct droit de C1 et du ct gauche de C2 , on a : ee oe oe 0.046533 (valeur obtenue pour F7g 3d , cf. gure 6.4). En fait, Heckbert ne calcule pas des facteurs de forme lment ` lment mais point ` ee a ee a ee e lment. Le facteur de forme Fij entre deux lments i et j est approxim par le facteur ee e ee e de forme point a lment Fpi j calcul au point pi de llment i (cf. quation 6.1). Or cette `ee approximation est valable seulement si la distance r entre les deux lments considrs ee ee est grande par rapport ` leur taille (cf. [SP94]). En eet, si cette condition est vrie, a e e lintgrale intrieure dans la dnition du facteur de forme (cf. equation 1.6 dans le parae e e graphe 1.2.1 du chapitre 1) varie tr`s peu sur la longueur de llment j, si bien que leet e ee de lintgrale extrieure est approximativement une multiplication par 1, et le facteur de e e forme lment ` lment est donc gal au facteur de forme point a lment. ee aee e `ee ee Ceci explique la dirence obtenue pour la valeur du facteur de forme F7g 3d . Llment e e ee ee 7g a pour longueur : 0.75 dans le rep`re considr (cf. gure 6.3). Llment 3d a pour e a longueur : 0.745. La distance r entre les lments 7g et 3d est gale ` 1.167 environ, et ee nest donc pas tr`s grande par rapport a la longueur des lments. e ` ee Dans le cas des lments 7g et 3d , la mthode de Heckbert calculant des facteurs de ee e forme point ` lment donne une moins bonne prcision que notre mthode qui calcule des aee e e facteurs de forme lment ` lment. Le calcul sous forme dun facteur de forme point a ee a ee ` lment reste cependant globalement une bonne approximation pour les facteurs de forme ee oe entre les lments du ct droit de C1 et du ct gauche de C2 . ee oe

6.2 Comparaison des valeurs de facteurs de forme obtenues

143

(i, j) 0.05 0.045 0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 1d 2d 3d 4g 2d 3d 5g 4g 5g 1d 7g 6g 7g j

tel-00004958, version 1 - 20 Feb 2004

6g

Valeurs de la fonction : i\j 1d 2d 3d 4g 5g 6g 7g 1d 2d 3d 4g 0.015537 0.000358 0.019184 5g 0.013497 0.020838 0.008430 6g 0.010465 0.017640 0.028483 7g 0.025149 0.023575 0.022701

0.005638 0.020024 0.007117 0.022376

0.012531 0.004952 0.029403 0.000989

0.020393 0.022786 0.001157 0.046533

Fig. 6.4 - Dirence entre les deux mthodes de calcul de facteurs de forme, pour les lments e e ee oe du ct droit de C1 et du ct gauche de C2 . oe

144

Tests de comparaison avec la mthode de Heckbert e

(i, j) j 0.015

0.01

tel-00004958, version 1 - 20 Feb 2004

0.005 9g 8g 0 4d 5d 6d 6d 7d 5d 8g 4d 9g i 7d

Valeurs de la fonction : i\j 4d 5d 6d 7d 8g 9g 4d 5d 6d 7d 8g 0.004687 0.000801 0.005347 0.013627 9g 0.007460 0.004643 0.003189 0.014542

0.002687 0.000226

0.005604 0.005281

0.006987 0.008734

0.006768 0.009271

Fig. 6.5 - Dirence entre les deux mthodes de calcul de facteurs de forme, pour les lments e e ee oe du ct droit de C2 et du ct gauche de C3 . oe

6.2 Comparaison des valeurs de facteurs de forme obtenues Conclusion

145

Les deux mthodes de calcul de facteurs de forme donnent des rsultats similaires sauf dans e e le cas o` la distance entre les lments nest pas tr`s grande par rapport a leur longueur. Dans u ee e ` ce cas-l`, la solution de Heckbert est moins prcise et donne une moins bonne approximation du a e facteur de forme. Deuxi`me exemple e La deuxi`me sc`ne considre montre un exemple de visibilit partielle avec un segment C2 e e ee e qui rduit la visibilit entre deux segments C1 et C3 (cf. gure 6.6). Lchantillonnage est ici e e e calcul en fonction des discontinuits. e e
y C3 4 C1 3 2
1g 2g 1d 2d 3g 4g 4d 5g 5d 3d 6 g 6d 9g 8g 9d 10g 10d 11g 11d 7g 8d 7d

tel-00004958, version 1 - 20 Feb 2004

C2 1 2 3 4 5 6 7 8 9 10 x

Fig. 6.6 - Exemple de segments avec un cas de visibilit partielle. e On consid`re lensemble des paires dlments (i, j) de la sc`ne qui sont mutuellement vie ee e sibles (totalement ou partiellement). La gure 6.7 montre la valeur de la fonction (cf. paraoe graphe 6.2.1) pour lensemble des lments du ct droit du segment C1 et du ct gauche du ee oe oe oe segment C2 , la gure 6.8 pour tous ceux du ct droit de C2 et du ct gauche de C3 , et la oe gure 6.9 pour les lments du ct droit de C1 et du ct gauche de C3 qui se voient mutuelleee oe ment. Commentaires De faon similaire au premier exemple, la valeur (i, j) est peu importante pour les lments c ee (i, j) qui se voient totalement et qui ont une distance entre eux susamment grande par rapport a ` leur longueur (cf. paragraphe 6.2.1 pour la dnition de la fonction ). La plus grande valeur e ee de est obtenue pour les lments 3d et 5g qui font eectivement partie des lments de la ee sc`ne qui ont une distance entre eux tr`s petite par rapport ` leur longueur : (3d , 5g ) est de e e a lordre de 0.05 (cf. gure 6.7).

146

Tests de comparaison avec la mthode de Heckbert e

(i, j) 0.05 0.045 0.04 0.035 0.03 0.025 0.02 0.015 0.01 0.005 0 1d 2d 3d 4g

tel-00004958, version 1 - 20 Feb 2004

6g 5g 4g 3d 5g 6g 1d 2d i

Valeurs de la fonction : i\j 1d 2d 3d 4g 5g 6g 1d 2d 3d 4g 0.001847 0.032259 0.003006 5g 0.007420 0.003915 0.048859 6g 0.010833 0.038175 0.018996

0.014249 0.002211 0.019619

0.014200 0.018828 0.009221

0.013458 0.010526 0.034066

Fig. 6.7 - Dirence entre les deux mthodes de calcul de facteurs de forme, pour les lments e e ee oe du ct droit de C1 et du ct gauche de C2 . oe

6.2 Comparaison des valeurs de facteurs de forme obtenues

147

(i, j)

0.015

0.01

0.005

tel-00004958, version 1 - 20 Feb 2004

11g 0 7g 8g 9g 10g

4d

5d

6d

7g

8g

9g

10g 11 4d g

5d

6d

Valeurs de la fonction : i\j 4d 5d 6d 7g 8g 9g 10g 11g 4d 5d 6d 7g 0.000567 0.005226 0.011232 8g 0.002283 0.003847 0.012132 9g 0.006262 0.000992 0.012308 10g 0.010419 0.004076 0.011150 11g 0.012576 0.010653 0.007927

0.006214 0.006562 0.002979 0.000687 0.001321

0.007009 0.009057 0.006105 0.006406 0.002320

0.006660 0.009163 0.007050 0.009237 0.005134

Fig. 6.8 - Dirence entre les deux mthodes de calcul de facteurs de forme, pour les lments e e ee oe du ct droit de C2 et du ct gauche de C3 . oe

148

Tests de comparaison avec la mthode de Heckbert e

Intressons nous maintenant aux cas o` il y a visibilit partielle : cas des lments 1d et 7g , e u e ee et des lments 1d et 8g (cf. gure 6.6). ee La gure 6.9 illustre la valeur de la fonction pour ces dirents lments (cf. parae ee graphe 6.2.1 pour la dnition de la fonction ). e

(i, j)

tel-00004958, version 1 - 20 Feb 2004

0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 1d 7g

8g 7g 1d 8g
i

(i,j) (1d , 7g ) (1d , 8g ) (7g , 1d ) (8g , 1d )

0.234988 0.412247 0.014148 0.062603

Fij (

longueurs de courbes) 0.027661 0.012934 0.019438 0.009089

Fij (Heckbert) 0.0341608 0.00760168 0.0197132 0.00965828

Fig. 6.9 - Dirence entre les deux mthodes de calcul de facteurs de forme, pour les lments e e ee oe du ct droit de C1 et du ct gauche de C3 . oe La dirence entre les valeurs de facteurs de forme obtenues avec les deux mthodes est lie e e e ici a la faon dont la visibilit est calcule. Pour le calcul du facteur de forme Fij entre deux ` c e e lments i et j, la visibilit est dtermine, dans le cas de la mthode de Heckbert, a partir du ee e e e e ` ee ee ee point pi milieu de llment i (cf. gure 6.10(a)). Lintervalle considr sur llment j correspond e e e ee a ` la partie de j visible depuis le point pi . Cette partie est dcrite par les extrmits sur llment e e j des segments libres maximaux issus de pi . Par contre, dans le cas de notre mthode, la visibilit est caractrise par lensemble des segments libres maximaux issus de llment i qui touchent e e ee llment j (cf. gure 6.10(b)). ee e Considrons plus prcisment le cas des lments 1d et 7g . Dans le cas de la mthode de e e e ee e Heckbert, on constate que pour le calcul du facteur de forme F1d 7g , la visibilit telle quelle est e e ee calcule ne prend pas en compte le fait que le segment C2 rduit la visibilit entre les lments e o ee 1d et 7g (cf. cne blanc issu du milieu de llment 1d sur la gure 6.11(a)). Par contre, dans ee e le cas du calcul du facteur de forme F7g 1d entre les lments 7g et 1d , la visibilit telle quelle o ee est calcule est rduite par le segment C2 (cf. cne blanc issu du milieu de llment 7g sur la e e

6.2 Comparaison des valeurs de facteurs de forme obtenues


(a) Mthode de Heckbert e (b) Notre mthode e

149

j i pi (s) Intervalle de visibilit e sur j i

j Intervalle de visibilit e sur j ensemble des segments libres maximaux issus de i et touchant j

Fig. 6.10 - Visibilit entre deux lments i et j. e ee e gure 6.11(b)). La visibilit calcule pour le facteur de forme F7g 1d est donc plus prcise. Dans e e le cas de notre mthode par contre, la visibilit est identique pour les facteurs de forme F1d 7g et e e ee e e F7g 1d , et elle prend en compte lobstacle C2 entre les lments 1d et 7g , puisquelle est caractrise par lensemble des segments libres maximaux dont les extrmits touchent les lments 1d et 7g e e ee (cf. zone grise sur les gures 6.11(a) et 6.11(b)). Tout ceci explique que la valeur (1d , 7g ) qui e permet de dire a quel point les valeurs obtenues avec les deux mthodes pour le facteur de forme ` e e a F1d 7g sont proches ou non, soit suprieure ` la valeur (7g , 1g ) (cf. gure 6.9).
(a) Calcul de F1d 7g C3 7g C1 1d 4g C2 8g

tel-00004958, version 1 - 20 Feb 2004

(b) Calcul de F7g 1d 7g C1 1d 4g C2 8g

C3

Fig. 6.11 - Zoom de la partie suprieure des segments C1 , C2 et C3 . e

150 Conclusion

Tests de comparaison avec la mthode de Heckbert e

La mthode de Heckbert est moins prcise que notre mthode dans le cas o` il y a des e e e u occlusions. La visibilit telle quelle est calcule avec la mthode de Heckbert peut ne pas prendre e e e en compte le fait quun objet rduit la visibilit entre deux lments donns, ce qui nest pas le e e ee e cas avec notre mthode. e

6.3

Tests sur des sc`nes complexes e

Nous avons ensuite ralis une srie de tests sur des sc`nes plus complexes. Nous avons choisi e e e e dutiliser des congurations typiques des sc`nes architecturales, cest ` dire un certain nombre e a de pi`ces qui communiquent, chaque pi`ce contenant un certain nombre dobjets. e e

6.3.1 tel-00004958, version 1 - 20 Feb 2004

Description des sc`nes testes e e

Nous avons ralis une premi`re srie de tests sur des sc`nes composes de 5 pi`ces sur 5 e e e e e e e pi`ces contenant de 0 ` 9 triangles par pi`ce (cf. gure 6.12), et une deuxi`me srie de tests e a e e e sur des sc`nes composes de 7 pi`ces sur 7 pi`ces contenant de 0 ` 9 triangles par pi`ce (cf. e e e e a e gure 6.13). Les triangles sont gnrs de faon alatoire dans chaque pi`ce. Le premier triangle e ee c e e gnr dans chacune des pi`ces est une source de lumi`re. e ee e e Le tableau 6.1 (respectivement 6.2) donne pour chaque sc`ne de 5 pi`ces sur 5 pi`ces (rese e e pectivement de 7 pi`ces sur 7 pi`ces) considre, le nombre dobjets par pi`ce, le nombre de e e ee e polygones dans la sc`ne, le nombre dartes de polygones correspondant, le nombre dlments e e ee obtenu apr`s chantillonnage des objets de la sc`ne. e e e Tab. 6.1 - Description des sc`nes de 5 pi`ces sur 5 pi`ces. e e e Description de la sc`ne e 2 3 4 5 63 88 113 138 434 509 584 659 3634 4626 5907 7202

Obj./pi`ce e Nb poly. Artes poly. e Nb lm. ee

0 13 284 1738

1 38 359 2595

6 163 734 8559

7 188 809 9738

8 213 884 11316

9 238 959 12460

Tab. 6.2 - Description des sc`nes de 7 pi`ces sur 7 pi`ces. e e e Description de la sc`ne e 2 3 4 5 129 178 227 276 858 1005 1152 1299 7763 9849 12367 14856

Obj./pi`ce e Nb poly. Artes poly. e Nb lm. ee

0 31 564 3994

1 80 711 5717

6 325 1446 17320

7 374 1593 19698

8 423 1740 22808

9 472 1887 25093

6.3 Tests sur des sc`nes complexes e

151

(a)

(b)

tel-00004958, version 1 - 20 Feb 2004

(c)

(d)

Fig. 6.12 - Sc`nes de 5 pi`ces sur 5 pi`ces : (a) Sc`ne avec les pi`ces vides ; (b) Sc`ne avec un e e e e e e triangle par pi`ce ; (c) Zoom de la sc`ne avec deux triangles par pi`ce, reprsente en pseudo-3D ; e e e e e (d) Sc`ne avec neuf triangles par pi`ce. e e

(a)

(b)

Fig. 6.13 - Sc`nes de 7 pi`ces sur 7 pi`ces : (a) Sc`ne avec les pi`ces vides ; (b) Sc`ne avec neuf e e e e e e triangles par pi`ce. e

152

Tests de comparaison avec la mthode de Heckbert e

6.3.2

Tests avec notre programme

tel-00004958, version 1 - 20 Feb 2004

Nous avons utilis sur les sc`nes dcrites dans le paragraphe 6.3.1, le programme que nous e e e avons implment pour les polygones. Ce programme utilise le complexe de visibilit pour les poe e e lygones implment par Rivi`re [Riv95]. Une fois que le complexe est construit, notre programme e e e chantillonne les objets en positionnant les extrmits des lments sur les discontinuits. Les e e e ee e discontinuits sont calcules au moyen du complexe de visibilit, en utilisant la mthode de e e e e crite dans le paragraphe 4.3.2. Notre programme calcule ensuite les facteurs de forme entre les lments mutuellement visibles en utilisant la mthode prsente dans le paragraphe 5.2.2. Le ee e e e syst`me dquations de radiosit est ensuite rsolu par une mthode itrative (mthode de type e e e e e e e Gauss-Seidel) (cf. [CW93b] pour une description des direntes mthodes de relaxation). e e Les tests ont t raliss sur une station de travail Indigo2 (Silicon Graphics) munie dun ee e e microprocesseur MIPS R4400 cadenc ` 200Mhz. ea Les tableaux 6.3 et 6.4 recensent les rsultats obtenus pour lensemble des sc`nes testes. Le e e e tableau 6.3 (respectivement 6.4) donne pour chaque sc`ne de 5 pi`ces sur 5 pi`ces (respectivee e e ment de 7 pi`ces sur 7 pi`ces) considre, le nombre dartes de polygones de la sc`ne, le nombre e e ee e e de sommets, artes et faces du complexe associ ` la sc`ne, le nombre de valeurs non nulles dans e ea e la matrice de radiosit, ainsi que le temps de calcul ncessaire pour les direntes tapes du e e e e programme. On consid`re cinq tapes (cf. tableaux 6.3 et 6.4) : linitialisation, le calcul du come e plexe, le calcul de lchantillonnage des objets en tenant compte des discontinuits, le calcul des e e facteurs de forme, et la rsolution du syst`me dquations de radiosit. La phase dinitialisation e e e e comprend essentiellement la lecture du chier de description de la sc`ne et linstanciation des e variables ncessaires pour stocker la sc`ne et les informations dont on a besoin pour calculer le e e complexe de visibilit. La phase dchantillonnage (ou maillage) comprend le calcul des discontie e nuits, puis le calcul des lments en fonction des discontinuits. La phase de calcul des facteurs e ee e de forme comprend aussi le calcul des valeurs que lon va stocker dans la matrice de radiosit, e lallocation de la place mmoire ncessaire pour stocker ces valeurs, et le stockage de ces valeurs. e e

6.3 Tests sur des sc`nes complexes e Analyse des rsultats e

153

Par dnition, la taille du complexe est caractrise par son nombre m de sommets qui est e e e (n) et O(n2 ) (avec n le nombre dartes de polygones de la sc`ne). Or, on constate que dans le e e cas des sc`nes testes, qui prsentent beaucoup docclusions, le nombre de sommets du complexe e e e est quasi-linaire en fonction du nombre dartes de polygones (cf. gure 6.14). On obtient donc e e la complexit minimale, en pratique. Il est dautant plus important de souligner ce rsultat que e e les sc`nes testes (sc`nes constitues de pi`ces contenant des objets) correspondent au type de e e e e e sc`nes le plus souvent utilises pour le calcul de radiosit. La mthode de radiosit est en eet e e e e e tr`s adapte et particuli`rement utilise pour le rendu de sc`nes dintrieur. e e e e e e
18000 Nb de sommets du complexe 16000 14000 12000 10000 8000 6000 25000 20000 15000 10000 5000 400 30000 35000 Nb de sommets du complexe

tel-00004958, version 1 - 20 Feb 2004

4000 2000 200 300 400 500 600 700 800 900 1000

600

800

1000 1200 1400 1600 1800 2000

Fig. 6.14 - Nombre de sommets du complexe en fonction du nombre dartes de polygones de e la sc`ne. A gauche : cas des sc`nes de 5 pi`ces sur 5 pi`ces. A droite : cas des sc`nes de 7 pi`ces e e e e e e sur 7 pi`ces. e La gure 6.15 (respectivement 6.16) visualise sous forme dun histogramme, le temps de calcul des direntes tapes de notre programme pour chaque sc`ne de 5 pi`ces sur 5 pi`ces e e e e e (respectivement de 7 pi`ces sur 7 pi`ces) considre. Les sc`nes considres sont spcies en e e ee e ee e e abscisse par leur nombre dartes de polygones. Pour une sc`ne donne, on reprsente sous forme e e e e dune barre le temps de calcul des direntes tapes de notre programme. On ache de bas en e e haut le temps correspondant ` linitialisation, au calcul du complexe, ` lchantillonnage en fonca a e tion des discontinuits, au calcul des facteurs de forme et ` la rsolution du syst`me dquations e a e e e de radiosit. Le temps correspondant au sommet dune barre donne de lhistogramme repre e e sente le temps total dexcution de notre programme pour la sc`ne correspondante. On constate e e dapr`s les gures 6.15 et 6.16 que le temps consacr ` linitialisation, au calcul du complexe e e a et ` lchantillonnage en fonction des discontinuits est ngligeable par rapport au temps de a e e e rsolution du syst`me dquations de radiosit et surtout par rapport au calcul des facteurs de e e e e forme qui prend la plus grande partie du temps total dexcution. e

Tab. 6.3 - Sc`nes de 5 pi`ces sur 5 pi`ces, avec notre mthode. e e e e Sc`nes de 5 pi`ces sur 5 pi`ces e e e 2 3 4 5 434 509 584 659 Complexe 5968 7160 8762 10408 11936 14320 17524 20816 5970 7162 8764 10410 Matrice de radiosit e 386867 532762 767494 1017225 Temps de calcul en secondes 0.12 0.12 0.12 0.13 0.38 0.47 0.62 0.69 0.45 0.66 0.74 0.92 26.58 37.77 55.59 78.21 7.34 10.05 14.36 18.96 34.88 49.07 71.43 98.91

154

Objets/pi`ce e Artes poly. e Sommets Artes e Faces

0 284 3320 6640 3322 127500 0.1 0.2 0.19 7.8 0.19 8.49

1 359 4556 9112 4558 231534 0.1 0.32 0.32 15.21 4.46 20.41

6 734 12030 24060 12032 1348387 0.14 0.79 0.95 107.37 24.91 134.16

7 809 13446 26892 13448 1557639 0.16 0.92 1.26 124.54 28.83 155.71

8 884 15496 30992 15498 1907660 0.15 1.09 1.49 157.81 35.33 195.87

9 959 16578 33156 16580 2135700 Tests de comparaison avec la mthode de Heckbert e 0.15 1.14 1.44 176.51 39.55 218.79

tel-00004958, version 1 - 20 Feb 2004

Valeurs non nulles Initialisation Complexe Echantillonnage (discont.) Facteurs de forme Solution de radiosit e Temps total

Tab. 6.4 - Sc`nes de 7 pi`ces sur 7 pi`ces, avec notre mthode. e e e e Sc`nes de 7 pi`ces sur 7 pi`ces e e e 2 3 4 5 858 1005 1152 1299 Complexe 12740 15394 18484 21568 25480 30788 36968 43136 12742 15396 18486 21570 Matrice de radiosit e 1034113 1406390 1938525 2518109 Temps de calcul en secondes 0.15 0.16 0.16 0.19 0.94 1.09 1.38 1.59 0.85 1.5 1.36 1.7 81.18 127.34 166.4 224.46 19.41 26.78 38.16 46.96 102.54 156.88 207.47 274.91

6.3 Tests sur des sc`nes complexes e

Objets/pi`ce e Artes de polygones e Sommets Artes e Faces Valeurs non nulles Initialisation Complexe Echantillonnage (discont.) Facteurs de forme Solution de radiosit e Temps total

0 564 7572 15144 7574 394012 0.12 0.54 0.49 26.64 0.49 28.28

1 711 10032 20064 10034 670063 0.13 0.79 0.65 51.29 12.62 65.49

6 1446 24582 49164 24584 3042145 0.2 1.91 1.99 278.68 59.33 342.12

7 1593 27292 54584 27294 3543496 0.21 2.11 2.38 328.23 69.1 402.04

8 1740 31152 62304 31154 4288765 0.22 2.44 2.68 394.32 84.06 483.73

9 1887 33880 67760 33882 4793650 0.23 2.77 3.03 452.17 93.55 551.77

tel-00004958, version 1 - 20 Feb 2004

155

156

Tests de comparaison avec la mthode de Heckbert e

250

Temps de calcul en secondes

200

Etapes du programme :

Solution de radiosit e

150

Facteurs de forme Echantillonnage (discont.)

100

Complexe Initialisation

50

tel-00004958, version 1 - 20 Feb 2004

284 359 434 509 584 659 734 809 884 959

Nombre dartes e de polygones

Fig. 6.15 - Temps de calcul des direntes tapes de notre programme pour chaque sc`ne de 5 e e e pi`ces sur 5 pi`ces considre. e e e e

600 500
Temps de calcul en secondes

Etapes du programme :

400 300 200 100 0 564 711 858 1005 1152 1299 1446 1593 1740 1887

Solution de radiosit e Facteurs de forme Echantillonnage (discont.) Complexe Initialisation

Nombre dartes e de polygones

Fig. 6.16 - Temps de calcul des direntes tapes de notre programme pour chaque sc`ne de 7 e e e pi`ces sur 7 pi`ces considre. e e e e

6.3 Tests sur des sc`nes complexes e

157

6.3.3

Comparaison avec le programme de Heckbert

tel-00004958, version 1 - 20 Feb 2004

Nous avons utilis le programme de Heckbert sur les mmes sc`nes (cf. paragraphe 6.3.1 pour e e e la description des sc`nes testes). Parmi les direntes mthodes proposes par le programme, e e e e e nous avons choisi celle utilisant les lments constants (cf. paragraphe 6.1.2 pour la justicaee tion de notre choix). Le programme commence par chantillonner les objets en positionnant les e extrmits des lments sur les discontinuits. Les discontinuits sont calcules en utilisant la e e ee e e e mthode dcrite dans le paragraphe 1.3.3. Le programme calcule ensuite les facteurs de forme. e e Heckbert calcule en fait pour deux lments i et j donns un facteur de forme point ` lment ee e aee ee e e Fpi j au point pi milieu de llment i (cf. paragraphe 6.1.2 pour plus de dtails). Le syst`me e dquations de radiosit est ensuite rsolu par overrelaxation successive (variation de la me e e thode itrative de Gauss-Seidel) (cf. [CW93b] pour une description des direntes mthodes de e e e relaxation). Les tests ont t raliss sur une station de travail Indigo2 (Silicon Graphics) munie dun ee e e microprocesseur MIPS R4400 cadenc ` 200Mhz. ea Les tableaux 6.5 et 6.6 regroupent les rsultats obtenus pour lensemble des sc`nes testes. Le e e e tableau 6.5 (respectivement 6.6) donne pour chaque sc`ne de 5 pi`ces sur 5 pi`ces (respectivement e e e de 7 pi`ces sur 7 pi`ces) considre, le nombre dartes de polygones de la sc`ne, ainsi que le e e ee e e temps de calcul ncessaire pour les direntes tapes du programme. On distingue quatre tapes e e e e (cf. tableaux 6.5 et 6.6) : linitialisation, le calcul de lchantillonnage des objets en tenant compte e des discontinuits, le calcul des facteurs de forme, et la rsolution du syst`me dquations de e e e e radiosit. La phase dinitialisation comprend essentiellement la lecture du chier de description e de la sc`ne et linstanciation des variables ncessaires pour stocker la sc`ne. De faon similaire e e e c a ` notre programme, la phase dchantillonnage comprend le calcul des discontinuits, puis le e e calcul des lments en fonction des discontinuits. Et la phase de calcul des facteurs de forme ee e comprend aussi le calcul des valeurs de la matrice de radiosit, lallocation de la place mmoire e e ncessaire pour stocker ces valeurs, et le stockage de ces valeurs. e

158 Analyse des rsultats e

Tests de comparaison avec la mthode de Heckbert e

tel-00004958, version 1 - 20 Feb 2004

La gure 6.17 (respectivement 6.18) visualise sous forme dun histogramme, le temps de calcul des direntes tapes du programme de Heckbert pour chaque sc`ne de 5 pi`ces sur 5 e e e e pi`ces (respectivement de 7 pi`ces sur 7 pi`ces) considre. Les sc`nes considres sont spcies e e e ee e ee e e en abscisse par leur nombre dartes de polygones. Pour une sc`ne donne on reprsente sous e e e e forme dune barre le temps de calcul des direntes tapes du programme. On ache de bas en e e haut le temps correspondant ` linitialisation, a lchantillonnage en fonction des discontinuits, a ` e e au calcul des facteurs de forme et ` la rsolution du syst`me dquations de radiosit. a e e e e On constate que le temps consacr ` linitialisation est ngligeable, comme dans le cas de e a e notre mthode. Par contre, le calcul de lchantillonnage en fonction des discontinuits nest e e e pas du tout ngligeable alors quil lest avec notre mthode. Ceci est li ` la faon dont les e e e a c discontinuits sont calcules. En eet, Heckbert utilise un algorithme en O(n3 ) pour calculer les e e discontinuits, avec n le nombre dartes de polygones de la sc`ne (cf. paragraphe 1.3.3 pour une e e e description de cet algorithme), alors que lalgorithme que nous utilisons permet de calculer les discontinuits en temps O(m), une fois que le complexe est construit (cf. paragraphe 4.3.2). Et e m qui reprsente le nombre de sommets du complexe est (n) et O(n2 ). Cette dirence entre e e les deux mthodes appara dautant plus quand on visualise sur un mme graphique, le temps e t e de calcul de lchantillonnage (tenant compte des discontinuits) pour notre programme et celui e e de Heckbert (cf. gure 6.19). On constate aussi dapr`s les gures 6.17 et 6.18 que le calcul des facteurs de forme reprsente, e e comme dans notre mthode, la plus grande partie du temps total dexcution. Cependant, notre e e mthode de calcul des facteurs de forme est plus ecace. On peut le voir sur la gure 6.20 qui e visualise sur un mme graphique, le temps de calcul des facteurs de forme pour notre programme e et celui de Heckbert. De plus, la mthode actuellement implmente peut tre optimise, notame e e e e ment en ce qui concerne les allocations mmoire, permettant damliorer encore notre mthode. e e e
400 350
Temps de calcul en secondes

300 250 200 150 100 50 0 284 359 434 509 584 659 734 809 884 959

Etapes du programme : Solution de radiosit e Facteurs de forme Echantillonnage (discont.) Initialisation

Nombre dartes e de polygones

Fig. 6.17 - Temps de calcul des direntes tapes du programme de Heckbert pour chaque sc`ne e e e de 5 pi`ces sur 5 pi`ces considre. e e e e

Tab. 6.5 - Sc`nes de 5 pi`ces sur 5 pi`ces, avec la mthode de Heckbert. e e e e Sc`nes de 5 pi`ces sur 5 pi`ces e e e 1 2 3 4 5 359 434 509 584 659 Temps de calcul en secondes 0.03 0.04 0.04 0.05 0.05 3.81 6.06 8.77 11.91 15.86 16.96 30.26 47.69 73.74 103.31 12.87 23.56 38.04 61.74 87.21 1.10 1.87 2.54 3.62 4.75 21.90 38.23 59.04 89.32 123.97

6.3 Tests sur des sc`nes complexes e

Objets/pi`ce e Artes de polygones e Initialisation Echantillonnage (discont.) Facteurs de forme Dont calcul de visibilit e Solution de radiosit e Temps total

0 284 0.02 2.17 8.97 6.55 0.03 11.19

6 734 0.05 20.17 145.06 123.79 6.24 171.52

7 809 0.07 25.17 207.58 182.79 7.56 240.38

8 884 0.07 30.52 250.82 221.42 8.79 290.20

9 959 0.08 37.31 313.38 280.88 10.27 361.04

tel-00004958, version 1 - 20 Feb 2004

159

Tab. 6.6 - Sc`nes de 7 pi`ces sur 7 pi`ces, avec la mthode de Heckbert. e e e e Sc`nes de 7 pi`ces sur 7 pi`ces e e e 1 2 3 4 5 711 858 1005 1152 1299 Temps de calcul en secondes 0.04 0.06 0.07 0.08 0.09 26.21 40.54 62.01 79.26 104.68 92.93 166.65 268.07 402.33 595.78 80.84 149.50 244.80 370.31 556.17 3.80 5.29 7.09 9.66 12.44 122.98 212.54 337.24 491.33 712.99

160

Objets/pi`ce e Artes de polygones e Initialisation Echantillonnage (discont.) Facteurs de forme Dont calcul de visibilit e Solution de radiosit e Temps total

0 564 0.03 14.76 49.43 42.45 0.11 64.33

6 1446 0.12 133.62 820.69 771.54 14.92 969.35

7 1593 0.12 166.18 1103.89 1047.44 17.32 1287.51

8 1740 0.13 200.70 1500.90 1432.50 20.83 1722.56

9 1887 0.13 246.87 1848.93 1770.53 23.23 2119.16 Tests de comparaison avec la mthode de Heckbert e

tel-00004958, version 1 - 20 Feb 2004

6.3 Tests sur des sc`nes complexes e

161

2500

2000
Temps de calcul en secondes

Etapes du programme : Solution de radiosit e

1500

Facteurs de forme Echantillonnage (discont.)

1000
Initialisation

500

tel-00004958, version 1 - 20 Feb 2004

564

711

858 1005 1152 1299 1446 1593 1740 1887

Nombre dartes e de polygones

Fig. 6.18 - Temps de calcul des direntes tapes du programme de Heckbert pour chaque sc`ne e e e de 7 pi`ces sur 7 pi`ces considre. e e e e

40 35 30 25 20 15 10 Tps de calcul du maillage avec le complexe Tps de calcul du maillage avec Heckbert

250 Tps de calcul du maillage avec le complexe Tps de calcul du maillage avec Heckbert 200

150

100

50 5 0 200 300 400 500 600 700 800 900 1000 0 400 600 800 1000 1200 1400 1600 1800 2000

Fig. 6.19 - Temps de calcul du maillage (tenant compte des discontinuits) en fonction du e nombre dartes de polygones de la sc`ne. A gauche : cas des sc`nes de 5 pi`ces sur 5 pi`ces. A e e e e e droite : cas des sc`nes de 7 pi`ces sur 7 pi`ces. e e e

162
350 300 250 200 150 100 50 0 200

Tests de comparaison avec la mthode de Heckbert e


2000 Tps de calcul des ff avec le complexe Tps de calcul des ff avec Heckbert 1800 1600 1400 1200 1000 800 600 400 200 300 400 500 600 700 800 900 1000 0 400 600 800 1000 1200 1400 1600 1800 2000 Tps de calcul des ff avec le complexe Tps de calcul des ff avec Heckbert

Fig. 6.20 - Temps de calcul des facteurs de forme en fonction du nombre dartes de polygones e de la sc`ne. A gauche : cas des sc`nes de 5 pi`ces sur 5 pi`ces. A droite : cas des sc`nes de 7 e e e e e pi`ces sur 7 pi`ces. e e

6.4
tel-00004958, version 1 - 20 Feb 2004

Conclusion

Au vu des dirents rsultats obtenus, nous pouvons dgager plusieurs avantages a lutilisae e e ` tion du complexe de visibilit pour le calcul de radiosit : e e Tout dabord, on constate que le calcul du complexe reste ngligeable par rapport au temps e de calcul global. Le complexe permet, de plus, de calculer le maillage de discontinuit de faon simple et e c ecace, calcul qui est en temps normal tr`s coteux. e u La mthode utilisant le complexe permet de calculer des facteurs de forme lment ` e ee a lment (avec en particulier une visibilit exacte), alors que les mthodes traditionnelles ee e e utilisent des facteurs de forme point a lment et une visibilit approche. `ee e e De plus, les courbes de la gure 6.20 font clairement appara que le temps de calcul des tre facteurs de forme est meilleur avec le complexe de visibilit. e

163

Chapitre 7

Radiosit pour les environnements e dynamiques 2D


On appelle environnements dynamiques, les environnements susceptibles dtre modis au e e cours du temps. On distingue globalement deux types de modications : les modications des proprits des matriaux ou des caractristiques de lclairage qui ncessitent seulement de reee e e e e calculer la solution de radiosit, et les modications de la gomtrie de la sc`ne (modication e e e e de la taille dun objet, dplacement dun objet, etc.) qui ncessitent deectuer un recalcul de e e facteurs de forme, avant de recalculer la solution de radiosit. e Nous nous intresserons dans ce chapitre seulement au deuxi`me type de modications (moe e dications de la gomtrie), et plus prcisment au cas dobjets en mouvement dans une sc`ne. e e e e e Lorsquun objet change de position dans une sc`ne, il est ncessaire de recalculer un certain e e nombre de facteurs de forme. Or ce calcul reste ltape la plus coteuse dans la mthode de rae u e diosit, compte tenu des calculs de visibilit qui sont ncessaires. Il prend en eet toujours plus e e e de 50% du temps dans le cas dalgorithmes ecaces (comme on peut le voir dans [HSD94], par exemple). Dans le cas de sc`nes avec des objets en mouvement, il est donc primordial dutiliser e une mthode ecace permettant de recalculer uniquement les facteurs de forme ncessaires pour e e rduire le temps de recalcul de la solution de radiosit au strict minimum. e e Dirents chercheurs se sont intresss au recalcul de la solution de radiosit dans le cas e e e e denvironnements dynamiques, et ont notamment propos des mthodes pour limiter le nombre e e de facteurs de forme a recalculer dans le cas dobjets en mouvement en 3D [BWCG86, Che90, ` GSG90, Sha94] (cf. paragraphe 1.5 pour plus de dtails). Cependant, parmi les mthodes proe e poses, aucune ne permet didentier de mani`re exacte et ecace les facteurs de forme qui e e doivent vraiment tre recalculs. Nous allons voir quil est possible de le faire en 2D en utilisant e e le complexe de visibilit. e Nous nous plaons, pour notre tude, dans le cas dun objet qui se dplace continment le c e e u long dune trajectoire. Le dplacement dun objet dans la sc`ne ninduit pas ncessairement de e e e changement dans les relations de visibilit entre objets. Un tel changement nintervient, pour les e sc`nes polygonales, que lorsque deux sommets de polygones mutuellement visibles sont cachs e e par le dplacement de lobjet, ou deux sommets cachs deviennent visibles (cf. gure 7.1 pour e e un exemple). Pour les objets convexes, ce changement nintervient que quand une bitangente entre deux objets appara ou dispara t t.

tel-00004958, version 1 - 20 Feb 2004

164

Radiosit pour les environnements dynamiques 2D e


objet en mouvement
i1 k1 k2 k3 i2

changement dans les relations de visibilit : e le sommet k1 cache i1 de j2 pas de changement dans les relations de visibilit e
j1

j2

Fig. 7.1 - Exemple de dplacement dun objet dans une sc`ne. e e Lorsquun objet sest dplac dun petit dplacement d dans une sc`ne, deux cas peuvent e e e e donc se produire : soit les relations de visibilit dans la sc`ne nont pas t modies (on parlera e e ee e alors de dplacement sans changement topologique dans la visibilit), soit les relations de visie e bilit ont t modies (on parlera alors de dplacement avec changement topologique dans la e ee e e visibilit). e Nous allons tudier successivement ces deux cas. Nous verrons pour chacun deux quels e facteurs de forme doivent etre ncessairement recalculs et comment on peut se restreindre aux e e recalculs de facteurs de forme strictement ncessaires. e

tel-00004958, version 1 - 20 Feb 2004

7.1

Dplacement sans changement topologique dans la visibilit e e

Considrons le cas dun objet qui sest dplac dun petit dplacement d dans une sc`ne, e e e e e sans quil y ait de changement topologique dans la visibilit, cest ` dire sans que les relations e a de visibilit aient chang. Les mmes objets voient donc toujours les mmes objets, et les mmes e e e e e objets sont toujours cachs par les mmes objets. Le complexe de visibilit na donc pas chang e e e e topologiquement. Cependant un objet a chang de position, donc sa position relative par rapport e aux autres objets de la sc`ne a t modie et certains facteurs de forme doivent donc tre e ee e e recalculs numriquement. e e Nous considrerons dans un premier temps le cas, plus simple, o` on met a jour uniquement e u ` les facteurs de forme strictement ncessaires, mais sans mettre ` jour les discontinuits. Nous e a e verrons dans un premier paragraphe quels facteurs de forme doivent tre ncessairement recale e culs en fonction dun objet donn qui sest dplac dun dplacement d (sans changement e e e e e topologique dans la visibilit), puis, dans un deuxi`me paragraphe, comment on peut recalculer e e strictement ces facteurs de forme. Nous traiterons ensuite, dans un troisi`me paragraphe, le cas o` on met a jour les discontie u ` nuits qui sont modies. Nous verrons alors les recalculs qui sont ncessaires. e e e

7.1.1

Les deux cas ncessitant un recalcul de facteur de forme e

Lorsquun objet sest dplac dans une sc`ne, on ne doit recalculer que les facteurs de forme e e e par cet objet. Soit un objet O en mouvement dans une sc`ne. Soit un petit dplacement e e d de lobjet O au cours duquel les relations de visibilit dans la sc`ne nont pas t modies. e e ee e
 aects  e 

7.1 Dplacement sans changement topologique dans la visibilit e e

165

Apr`s ce dplacement de lobjet O, on doit recalculer le facteur de forme Fij entre deux lments e e ee i et j de la sc`ne considre, si et seulement si une des deux conditions suivantes est vrie : e ee e e (a) llment i ou llment j appartient ` lobjet en mouvement O. ee ee a On peut voir un exemple sur la gure 7.2(a). Les facteurs de forme entre les lments ee e e appartenant aux artes de polygones [j1 j2 ] et [i1 i2 ] respectivement doivent tre recalculs e e puisque larte de polygone [i1 i2 ] a chang de position. e (b) la visibilit entre i et j est rduite par lobjet en mouvement O. e e On peut voir un exemple sur la gure 7.2(b). Le sommet i1 de lobjet en mouvement e rduit la visibilit entre les artes de polygones [j1 j2 ] et [k1 k2 ]. Ce sommet rduit la visie e e bilit entre certaines paires dlments de [j1 j2 ] et [k1 k2 ] respectivement. Si le sommet de e ee e e ee e polygone i1 rduit eectivement la visibilit entre deux lments donns de [j1 j2 ] et [k1 k2 ] respectivement, il faudra recalculer le facteur de forme entre ces deux lments. ee Interprtation dans lespace dual e En utilisant le complexe de visibilit, cela signie quil faut visiter, pour le recalcul des e facteurs de forme strictement ncessaires, seulement deux types de faces : e (a) les faces dont un des deux objets associs est lobjet en mouvement. e Ces faces permettent de recalculer les facteurs de forme entre des lments pour lesquels ee la condition (a) est vrie (cf. gure 7.2(a) pour un exemple). e e (b) les faces dont une des artes associes ` des objets qui interf`rent est associe ` lobjet en e e a e e a mouvement. Ces faces permettent de recalculer les facteurs de forme entre des lments pour lesquels ee la condition (b) est vrie (cf. gure 7.2(b) pour un exemple). e e Pour un objet en mouvement O donn, les faces considres (faces de types (a) et (b)) seront e ee appeles : faces lies ` O. e e a Remarque : Dans le cas dune sc`ne polygonale, sachant quune face est associe ` deux artes e e a e de polygones et non pas ` deux polygones, il faut considrer les faces lies ` toutes les artes a e e a e du polygone en mouvement. On considrera donc toutes les faces dont une des deux artes de e e polygones associes est une arte du polygone en mouvement, et toutes les faces dont une des e e artes associes ` des sommets de polygones qui interf`rent est associe ` un sommet du polygone e e a e e a en mouvement. Acc`s aux faces lies ` un objet convexe ou ` une arte de polygone e e a a e Dans le cas dune sc`ne constitue dobjets convexes (cf. exemple sur la gure 7.3), les faces e e dont un des deux objets associs est lobjet convexe O (cas (a)) se trouvent, dans lespace dual, e e a entre les deux courbes de tangence O et O associes ` lobjet O. Et les faces dont une des artes associes ` des objets qui interf`rent est associe ` lobjet O (cas (b)) se trouvent le e e a e e a e a a e long dune des deux courbes de tangence O ou O associes ` O mais ` lextrieur de ces deux courbes de tangence (sachant quune arte associe ` O a pour support une des deux courbes e e a e de tangence associe ` O et que la zone entre les courbes O et O reprsente lensemble des e a droites qui intersectent lobjet O).

tel-00004958, version 1 - 20 Feb 2004

166

Radiosit pour les environnements dynamiques 2D e

Recalcul du facteur de forme Fij si :

(a) llment i ou llment j appartient a lobjet en mouvement O ee ee `


facteurs de forme inchangs e
j1

objet en mouvement O
i1

Face a considrer : ` e 2
face associe ` [j1 j2 ] et [i1 i2 ] e a

i2

j1

i 1

tel-00004958, version 1 - 20 Feb 2004

j2

i 2

j2

facteurs de forme a recalculer `

(b) la visibilit entre i et j est rduite par lobjet en mouvement O e e


facteurs de forme inchangs e k2
i1

k1 j1

Face a considrer : ` e

2 1

face associe ` [j1 j2 ] et [k1 k2 ] e a


j1 k1

j2

objet en mouvement O

k2

j2

i 1

facteurs de forme susceptibles dtre modis e e

arte associe e e au sommet i1 de O

Fig. 7.2 - Les deux cas ncessitant un recalcul de facteur de forme lorsquun objet en mouvement e O se dplace dune position 1 a une position 2. e `

7.1 Dplacement sans changement topologique dans la visibilit e e


Sc`ne e y Espace dual (, u)
6 4 2

167

face(Oi , Oj ) Oi

Oj

O O O x

Oi
0

Oj
-2 -4

face(O, Oj ) face(Oi , O)
0 0.5 1 1.5 2 2.5 3

Oi
-6

Oj

faces correspondant au cas (a) face correspondant au cas (b)

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.3 - Faces lies ` un objet convexe O. e a De faon similaire, dans le cas dune sc`ne polygonale (cf. exemple sur la gure 7.4), les faces c e e lies ` une arte de polygone Ci donne se trouvent, dans lespace dual, soit entre les droites e a e duales associes aux extrmits de Ci (cas des faces de type (a)), soit le long dune des droites e e e a e duales associes aux extrmits de Ci mais ` lextrieur de ces deux droites duales (sachant que e e e la zone entre les deux droites duales reprsente lensemble des droites qui intersectent larte de e e polygone Ci ) (cas des faces de type (b)). Les faces lies ` un objet convexe donn (respectivement a une arte de polygone donne) e a e ` e e peuvent donc tre visites en temps proportionnel a leur nombre, en balayant le complexe de e e ` visibilit le long des courbes de tangence associes ` cet objet (respectivement le long des droites e e a duales associes ` cette arte de polygone). Les courbes de tangence associes ` un objet donn, e a e e a e ou les droites duales associes ` une arte de polygone donne sont de plus directement accese a e e sibles, ce qui permet dliminer toute recherche inutile. e

7.1.2

Recalcul des facteurs de forme strictement ncessaires apr`s un dplae e e cement d dun objet

Soit un objet O en mouvement dans une sc`ne. Soit un petit dplacement d de cet objet au e e cours duquel les relations de visibilit dans la sc`ne nont pas t modies. Pour recalculer les e e ee e facteurs de forme strictement ncessaires (apr`s ce dplacement de lobjet O), il faut considrer e e e e uniquement les faces du complexe de visibilit lies ` lobjet O (cest ` dire les faces de types e e a a (a) et (b), cf. paragraphe 7.1.1). Pour chacune des faces lies ` O, on applique un traitement e a spcique, fonction de son type, qui permet de recalculer pour une face donne uniquement les e e facteurs de forme strictement ncessaires. e

168
Sc`ne e y

Radiosit pour les environnements dynamiques 2D e


Espace dual (a, b)
DB2 4 DB1 DC2 DA2

face([B2 B1 ], [A2 A1 ])

arte Ci e C3 A1 C1
2

B1
0

DC1 DC3 DA1

C2 B2

x
-2

face([B2 B1 ], [C2 C1 ])

A2
-4

A1 (0, 0) A2 (1, 2) B1 (3, 1) B2 (5, 1)

C1 (1, 1.5) C2 (2, 0) C3 (0.5, 1)

-3

-2

-1

face correspondant au cas (a) face correspondant au cas (b)

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.4 - Faces lies ` une arte de polygone Ci . e a e Cas des faces dont un des deux objets associs est lobjet en mouvement O e Soit O un objet de la sc`ne considre, visible depuis lobjet O. Lorsque lobjet O sest e ee e dplac dun dplacement d, la position relative de lobjet O par rapport a lobjet O a chang. e e e ` Il faut donc : e recalculer les facteurs de forme pour toutes les paires dlments de O et O qui taient ee mutuellement visibles avant le dplacement de O et qui le sont toujours lorsque O est dans e sa nouvelle position. e Ces dirents lments appartiennent aux parties mutuellement visibles sur O et O dnies e ee a ` partir des direntes faces du complexe associes aux objets O et O . e e e mettre a zro les facteurs de forme pour les paires dlments de O et O qui taient ` e ee prcdemment mutuellement visibles et qui ne le sont plus apr`s le dplacement de O. e e e e e e e calculer les facteurs de forme pour les paires dlments de O et O qui taient prcdemee ment cachs et qui sont devenus mutuellement visibles apr`s le dplacement de O. e e e e e Connaissant les faces associes ` lobjet O et ` un objet O , avant et apr`s le dplacement e a a de lobjet O, on peut obtenir simplement les parties qui sont mutuellement visibles sur O et O avant et apr`s ce dplacement. On en dduit un algorithme permettant de recalculer les facteurs e e e de forme strictement ncessaires pour une face donne dont un des deux objets associs est e e e lobjet en mouvement.

7.1 Dplacement sans changement topologique dans la visibilit e e Application aux sc`nes polygonales e

169

Soit P un polygone en mouvement dans une sc`ne. Lorsque le polygone P a eectu un e e dplacement d sans changement topologique dans la visibilit, on ralise le traitement spci e e e e e dans la gure 7.5, pour chaque face du complexe dont une des deux artes de polygones associes e e est une arte du polygone P. Lalgorithme prsent dans la gure 7.5 dcrit les recalculs de e e e e facteurs de forme strictement ncessaires pour une face de ce type. Il utilise les notions de partie e mutuellement visible dnie sur une arte de polygone a partir dune face et de partie dune e e ` arte de polygone vue par un lment donn. Ces notions sont introduites dans le paragraphe 5.2, e ee e et plus spciquement dans le paragraphe 5.2.2 pour les polygones. On trouve aussi dans ces e paragraphes des explications sur le calcul eectif de ces deux parties. Lexcution de lalgorithme est illustre sur un exemple o` on montre le recalcul des facteurs e e u de forme strictement ncessaires entre les lments sur deux artes de polygones Cl et Cr , e ee e e ee apr`s un dplacement d de Cl (cf. gure 7.6). Pour chaque tape de lalgorithme, llment e e ee e e ee sl considr sur Cl est indiqu par un trait noir plus pais. La partie vue par cet lment sur e e Cr apr`s le dplacement de Cl (partie sur Cr comprise entre les points prup (f ) et prdown (f ) ), est e a reprsente par des petits tirets le long de Cr . La partie mutuellement visible sur Cl dnie ` e e e e partir de la face associe ` Cl et Cr apr`s le dplacement de Cl (partie sur Cl comprise entre les e a e e e points plu (f ) et pld (f ) ), est galement reprsente par des petits tirets le long de Cl . On indique aussi, pour chaque tape, les facteurs de forme quil faut recalculer et ceux quil faut mettre ` e a zro pour llment sl courant. e ee ee La gure 7.7 montre la face du complexe associe aux artes Cl et Cr considres, avant et e e e e e apr`s le dplacement de Cl (respectivement schma du haut et schma du bas). La face associe e e e e e a ` Cl et Cr est reprsente en gris fonc, et la zone comprise dans lespace dual entre les droites e e e duales associes aux deux extrmits de Cl est colorie en gris clair. Lorsque Cl sest dplac e e e dun dplacement d sans changement topologique dans la visibilit, la topologie de la face e e e associe ` Cl et Cr na pas chang. On peut le constater sur la gure 7.7. Cependant, les droites e a e e e e duales associes aux extrmits de Cl se sont dplaces, ainsi que celles associes aux direntes e e e e e a extrmits des lments sur Cl . La reprsentation dans lespace dual de la face associe ` Cl et e e ee ee e e e ee Cr a donc t modie, ainsi que celle des sous-faces associes aux dirents lments de Cl et Cr . ee ee Soit sl un lment sur Cl et soit sr un lment sur Cr . Le dual de lensemble des droites e ` qui intersectent sl et sr quivaut, dans lespace dual, a la zone comprise entre les droites duales ee e associes aux extrmits de sl et sr . Si deux lments sl et sr donns sont mutuellement visibles e e e alors la zone reprsentant le dual de lensemble des droites intersectant sl et sr intersecte (cas e de visibilit partielle) ou est comprise (cas de visibilit totale) dans la face associe ` Cl et Cr , e e e a et sinon elle se trouve a lextrieur de la face. On peut ainsi en dduire tr`s facilement, a partir ` e e e ` e e ee de la face associe ` Cl et Cr avant et apr`s le dplacement de Cl , pour quels lments de Cl e a et Cr on doit recalculer un facteur de forme, pour quels lments on doit mettre un facteur de ee forme ` zro, et pour quels lments on doit calculer un facteur de forme. Il faut : a e ee recalculer le facteur de forme entre deux lments sl et sr donns si la zone reprsentant ee e e le dual de lensemble des droites intersectant ces deux lments tait ` lintrieur ou interee e a e a e sectait la face associe ` Cl et Cr , et quelle est toujours ` lintrieur ou quelle intersecte e a ee ee toujours la face apr`s le dplacement de Cl (cf. par exemple llment 2 de Cl et llment e e 2 de Cr dans le cas de la gure 7.7). mettre a zro le facteur de forme entre deux lments sl et sr donns si la zone reprsentant ` e ee e e

tel-00004958, version 1 - 20 Feb 2004

170

Radiosit pour les environnements dynamiques 2D e

Mise a jour des facteurs de forme pour une face f de type (a) : une des deux ` artes de polygones associes est une arte du polygone en mouvement P e e e Soient Cl et Cr les deux artes de polygones associes ` la face f e e a Soient plu (i) et pld (i) les points extrmits de la partie mutuellement visible sur Cl e e dnie ` partir de la face f , avant le dplacement d du polygone P e a e Soient plu (f ) et pld (f ) les points extrmits de la partie mutuellement visible sur Cl e e dnie ` partir de la face f , apr`s le dplacement d du polygone P e a e e Pour tout lment sl de Cl avec au moins une partie dans [plu (i) , pld (i) ] [plu (f ) , pld (f ) ] ee e e Soient prup (i) et prdown (i) les limites suprieure et infrieure de la partie de Cr vue par sl , avant le dplacement d de P e Soient prup (f ) et prdown (f ) les limites suprieure et infrieure de la partie de Cr e e vue par sl , apr`s le dplacement d de P e e Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = Si prup (i) est  au dessus de prup (f )   Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr dont a e ee lextrmit  basse pr1 [prup (i) , prup (f ) ] e e   Si prdown (i) est  au dessous de prdown (f )  Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr dont a e ee lextrmit  haute pr0 [prdown (f ) , prdown (i) ] e e  Recalculer les facteurs de forme entre sl et les lments sr de Cr qui ont au ee moins une partie dans [prup (f ) , prdown (f ) ] Fin Si Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr qui avaient a e ee au moins une partie dans [prup (i) , prdown (i) ] Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = ee Calculer les facteurs de forme entre sl et les lments sr de Cr qui ont au moins une partie dans [prup (f ) , prdown (f ) ] Fin Pour

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.5 - Algorithme de recalcul des facteurs de forme pour les faces de type (a) (Cas dun dplacement d sans changement topologique dans la visibilit). e e

7.1 Dplacement sans changement topologique dans la visibilit e e

171

le dual de lensemble des droites intersectant ces deux lments se trouvait ` lintrieur ou ee a e intersectait la face associe ` Cl et Cr avant le dplacement de Cl , et quelle se retrouve e a e ee a ` lextrieur de la face apr`s le dplacement de Cl (cf. par exemple llment 2 de Cl et e e e llment 4 de Cr dans le cas de la gure 7.7). ee calculer le facteur de forme entre deux lments sl et sr donns si la zone reprsentant le ee e e dual de lensemble des droites intersectant ces deux lments tait ` lextrieur de la face ee e a e e a e associe ` Cl et Cr avant le dplacement de Cl , et quelle se retrouve ` lintrieur ou quelle e a intersecte la face apr`s le dplacement de Cl . e e Cas des faces dont une des artes associes ` des objets qui interf`rent est associe e e a e e a ` lobjet en mouvement O e ee e e Soient deux objets O et O de la sc`ne considre, qui ont leur visibilit mutuelle rduite (entre autres) par lobjet O. Lorsque lobjet O sest dplac dun dplacement d, la position e e e relative de lobjet O par rapport aux objets O et O a chang. Sachant que lobjet O interf`re e e ` entre les objets O et O , il faut donc mettre a jour les facteurs de forme pour toutes les paires e e e dlments de O et O dont la visibilit mutuelle est modie par le dplacement de lobjet O. ee Parmi ces direntes paires dlments, on distingue trois cas. Il faut : e ee recalculer les facteurs de forme pour les paires dlments qui taient prcdemment muee e e e tuellement visibles et qui le sont toujours apr`s le dplacement de lobjet O, bien que leur e e visibilit ait t modie par ce dplacement. e ee e e mettre a zro les facteurs de forme pour les paires dlments qui taient prcdemment ` e ee e e e mutuellement visibles (partiellement ou totalement) et qui ne se voient plus apr`s le de e placement de lobjet O. calculer les facteurs de forme pour les paires dlments qui taient prcdemment cachs et ee e e e e qui sont devenus mutuellement visibles (partiellement ou totalement) apr`s le dplacement e e de lobjet O. Application aux sc`nes polygonales e e Soit P un polygone en mouvement dans une sc`ne. Soient Cl et Cr deux artes de polygones e entre lesquelles le polygone P interf`re. On note p le sommet du polygone P qui rduit la visibilit e e e e e entre Cl et Cr . On consid`re un petit dplacement d de P au cours duquel les relations de e visibilit ne sont pas modies. On note p(i) la position initiale du point p, avant le dplacement e e e e d du polygone P, et p(f ) la position nale de p, apr`s le dplacement du polygone P (cf. gure 7.8 pour un exemple). Lorsque le polygone P a eectu le dplacement d, on ne doit e e ee e mettre a jour pour Cl et Cr que les facteurs de forme pour les paires dlments dont la visibilit ` mutuelle est modie par le dplacement du polygone P. Voyons tout dabord de quelles paires e e dlments il sagit. ee e e e Soit f (i) la face du complexe associe aux artes de polygones Cl et Cr , avant le dplacement du polygone P. Avant ce dplacement, la rgion entre les deux artes de polygones Cl et Cr e e e o` le sommet p du polygone P peut obstruer la visibilit correspond, dans la sc`ne, a la zone u e e ` e a e e a dinterfrence ZIp(i) associe ` larte de la face f (i) qui est associe ` p. La notion de zone dine terfrence associe ` une arte e dune face f du complexe est introduite dans le paragraphe 5.2, e e a e

tel-00004958, version 1 - 20 Feb 2004

172

Radiosit pour les environnements dynamiques 2D e

Etape 1 plu (i) polygone P dans sa position initiale p (f )


lu

Etape 2 plu (i) prup (i) prup (f ) 1 2 p 1 2 plu


(f )

prup (i) prup (f ) 1 pl0 2 pl1 3 4 p 3 4 pld (i) prdown (i) prdown (f ) 1 2

sl polygone P dans sa position nale pld (f )

extrmit haute pr0 e e de llment 2 ee sl

Cl

Cr
3 4

3 4 pld (i)

extrmit basse pr1 e e de llment 2 (f ) ee pld

prdown (i) prdown (f )

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = :

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : Mettre ` zro les facteurs de forme entre a e ee sl et llment 4 de Cr Recalculer les facteurs de forme entre sl et les lments 1, 2, 3 de Cr ee

tel-00004958, version 1 - 20 Feb 2004

Recalculer les facteurs de forme entre ee sl et les lments 1, 2, 3, 4 de Cr

Etape 3 plu (i) prup (i) plu (f ) 1 1 p 2 prup


(f ) (f )

Etape 4 plu (i) prup (i) plu


(f )

prdown (i) 1 2 p 1 2

prdown

pld (f ) sl

Cl

Cr
3 4 prdown (i)

pld (f )

Cl

Cr
3 4

3 4 pld (i)

3 sl 4 pld (i)

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : Mettre ` zro les facteurs de forme entre a e sl et les lments 2, 3, 4 de Cr ee Recalculer les facteurs de forme entre ee sl et llment 1 de Cr

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : Mettre ` zro les facteurs de forme entre a e sl et llment 1 de Cr ee

Fig. 7.6 - Exemple dun polygone P qui sest dplac dun petit dplacement d, sans changee e e ment topologique dans la visibilit. e

7.1 Dplacement sans changement topologique dans la visibilit e e


Face associe a Cl et Cr lorsque le polygone P est dans sa position initiale e `
Espace dual (a, b) b 1 4 0 -1 -2 -3 -4 1 -5 -6 sous-face associe ` llment 2 de Cl e a ee et a llment 4 de Cr ` ee 2 3 4 Cl 3 2 1 p Cr

173

tel-00004958, version 1 - 20 Feb 2004

-7 -2 -1.5 -1 -0.5 0 0.5 1 1.5 a

Face associe a Cl et Cr lorsque le polygone P est dans sa position nale e `


b 1 0 0 -1 0 -2 0 -3 1 -4 -5 -6 -7 -2 -1.5 -1 -0.5 0 0.5 1 1.5 a 2 0 0 3 Cl 4 Espace dual (a, b) Cr 4 3 2 1 p

facteur de forme a mettre ` zro ` a e facteur de forme a recalculer `

Fig. 7.7 - Face associe a Cl et Cr avant et apr`s le dplacement du polygone P (Cas dun e ` e e dplacement sans changement topologique dans la visibilit). e e

174

Radiosit pour les environnements dynamiques 2D e

et plus spciquement dans le paragraphe 5.2.2 pour les polygones. Soit f (f ) la face du complexe e associe aux artes de polygones Cl et Cr , apr`s le dplacement du polygone P. On introduit de e e e e e a e e a faon similaire la zone dinterfrence ZIp(f ) associe ` larte de la face f (f ) qui est associe ` p. c e On peut voir un exemple sur la gure 7.8. La zone dinterfrence ZIp(i) est reprsente avec des e e e e hachures et la zone dinterfrence ZIp(f ) est colorie en gris clair. e
polygone P dans sa position initiale polygone P dans sa position nale l1 upl a p(i) p(f ) downl Cr Cl downr Face f (f ) associe a Cl et Cr e ` lorsque P est dans sa position nale : a

Face f (i) associe a Cl et Cr e ` lorsque P est dans sa position initiale : p(i)

a l1

b r1

r1 b upr

r2

l2

tel-00004958, version 1 - 20 Feb 2004

l2

r2 zone dinterfrence ZIp(i) e associe ` larte p(i) e a e l1

p(f )

b r1

zone dinterfrence ZIp(f ) e associe ` larte p(f ) e a e

r2

l2

Fig. 7.8 - Zone dinterfrence associe ` une arte du complexe associe ` un point p, avant et e e a e e a apr`s son dplacement. e e e On note respectivement upl (ZIp(i) ZIp(f ) ) et downl (ZIp(i) ZIp(f ) ), les limites suprieure et infrieure de ZIp(i) ZIp(f ) sur Cl , et upr (ZIp(i) ZIp(f ) ) et downr (ZIp(i) ZIp(f ) ) les limites e e ee de ZIp(i) ZIp(f ) sur Cr (cf. gure 7.8 pour un exemple). Ncessairement, les lments dont la visibilit est modie par le dplacement du polygone P ont au moins une partie dans [upl , downl ] e e e pour Cl et [upr , downr ] pour Cr . Remarquons que cette condition nest pas susante, deux lments sur Cl et Cr ainsi choisis pouvant tre toujours ou bien totalement visibles avant et ee e apr`s le dplacement de P, ou bien totalement cachs avant et apr`s ce dplacement. Pour se e e e e e restreindre uniquement aux paires dlments dont la visibilit est rellement modie par le ee e e e dplacement de P, on doit considrer sparment chaque lment sl de Cl avec au moins une e e e e ee e ee partie dans [upl , downl ]. On distingue trois cas parmi ces dirents lments sl : ee soit llment sl considr avait au moins une partie dans la partie mutuellement visible ee a dnie sur Cl ` partir de la face f (i) mais na pas de partie dans la partie mutuellement e a visible dnie sur Cl ` partir de la face f (f ) . e ee Dans ce cas l`, il sut de mettre a zro les facteurs de forme entre sl et les lments de a ` e e Cr qui avaient au moins une partie dans la partie de Cr vue par sl avant le dplacement. ee e soit llment sl considr navait pas de partie dans la partie mutuellement visible dnie ee (i) mais a au moins une partie dans la partie mutuellement a sur Cl ` partir de la face f

7.1 Dplacement sans changement topologique dans la visibilit e e

175

visible dnie sur Cl ` partir de la face f (f ) . e a Dans ce cas l`, il sut de calculer les facteurs de forme entre sl et les lments de Cr qui a ee e e ont au moins une partie dans la partie de Cr vue par sl apr`s le dplacement. soit llment sl considr avait au moins une partie dans la partie mutuellement visible ee ee a dnie sur Cl ` partir de la face f (i) et a au moins une partie dans la partie mutuellement e visible dnie sur Cl ` partir de la face f (f ) . e a e Pour un tel lment sl , on doit calculer la partie sur Cr dont la visibilit depuis sl est ee modie par le dplacement du polygone P. Cette partie est dcrite par les extrmits sur e e e e e e Cr : dune part, des segments libres maximaux qui touchaient sl et Cr avant le dplacement de P et qui intersectent P apr`s son dplacement ; dautre part, des segments libres e e e e maximaux qui touchent sl et Cr apr`s le dplacement de P et qui intersectaient P avant e ee e son dplacement. Cette partie sur Cr dnie pour un lment sl donn forme un segment e dont les extrmits sont appeles lrup et lrdown . On peut voir un exemple sur la gure 7.9. e e e
polygone P dans sa position initiale

tel-00004958, version 1 - 20 Feb 2004

polygone P dans sa position nale

l1 a sl pl0 pl1 p(i) b

r1 lrup

p(f ) Cr Cl

lrdown

l2

r2

Fig. 7.9 - Partie sur une arte de polygone Cr dont la visibilit depuis un lment sl donn est e e ee e modie par le dplacement dun polygone P. e e La gure 7.11 rcapitule sous forme dun algorithme le traitement ralis pour chaque face e e e du complexe telle que le polygone en mouvement P interf`re entre les deux objets associs. e e Lalgorithme prsent dans cette gure dcrit les recalculs de facteurs de forme strictement e e e ncessaires pour une face de ce type. Il utilise entre autres les notions de partie mutuellement e visible dnie sur une arte de polygone ` partir dune face et de partie dune arte de polygone e e a e vue par un lment donn, introduites dans le paragraphe 5.2, et plus spciquement dans le ee e e ee paragraphe 5.2.2 pour les polygones. La dtermination des points lrup et lrdown pour un lment e e e e sl donn dpend du dplacement du polygone en mouvement. On distingue quatre types de e dplacements : les dplacements vers le bas (cas des objets qui interf`rent par le haut entre e e les deux objets associs ` la face considre et qui se dplacent de faon ` interfrer encore plus e a ee e c a e

176

Radiosit pour les environnements dynamiques 2D e

entre ces deux objets, ou cas des objets qui interf`rent par le bas entre les deux objets associs e e a ` la face considre et qui se dplacent de faon ` moins interfrer entre ces deux objets), les ee e c a e dplacements vers le haut (cas des objets qui interf`rent par le haut entre les deux objets e e associs ` la face considre et qui se dplacent de faon ` moins interfrer entre ces deux objets, e a ee e c a e ou cas des objets qui interf`rent par le bas entre les deux objets associs ` la face considre et e e a ee qui se dplacent de faon ` interfrer encore plus entre ces deux objets), les dplacements vers la e c a e e e u e e droite et les dplacements vers la gauche, o` lobjet en mouvement se dplace sans interfrer plus entre les deux objets associs ` la face considre. La gure 7.10 fournit en exemple la e a ee description de la dtermination des points lrup et lrdown dans le cas dun dplacement vers le e e e e c e bas. On peut bien videmment dcrire de faon similaire la dtermination de ces points dans le cas des trois autres types de dplacements. e Lexcution de lalgorithme est illustre sur un exemple o` on montre le recalcul des facteurs e e u e de forme strictement ncessaires entre les lments sur deux artes de polygones Cl et Cr apr`s e ee e e un dplacement d vers le bas dun polygone P qui interf`re entre Cl et Cr (cf. gure 7.12). e e Soit p le sommet du polygone P qui rduit la visibilit entre Cl et Cr . On note f la face associe e e e ee ee aux artes de polygones Cl et Cr . Pour chaque tape de lalgorithme, llment sl considr sur e Cl est indiqu par un trait noir plus pais. La partie [lrup , lrdown ] calcule pour un lment sl e e e ee donn (partie sur Cr dont la visibilit depuis llment sl est modie par le dplacement du e e ee e e e polygone P), est reprsente par des petits tirets le long de Cr . La zone dinterfrence ZIp(i) e e associe ` larte de la face f qui est associe au point p lorsquil est dans sa position initiale e a e e e e e (position note p(i) sur la gure 7.12) est reprsente par des hachures. Et la zone dinterfrence e e a e e ZIp(f ) associe ` larte de la face f qui est associe au point p lorsquil est dans sa position e nale (position note p(f ) sur la gure 7.12) est colorie en gris clair. On indique aussi, pour e chaque tape, les facteurs de forme quil faut recalculer et ceux quil faut mettre ` zro pour e a e llment sl courant. ee La gure 7.13 montre la face du complexe de visibilit associe aux artes de polygones Cl e e e et Cr considres, avant et apr`s le dplacement vers le bas du polygone P (respectivement ee e e e e e schma du haut et schma du bas). La face associe ` Cl et Cr est reprsente en gris fonc. e e e a e On constate sur la gure que la topologie de la face associe ` Cl et Cr na pas chang lorsque e a le polygone P sest dplac. Les droites duales associes aux direntes extrmits des lments e e e e e e ee e e e sur Cl et Cr restent en fait inchanges puisque les artes de polygones Cl et Cr nont pas boug. Seules les droites associes, dans lespace dual, aux dirents sommets du polygone P se sont e e dplaces. On note p le sommet du polygone P qui interf`re au niveau de la face associe ` Cl e e e e a (i) la droite duale associe au sommet p lorsque le polygone P est dans sa position et Cr . Soit p e e initiale, et soit p(f ) la droite duale associe au sommet p lorsque le polygone P est dans sa e e position nale. La partie de la face associe ` Cl et Cr qui est modie par le dplacement du e a polygone P est donc comprise, dans lespace dual, entre les droites p(i) et p(f ) . Soit sl un ee lment sur Cl , et soit sr un lment sur Cr . Le dual de lensemble des droites qui intersectent ee e ` e sl et sr quivaut, dans lespace dual, a la zone comprise entre les droites duales associes aux ` ee extrmits de sl et sr . On doit mettre a jour les facteurs de forme seulement pour les lments e e e a e e sl et sr pour lesquels la zone comprise entre les droites duales associes ` leurs points extrmits intersecte ou se trouve a lintrieur de la bande comprise entre les droites duales p(i) et p(f ) . ` e La zone correspondant dans lespace dual aux facteurs de forme ` mettre a jour est entoure a ` e par un large trait gris clair dans la gure 7.13. La mise ` jour de facteur de forme a eectuer a ` e e (recalcul, mise ` zro ou calcul) pour deux lments sl et sr donns de cette zone dpend de a e ee e e la position par rapport ` la face associe ` Cl et Cr avant et apr`s le dplacement, de la zone a e a

tel-00004958, version 1 - 20 Feb 2004

7.1 Dplacement sans changement topologique dans la visibilit e e

177

Soit P un polygone qui se dplace  vers le bas dun dplacement d sans changement e   e topologique dans la visibilit e Soit p le sommet du polygone P qui interf`re au niveau de la face f considre e ee / la face f est associe aux artes de polygones Cl et Cr / e e Soit p(i) la position initiale du point p (avant le dplacement d de P) e Soit p(f ) la position nale de p (apr`s le dplacement d de P) e e Soit ZIp(i) la zone dinterfrence dnie ` partir de larte de f associe ` p, e e a e e a lorsque p est dans sa position initiale e e a e e a Soit ZIp(f ) la zone dinterfrence dnie ` partir de larte de f associe ` p, lorsque p est dans sa position nale e e Soient plu (i) et pld (i) les points extrmits de la partie mutuellement visible sur Cl dnie ` partir de la face f , avant le dplacement d du polygone P e a e Soient plu (f ) et pld (f ) les points extrmits de la partie mutuellement visible sur Cl e e dnie ` partir de la face f , apr`s le dplacement d du polygone P e a e e ee e e e Soit sl un lment de larte de polygone Cl avec pour points extrmits [pl0 , pl1 ] Dtermination de lrup e Si pl1 [plu (i) , pld (i) ] Si pl1 est ` lintrieur de ZIp(i) a e lrup := (pl1 p(i) ) Cr Sinon / Cas : pl1 est ` lextrieur de ZIp(i) / a e a e Soit q un point tel que pl1 est ` lintrieur de ZIq/p(i) / q est un sommet de polygone associ ` une arte de f adjacente ` larte associe ` p / ea e a e e a e e a / ZIq/p(i) est la zone dinterfrence associe ` q losrque p est dans sa position initiale / Si pl1 est ` lintrieur de ZIp(f ) a e lrup := (pl1 q) Cr Sinon / Cas : pl1 est ` lextrieur de ZIp(f ) / a e ` / pl1 appartient aussi a ZIq/p(f ) / / ZIq/p(f ) est la zone dinterfrence associe ` q lorsque p est dans sa position nale / e e a lrup := (p(f ) q) Cr Fin Sinon Sinon / Cas : pl1 [plu (i) , pld (i) ] / lrup := (pld (i) p(i) ) Cr Dtermination de lrdown e Si pl0 [plu (f ) , pld (f ) ] Si pl0 est ` lintrieur de ZIp(f ) a e lrdown := (pl0 p(f ) ) Cr Sinon / Cas : pl0 est ` lextrieur de ZIp(f ) / a e a e Soit q un point tel que pl0 est ` lintrieur de ZIq/p(f ) / q est un sommet de polygone associ ` une arte de f adjacente ` larte associe ` p / ea e a e e a Si pl0 est ` lintrieur de ZIp(i) a e lrdown := (pl0 q) Cr Sinon / Cas : pl0 est ` lextrieur de ZIp(i) / a e ` / pl0 appartient aussi a ZIq/p(i) /

tel-00004958, version 1 - 20 Feb 2004

lrdown := (q p(f ) ) Cr Fin Sinon Sinon / Cas : pl0 [plu (f ) , pld (f ) ] / lrdown := (plu (f ) p(f ) ) Cr

Fig. 7.10 - Dtermination des points lrup et lrdown pour un lment sl donn (Cas dun dplae ee e e cement vers le bas).

178

Radiosit pour les environnements dynamiques 2D e

Mise a jour des facteurs de forme pour une face f de type (b) : une des ` artes associes a des sommets de polygones qui interf`rent est associe e e ` e e a ` un sommet du polygone en mouvement P Soient Cl et Cr les deux artes de polygones associes ` la face f e e a Soit p le sommet du polygone P qui interf`re au niveau de la face f e e Soit p(i) la position initiale du point p (avant le dplacement d de P) Soit p(f ) la position nale de p (apr`s le dplacement d de P) e e Soit ZIp(i) la zone dinterfrence dnie ` partir de larte de f associe ` p, e e a e e a lorsque p est dans sa position initiale e e a e e a Soit ZIp(f ) la zone dinterfrence dnie ` partir de larte de f associe ` p, lorsque p est dans sa position nale e e Soient upl (ZIp(i) ZIp(f ) ) et downl (ZIp(i) ZIp(f ) ) les limites suprieure et infrieure de ZIp(i) ZIp(f ) Soient plu (i) et pld (i) les points extrmits de la partie mutuellement visible sur Cl e e dnie ` partir de la face f , avant le dplacement d du polygone P e a e Soient plu (f ) et pld (f ) les points extrmits de la partie mutuellement visible sur Cl e e dnie ` partir de la face f , apr`s le dplacement d du polygone P e a e e Pour tout lment sl de Cl avec au moins une partie dans ee [upl (ZIp(i) ZIp(f ) ), downl (ZIp(i) ZIp(f ) )] e e Soient prup (i) et prdown (i) les limites suprieure et infrieure de la partie de Cr vue par sl , avant le dplacement d de P e Soient prup (f ) et prdown (f ) les limites suprieure et infrieure de la partie de Cr e e vue par sl , apr`s le dplacement d de P e e Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = ee Calculer les points lrup et lrdown en fonction de la valeur courante de llment sl (cf. gure 7.10)
  Si prup (i) est  au dessus de prup (f ) Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr dont a e ee lextrmit  basse pr1 [prup (i) , prup (f ) ] e e  Si prdown (i) est  au dessous de prdown (f )   Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr dont a e ee lextrmit  haute pr0 [prdown (f ) , prdown (i) ] e e  Recalculer les facteurs de forme entre sl et les lments sr de Cr non encore ee considrs qui ont au moins une partie dans [lrup , lrdown ] ee Fin Si

tel-00004958, version 1 - 20 Feb 2004

Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = Mettre ` zro les facteurs de forme entre sl et les lments sr de Cr qui avaient a e ee au moins une partie dans [prup (i) , prdown (i) ] Si sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = ee Calculer les facteurs de forme entre sl et les lments sr de Cr qui ont au moins une partie dans [prup (f ) , prdown (f ) ] Fin Pour

Fig. 7.11 - Algorithme de recalcul des facteurs de forme pour les faces de type (b) (Cas dun dplacement d sans changement topologique dans la visibilit). e e

7.1 Dplacement sans changement topologique dans la visibilit e e

179

reprsentant le dual de lensemble des droites intersectant ces deux lments (cf. paragraphe e ee prcdent intitul : Cas des faces dont un des deux objets associs est lobjet en mouvement O). e e e e Recalcul du facteur de forme entre deux lments sl et sr donns ee e Nous avons vu dans les deux paragraphes prcdents comment identier les facteurs de forme e e a ` recalculer ncessairement pour les direntes faces du complexe de visibilit lies ` lobjet en e e e e a mouvement. Nous allons voir maintenant comment on recalcule ces facteurs de forme. Les objets de la sc`ne sont initialement chantillonns en prenant en compte les discontinuie e e ts. Nous avons cependant dcid dans un premier temps de ne pas les mettre ` jour lorsquun e e e a objet se dplace. Lchantillonnage apr`s les dplacements successifs dun objet nest donc plus e e e e fonction des discontinuits. Pour recalculer le facteur de forme entre deux lments, on ne peut e ee donc par appliquer directement les techniques prsentes dans le paragraphe 5.2 (dans lesquelles e e lchantillonnage en fonction des discontinuits permet de garantir que lon a au plus un objet e e e ee e qui interf`re par le haut et un objet qui interf`re par le bas entre deux lments donns). e Une ide pour calculer les facteurs de forme dans ce cas, consiste ` se ramener au cas o` on e a u prend en compte les discontinuits, en dcoupant les lments existants suivant les discontinuits, e e ee e au moment du calcul. On peut ensuite rutiliser les mthodes de calcul prsentes dans le e e e e paragraphe 5.2 sur les sous-lments ainsi obtenus, et il sut ensuite de sommer les facteurs ee de forme obtenus pour obtenir le facteur de forme recherch. On peut voir un exemple sur la e e gure 7.14. Pour recalculer le facteur de forme entre les lments sl de Cl et sr de Cr apr`s le ee dplacement du polygone P, on consid`re les deux points de discontinuits d1 et d2 appartenant e e e ee e e ee respectivement a sl et sr . Llment sl est ainsi dcompos en deux sous-lments [pl0 d1 ] et ` ee ee e ee e [d1 pl1 ], et llment sr en deux sous-lments [pr0 d2 ] et [d2 pr1 ]. Dapr`s la proprit dadditivit du facteur de forme (cf. paragraphe 1.2.2), le facteur de forme entre les lments sl et sr est la ee somme des facteurs de forme entre les dirents sous-lments : e ee Fsl sr = F[pl
d ][pr0 d2 ] 0 1

tel-00004958, version 1 - 20 Feb 2004

+ F[pl

d ][d2 pr1 ] 0 1

+ F[d1 pl

][pr0 d2 ]

+ F[d1 pl

][d2 pr1 ]

180
Etape 1

Radiosit pour les environnements dynamiques 2D e


polygone P dans sa position initiale polygone P dans sa position nale plu (i) sl l1 1 2 3 plu
(f )

Etape 2

r1 1 2 p(i) 3 p(f ) l2 r2 4 prdown (i) prup


(i)

plu (i)

l1 1 pl0 3 pr0 4 5 p(f ) l2 r2 4 2

r1 1 2 p(i) 3

prup (i)

sl plu (f )

4 5

pld (i) pld


(f )

pld (i) pld


(f )

prdown (i)

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : Mettre a zro les facteurs de forme entre ` e ee sl et les lments 3, 4 de Cr

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : Mettre a zro les facteurs de forme entre ` e ee sl et les lments 1, 2, 3, 4 de Cl

tel-00004958, version 1 - 20 Feb 2004

Etape 3

Etape 4

plu (i)

l1 1 2

r1 1 2 p(i) 4 5 p(f ) l2 r2 4 3

prup lrup

(i)

plu (i)

l1 1 2 3

r1 1 2 p(i) 4 3 p(f ) l2 r2 4

prup (i) prup (f ) lrup

plu (f ) sl

prup

(f )

lrdown

plu prdown (i) prdown (f ) lrdown

(f )

sl pld (i) pld (f )

prdown (i) prdown (f )

pld (i) pld (f )

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : pl1 [plu ld pl1 ZIp(i) , pl1 ZIp(f ) , pl1 ZIr1
(i) , p (i) ]

sl [plu (i) , pld (i) ] = et sl [plu (f ) , pld (f ) ] = : pl1 [plu (i) , pld (i) ] pl1 ZIp(i) , pl1 ZIp(f ) , pl1 ZIr1 lrup := (p(f ) r1 ) Cr pl0 [plu (f ) , pld (f ) ] pl0 ZIp(f ) lrdown := (pl0 p(f ) ) Cr Recalculer les facteurs de forme entre sl et les lments 1, 2, 3 de Cr ee

/p(i)

/p(i)

lrup := (pl1 r1 ) Cr pl0 [plu (f ) , pld (f ) ] lrdown := (plu (f ) p(f ) ) Cr Mettre a zro les facteurs de forme entre ` e sl et les lments 1, 2 de Cr ee Recalculer les facteurs de forme entre sl et les lments 3, 4 de Cr ee

Fig. 7.12 - Exemple dun polygone P qui sest dplac vers le bas dun petit dplacement d, e e e sans changement topologique dans la visibilit. e

7.1 Dplacement sans changement topologique dans la visibilit e e


Face associe a Cl et Cr lorsque le polygone P est dans sa position initiale e `
b 2 1 0 -1 4 -2 -3 -4 -5 1 l1 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 a 2 3 Cl Espace dual (a, b) r2 4 3 Cr 2 1 r1 p(f ) l2

181

p(i)

tel-00004958, version 1 - 20 Feb 2004

-6

Face associe a Cl et Cr lorsque le polygone P est dans sa position nale e `


b 2 1 0 -1 -2 -3 -4 -5 -6 0 0 0 1 0 0 0 0 2 l1 0 3 4 Espace dual (a, b) r2 4 3 2 1 r1 p(f ) l2 5

p(i)

-2

-1.5

-1

-0.5

0.5

1.5

2 a

facteur de forme a mettre ` zro ` a e facteur de forme a recalculer `

Fig. 7.13 - Face associe ` Cl et Cr avant et apr`s le dplacement du polygone P (Cas dun e a e e e dplacement vers le bas sans changement topologique dans la visibilit). e

182

Radiosit pour les environnements dynamiques 2D e


zone dinterfrence associe ` larte a e e a e de la face associe ` Cl et Cr e a polygone P dans sa position nale pr0 a b d2 sr Cr Cl pr1 j2 i2 i1 a b j1 Face associe a Cl et Cr : e ` (apr`s le dplacement de P ) e e

j1 i1 pl0 sl pl1 d1

j2

polygone P dans sa position initiale

i2

zone dinterfrence associe a larte b de la face associe a Cl et Cr e e ` e e `

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.14 - Exemple dune paire dlments sur Cl et Cr respectivement entre lesquels il y a ee deux objets qui interf`rent par le haut. e

7.1.3

Mise ` jour des discontinuits a e

An de conserver au cours du mouvement les limites exactes dombre et de pnombre, il e peut tre souhaitable, lorsquun objet sest dplac, deectuer la mise ` jour des discontinuits, e e e a e avant de recalculer les facteurs de forme. Des recalculs supplmentaires sont alors ncessaires. e e Il faut dans un premier temps mettre a jour les discontinuits, ce qui modie partiellement ` e lchantillonnage. Il faut ensuite recalculer les facteurs de forme entre les lments modis et e ee e e tous les lments quils voient dans la sc`ne. ee Discontinuits a recalculer e ` Lorsquun objet O sest dplac, sa position relative par rapport aux objets quil voit a e e chang. Toutes les discontinuits calcules au niveau de lobjet O doivent donc tre recalcules, e e e e e ainsi que les discontinuits induites par les lignes critiques lies ` lobjet O. Dans le cas dune e e a sc`ne constitue dobjets convexes, ces lignes critiques sont les lignes critiques tangentes ` lobjet e e a O. Dans le cas dune sc`ne polygonale, il sagit des lignes critiques passant par des sommets de e lobjet O. La gure 7.15 montre un exemple de lignes critiques lies ` un objet (il sagit ici dun e a rectangle). On peut voir aussi sur limage, le maillage de discontinuit associ ` la sc`ne. e ea e Interprtation dans lespace dual e Nous avons vu dans le chapitre 4 quune discontinuit peut tre calcule ` partir dun sommet e e e a dune face du complexe de visibilit. e Dans le cas des sc`nes constitues dobjets convexes, les discontinuits calcules sur un objet e e e e e e e convexe Oi donn sont calcules en considrant lensemble des sommets des faces dont un des e e deux objets associs est lobjet convexe Oi , sachant que les dirents sommets dune face associe e

7.1 Dplacement sans changement topologique dans la visibilit e e

183

Fig. 7.15 - Lignes critiques lies ` un objet. e a a ` deux objets convexes donns permettent de dterminer un point de discontinuit sur chacun e e e des deux objets associs ` la face (cf. paragraphe 4.1.1). Les lignes critiques tangentes ` lobjet e a a a e e Oi correspondent ` des sommets du complexe ayant parmi leurs artes incidentes, une arte ` associe ` lobjet convexe Oi . Ces sommets appartiennent soit a des faces dont un des deux e a a e e a objets associs est lobjet convexe Oi , soit ` des faces dont une des artes associes ` des objets e qui interf`rent est associe ` Oi . e e a De faon similaire, dans le cas des sc`nes polygonales, les discontinuits sur un polygone c e e e e a e Pi donn sont calcules ` partir de certains sommets des faces dont une des deux artes de e e a e a polygones associes est une arte de Pi . Pour une face f donne, associe ` larte Ci de Pi et ` e e e larte Cj de Pj , les sommets induisant une discontinuit sur Pi sont les sommets dont les deux e artes incidentes sont : e ou bien associes ` une extrmit de Cj (pour lune delle) et ` un sommet de polygone e a e e a qui interf`re (pour lautre), e ou bien associes ` deux sommets de polygones qui interf`rent, e a e ou bien associes aux deux extrmits de Cj . e e e Les lignes critiques passant par les sommets du polygone Pi correspondent ` des sommets du a complexe ayant parmi leurs artes incidentes une arte associe ` un sommet du polygone Pi . e e e a Ces sommets appartiennent soit a des faces dont une des deux artes de polygones associes est ` e e a e e a une arte de Pi , soit ` des faces dont une des artes associes ` des sommets de polygones qui e interf`rent est associe ` un sommet de Pi . e e a Lorsquun objet O sest dplac, les faces considres pour le recalcul des discontinuits e e ee e correspondent donc aux faces lies ` lobjet O (cf. paragraphe 7.1.1). Dans le cas dune sc`ne e a e polygonale, il faudra bien sr considrer les faces lies ` toutes les artes du polygone en mouu e e a e vement. Les gures 7.16 et 7.17 montrent plusieurs exemples de sc`nes polygonales o` un polygone e u P se dplace dune position 1 ` une position 2, sans changement topologique dans la visibilit. e a e On peut voir sur les dirents schmas les recalculs de discontinuits ncessaires lorsque le e e e e

tel-00004958, version 1 - 20 Feb 2004

184

Radiosit pour les environnements dynamiques 2D e

polygone P sest dplac. La gure 7.16 illustre le cas des faces dont un des deux objets associs e e e est lobjet en mouvement. Pour ce type de faces, les sommets considrs pour le recalcul des ee discontinuits sont de deux sortes. On distingue : les sommets induisant des discontinuits sur e e lobjet en mouvement (sommets reprsents par 3), et les sommets induisant une discontinuit e e e sur dautres objets que lobjet en mouvement (sommets reprsents par ). La gure 7.17 illustre e e le cas des faces dont une des artes associes ` des objets qui interf`rent est associe ` lobjet e e a e e a en mouvement. Pour ce type de faces, les sommets considrs pour le recalcul des discontinuits ee e sont uniquement les sommets induisant une discontinuit sur dautres objets que lobjet en e mouvement. Recalculs supplmentaires de facteurs de forme e La mise ` jour des discontinuits induit une modication de lchantillonnage, si on souhaite a e e conserver un chantillonnage en fonction des discontinuits. Outre la mise ` jour des facteurs e e a de forme pour les faces lies ` lobjet en mouvement comme dans le paragraphe 7.1.2, il faut e a donc aussi recalculer les facteurs de forme entre les lments modis et tous les lments quils ee e ee  voient dans la sc`ne. Pour un lment donn modi sur un objet Oi , on acc`de ` lensemble   e ee e e e a e a e des lments quil voit dans la sc`ne ` partir des faces dont un des deux objets associs est ee e e lobjet Oi . Une face f donne dont un des deux objets associs est lobjet Oi ne sera eectivement considre, pour un lment donn, que si llment considr appartient a la partie mutuellement ee ee e ee ee ` a visible dnie sur Oi ` partir de la face f . e On peut voir dans les gures 7.16 et 7.17, dirents exemples de facteurs de forme quil e faut recalculer ` cause de lapparition de nouvelles discontinuits. Par exemple, dans lexemple a e 1 de la gure 7.16, une discontinuit appara sur llment 2 lorsque le polygone P est dans la e t ee position 2. Cet lment va tre dcoup selon cette discontinuit. On devra ensuite recalculer ee e e e e les facteurs de forme entre les deux nouveaux lments obtenus et les lments de larte de ee ee e ee ee polygone [k1 k2 ] qui sont visibles depuis ces deux nouveaux lments. Ces lments de [k1 k2 ] sont accessibles facilement ` partir de la face associe aux artes de polygones [j1 j2 ] et [k1 k2 ]. a e e

tel-00004958, version 1 - 20 Feb 2004

7.1 Dplacement sans changement topologique dans la visibilit e e

185

Exemple 1 facteurs de forme a recalculer ` k1 Face associe ` [j1 j2 ] et [i1 i2 ] : e a j1 1 2 3 4 j2 i2 polygone en mouvement P k2 i1 2 j1

(lorsque P est en position 2) k2 i1

1 i2 j2

tel-00004958, version 1 - 20 Feb 2004

extrmits des lments lorsque P est en position 1 e e ee discontinuits lorsque P est en position 1 e discontinuits apparaissant quand P est en position 2 e

sommet induisant une discontinuit e sur larte [i1 i2 ] de P e sommet induisant une discontinuit e sur dautres artes que les artes de P e e

Exemple 2 k1 j1 1 2 3 4 1 5 j2 i2 facteurs de forme a recalculer ` i2 j2 k2 m2 m1 Face associe ` [j1 j2 ] et [i1 i2 ] : e a i1 2 (lorsque P est en position 2) k2 j1 m2 i1

Fig. 7.16 - Recalcul des discontinuits dans le cas de faces dont un des deux objets associs est e e lobjet en mouvement.

186

Radiosit pour les environnements dynamiques 2D e

1 j1 1 k1 i1

3 k2

Face associe ` [j1 j2 ] et [k1 k2 ] : e a (lorsque P est en position 2)

2 1 k2

j1

k1

3 j2 m1 polygone en mouvement P m2 facteurs de forme a recalculer ` extrmits des lments lorsque P est en position 1 e e ee

j2 i1

tel-00004958, version 1 - 20 Feb 2004

discontinuits lorsque P est en position 1 e discontinuits apparaissant quand P est en position 2 e

sommet induisant une discontinuit e sur dautres artes que les artes de P e e

Fig. 7.17 - Recalcul des discontinuits dans le cas de faces dont une des artes associes ` des e e e a objets qui interf`rent est associe ` lobjet en mouvement. e e a

7.2
7.2.1

Dplacement avec changement topologique dans la visibilit e e


Changements lmentaires de visibilit ee e

Lorsquun objet se dplace dans une sc`ne, il peut induire des changements dans les relations e e de visibilit entre objets. Il peut cacher deux objets qui se voyaient mutuellement, ou il peut e rendre mutuellement visibles deux objets qui taient prcdemment cachs. e e e e Dans le cas des sc`nes polygonales, tout changement topologique dans la visibilit peut en e e fait tre rduit aux changements lmentaires entre trois sommets de polygones. Soient p1 , p2 , et e e ee e p3 trois sommets de polygones. Supposons que le point p2 se dplace entre les points p1 et p3 . Au e cours du dplacement de p2 , un changement topologique dans la visibilit se produit quand les e trois sommets deviennent aligns puis changent de position relative : le sommet p2 initialement e au dessus de la droite (p1 p3 ) passe en dessous de cette droite ou vice versa (cf. gure 7.18). La e e visibilit entre les points p1 et p3 est alors modie : sils taient mutuellement visibles, ils sont e e e alors cachs par lobstacle en p2 , et sils taient cachs, ils sont alors mutuellement visibles. e La gure 7.19 montre les modications qui se produisent dans lespace dual, lors des changee ments lmentaires de visibilit de la gure 7.18. Soient p1 , p2 et p3 les droites duales associes ee e e e respectivement aux points p1 , p2 et p3 . Lorsque le point p2 se dplace, lquation de sa droite e e duale est modie. Lorsque les points p1 , p2 et p3 deviennent aligns dans la sc`ne, les droites e , p et p se coupent en un mme point dans lespace dual. Lorsque les points p et p sont e p1 2 3 1 3 mutuellement visibles, leurs droites duales sintersectent en un sommet du complexe (sommet v13 sur la gure 7.19). Regardons maintenant plus en dtail les lments du complexe au voisinage des trois droites e ee , p et p . Direntes modications interviennent lors du dplacement du point p . e e duales p1 2 3 2

7.2 Dplacement avec changement topologique dans la visibilit e e

187

(a) p2 p2 p1 p3 p1 p3 p1 p2 p3

(b)

p2 p1 p3 p1 p2 p3 p1 p2 p3

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.18 - Changements lmentaires de visibilit. ee e

(a) p3 p2 p1 (b) p3 p2 v13 p1 p3 p2 p1 p3 p2 p1 p3 p2 p1 p3 v13 p2 p1

Fig. 7.19 - Changements lmentaires dans lespace dual lors dun changement de visibilit. ee e

188

Radiosit pour les environnements dynamiques 2D e

Les changements de base communs ` toutes les congurations gomtriques correspondant aux a e e deux situations de la gure 7.18 sont illustrs sur la gure 7.20. Par exemple, dans le cas de la e
(a) p3 p2 v23 p1 e2

v12

p3 p2 p1

p3 v13 p2 p1 v12 v13 e2 v23

face f

(b) p3 p2 v23 e2 v13 p1 face f

v12

p3 p2

v13 p2 p1

p3 e2 v23

p1

v12

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.20 - Changements de base dans le complexe lors dun changement de visibilit. e premi`re situation (cf. schmas (a)), en considrant les dirents schmas de gauche ` droite : e e e e e a e e larte e2 du complexe est dtruite ; la face f , les trois artes qui la bordent et le sommet v13 sont e e crs ; les relations dincidences entre les artes et les sommets v12 et v23 sont modies, ainsi que ee e les relations dincidences entre les artes et les faces. De faon similaire, si on consid`re les mmes e c e e schmas de droite a gauche, la face f va tre dtruite. Les schmas de la gure 7.20 prsentant e ` e e e e les modications communes pour les direntes congurations gomtriques doivent cependant e e e tre complts, sachant quon recense cinquante congurations gomtriques possibles autour e ee e e de trois points et que les modications compl`tes au niveau du complexe sont direntes pour e e chacune de ces congurations. Ces cinquante congurations sont illustres dans [Riv97]. Le type e des artes cres dpend de la conguration gomtrique. De plus, la suppression (ou cration) e ee e e e e e e e de larte e2 et des artes bordant la face f aecte dautres faces incidentes aux artes portes e e par les droites duales p1 , p2 et p3 que les faces indiques dans la gure 7.20 (cf. [Riv97]). On peut voir les modications compl`tes ncessaires pour un cas donn dans la gure 7.21. Les e e e modications restent toujours locales quel que soit le cas considr et aectent uniquement les ee lments du complexe incidents aux droites duales des sommets de polygones en mouvement. ee La mise ` jour du complexe, une fois que lon a trouv le triplet (p1 , p2 , p3 ) pour lequel il se a e produit un changement de visibilit, peut donc tre eectue en temps constant : il y a un nombre e e e constant de cas possibles (cf. gure 7.21 qui montre un de ces cas) et les modications sont faites en temps constant pour chacun de ces cas.

7.2.2

Mise ` jour dynamique du complexe de visibilit a e

Les changements de visibilit dans une sc`ne polygonale survenant lors du dplacement de e e e points se traduisent par une suite de modications topologiques lmentaires du complexe de ee visibilit. Lorsquun objet se dplace dans une sc`ne, il sut donc de traiter les changements e e e topologiques dans la visibilit dans lordre, pour mettre a jour le complexe. e ` Rivi`re propose dans [Riv97] une mthode pour mettre a jour le complexe pour une sc`ne e e ` e

7.2 Dplacement avec changement topologique dans la visibilit e e


Sc`ne e

189

1 2

3 1 2

Complexe de visibilit e

3 2 1 2 3 2 1

1 2 3 1 3 2 2

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.21 - Exemple de changement de visibilit et modications correspondantes au niveau du e complexe. u a polygonale mouvante o` les sommets de polygones ont une trajectoire connue ` lavance. Pour maintenir le complexe, il faut maintenir la liste des changements de visibilit ` venir. La mthode ea e est base sur le principe quun changement de visibilit se produit quand, dans le complexe, une e e arte devient rduite ` un sommet (cf. gure 7.20 o` larte concerne est larte e2 ). Pour e e a u e e e chaque arte associe ` un changement lmentaire de visibilit, on calcule une date de mort e e a ee e qui est la date o` le changement de visibilit aura lieu (date correspondant au moment o` larte u e u e sera rduite ` un sommet). Il sut alors deectuer les changements associs aux artes dans e a e e lordre de leur date de mort. A chaque changement, il faut mettre ` jour les artes ` considrer a e a e ainsi que leurs dates de mort (cf. [Riv97]) pour plus de dtails). Cependant le changement est e local, donc les modications sont aussi locales et se font en temps constant. En utilisant une queue de priorit, on peut traiter les changements lmentaires de visibilit e ee e dans lordre, et apr`s une initialisation en temps O(m0 log m0 ), on peut maintenir le complexe e de visibilit en temps O(log n) ` chaque changement lmentaire de visibilit (avec n le nombre e a ee e ` dartes de polygones dans la sc`ne et m0 la taille initiale du complexe (cest a dire le nombre e e de sommets du complexe)). A chaque instant, on a O(m) artes du complexe a considrer. La e ` e mise ` jour de la queue de priorit ` chaque changement lmentaire de visibilit prend donc a ea ee e un temps O(log m) = O(log n), sachant que le nombre m de sommets du complexe est (n) et O(n2 ).

7.2.3

Recalculs de facteurs de forme ncessaires e

Dapr`s le paragraphe 7.2.1, les changements topologiques dans la visibilit survenant au e e cours du dplacement dun objet se traduisent dans le complexe de visibilit par entre autres la e e cration ou la destruction de faces. e Dans le cas dun dplacement avec changement topologique dans la visibilit, il faut donc e e mettre a jour les facteurs de forme pour les faces lies ` lobjet en mouvement comme dans le ` e a paragraphe 7.1.2. Mais il faut aussi mettre a zro les facteurs de forme correspondant aux faces ` e

190

Radiosit pour les environnements dynamiques 2D e

dtruites et calculer les facteurs de forme pour les faces cres. e ee

7.3

Conclusion

tel-00004958, version 1 - 20 Feb 2004

Nous avons conu des algorithmes ecaces pour la mise ` jour des facteurs de forme dans c a le cas dun objet en mouvement. Le complexe de visibilit est tr`s utile dans ce contexte car il e e permet didentier, puis de mettre a jour seulement les facteurs de forme strictement ncessaires. ` e Les algorithmes que nous avons prsents pour les environnements dynamiques nont pas t e e ee implments. Nous avons cependant ralis un certain nombre de tests qui nous ont permis de e e e e visualiser les modications induites par le mouvement dun objet, tant au niveau de la sc`ne e quau niveau du complexe de visibilit. Nous avons ainsi pu constater que les modications sont e tr`s localises. e e La gure 7.22 montre un ensemble dimages ralises pour une sc`ne constitue dune pi`ce e e e e e contenant trois objets dont une source. La source correspond au carr, et le rectangle se dplace e e dans la sc`ne. Le complexe de visibilit associ ` la sc`ne, ainsi que la solution de radiosit e e e a e e sont recalculs compl`tement, apr`s chaque changement. La sc`ne est reprsente en pseudo-3D. e e e e e e Les valeurs de radiosit sont projetes sur les deux cts des murs an daccro la quantit e e oe tre e dinformation vue depuis un point de vue donn. Le complexe de visibilit correspondant est e e reprsent avec les artes en bleu. Les faces externes sont reprsentes en gris transparent, et les e e e e e faces lies au rectangle qui se dplace sont aches en rouge ; elles correspondent aux facteurs de e e e forme modis. Les autres faces ne sont pas reprsentes car elles ne changent pas (et aussi par e e e souci de clart). On peut voir ici que les modications du complexe de visibilit sont localises e e e autour des artes associes aux sommets du rectangle qui se dplace. e e e

tel-00004958, version 1 - 20 Feb 2004

Fig. 7.22 - Exemple de sc`ne avec trois objets ` lintrieur dune pi`ce. e a e e

tel-00004958, version 1 - 20 Feb 2004

193

Conclusion
Nous avons tudi dans cette th`se lutilisation pour le calcul de radiosit dune nouvelle e e e e structure de donnes - le complexe de visibilit - dveloppe rcemment en gomtrie algorithe e e e e e e mique. Notre but tait de montrer quune structure de donnes bien adapte reprsentant les e e e e relations de visibilit dans la sc`ne pouvait permettre de simplier les calculs dans le cadre de e e la radiosit, mais aussi de les optimiser en permettant de se limiter aux calculs strictement ne e cessaires, et cela dans le cas de sc`nes statiques mais aussi de sc`nes dynamiques. Compte tenu e e de la dicult du probl`me en 3D et notamment de la complexit gomtrique des relations de e e e e e visibilit, nous nous sommes dabord intresss au cas 2D. e e e Nous avons procd en deux temps : nous avons dabord tudi lutilisation du complexe de e e e e visibilit dans le cas des sc`nes statiques, puis nous avons considr le cas des sc`nes dynamiques. e e ee e Nos travaux dans le cas statique ont permis de montrer que le complexe de visibilit est tr`s e e utile pour le calcul de radiosit pour les sc`nes statiques : e e Le complexe de visibilit permet de calculer le maillage de discontinuit de faon simple, e e c alors que ce calcul est traditionnellement tr`s coteux car il ncessite de nombreux calculs e u e gomtriques. Les sommets du complexe correspondent en fait aux lignes critiques qui e e induisent les points de discontinuits dans la sc`ne. Une fois que le complexe de visibilit e e e est construit, le calcul du maillage de discontinuit est eectu, en considrant les sommets e e e du complexe, en temps O(m), avec m le nombre de sommets du complexe qui est (n) e e et O(n2 ) (n correspond au nombre dobjets dans le cas des sc`nes constitues dobjets convexes, et au nombre dartes de polygones dans le cas des sc`nes polygonales). e e Le complexe permet dviter les calculs inutiles. Grce ` lui, on peut eectivement consie a a drer uniquement les paires dobjets (ou dartes de polygones) mutuellement visibles, et e e pour une paire donne, accder uniquement aux parties mutuellement visibles de ces deux e e objets (ou artes de polygones). On peut ainsi facilement se limiter aux calculs de facteurs e de forme strictement ncessaires. e Le complexe permet de plus de calculer les facteurs de forme de mani`re ecace en pere mettant de conna tre facilement lensemble des objets qui sont susceptibles dinterfrer e entre deux lments donns dans la sc`ne. ee e e Nous avons aussi pu constater en pratique que dans le cas de sc`nes constitues de pi`ces e e e contenant des objets (sc`nes typiquement utilises pour le calcul de radiosit), on obtient e e e un complexe de visibilit de taille linaire (ce qui correspond a la complexit minimale e e ` e dans le cas 2D).

tel-00004958, version 1 - 20 Feb 2004

194

Conclusion

Outre les avantages dans le cas statique, le complexe de visibilit est aussi tr`s utile pour les e e environnements dynamiques, lorsquun objet se dplace : e Grce au complexe de visibilit, on peut mettre a jour ecacement le maillage de discona e ` tinuit en identiant de mani`re exacte les discontinuits qui doivent tre recalcules. e e e e e Le complexe permet aussi de dtecter les facteurs de forme qui doivent tre strictement e e recalculs, et non pas un sur-ensemble grossier de facteurs de forme comme ctait le cas e e dans les mthodes dveloppes jusqualors. e e e Le complexe permet de plus de recalculer ces facteurs de forme de mani`re ecace. e Le complexe peut aussi tre mis ` jour tr`s facilement, de par sa structure, en fonction des e a e relations de visibilit qui changent dans la sc`ne, lorsquun objet se dplace. e e e

Perspectives
tel-00004958, version 1 - 20 Feb 2004
Nos travaux en 2D ont permis de montrer quune structure de donnes telle que le complexe e de visibilit tait bien adapte pour le calcul de radiosit dans le cadre de sc`nes statiques, e e e e e mais aussi de sc`nes dynamiques. Il serait intressant dans ce contexte, avant de passer ` la e e a 3D, dutiliser le complexe an dtudier plus prcisment comment la solution de radiosit est e e e e aecte dans le cas des environnements dynamiques. Ceci permettrait de voir comment le moue vement dun objet se rpercute au niveau de la solution de radiosit, de quantier limportance e e que le dplacement dun objet peut avoir au niveau de lclairage total de la sc`ne, et notame e e ment didentier des congurations o` leet d au dplacement dun objet est ngligeable pour u u e e lclairage total de la sc`ne. e e Ltude en 2D nest cependant pas une n en soi mais plutt un tremplin vers la 3D. Les e o rsultats obtenus en 2D sont eectivement de bonne augure pour le cas 3D. Deux approches e sont envisageables. De nombreuses sc`nes 3D, comme les sc`nes architecturales par exemple, sont en fait des e e 1 u e e sc`nes 2 2 D, o` les occlusions sont principalement causes par les murs. Une premi`re approche e serait donc dutiliser les projections de ces murs dans un plan horizontal, et de traiter la visibilit e dans le plan 2D rsultant. Ceci permettrait dj` dobtenir un bon sous-ensemble des objets e ea mutuellement visibles. Une deuxi`me approche serait bien videmment de construire une structure 3D equivalente e e au complexe de visibilit 2D. Fort de lexprience acquise en 2D, un quivalent 3D du complexe e e e de visibilit a dailleurs t propos rcemment par Durand et al. [DDP96]. Cette structure e ee e e repose sur le mme principe que celui utilis dans le cas 2D, qui consiste a dcrire la visibilit e e ` e e par des segments libres maximaux. Durand et al. exposent bri`vement les avantages quune telle e structure pourrait avoir notamment pour le calcul des facteurs de forme, et du maillage de discontinuit. Cette structure reste cependant tr`s lourde car elle dcrit lensemble des vnements e e e e e de visibilit pour une sc`ne 3D, ainsi que toutes les relations dadjacence entre ces vnements. e e e e Le complexe de visibilit 3D est en eet une structure 4D plonge en 5D, sachant quil core e respond a la partition de lensemble des segments libres maximaux de lespace 3D en fonction ` e des objets quils touchent, et sa taille est (n) et O(n4 ) pour les sc`nes polygonales (avec n le nombre de polygones dans la sc`ne). Le complexe 3D est donc une structure complique, dicile e e

195 a ` implmenter. Il ncessiterait la mise en oeuvre dalgorithmes de construction complexes, et e e il serait dicile ` parcourir a cause des multiples niveaux dadjacences, donc peu pratique a a ` ` utiliser. Durand et al. [DDP97] ont cependant introduit tr`s rcemment une nouvelle structure e e le squelette de visibilit - quils ont implmente pour des sc`nes polygonales. Cette structure e e e e est beaucoup moins lourde puisquelle reprsente uniquement les sommets (composantes 0D) et e les artes (composantes 1D) du complexe de visibilit 3D. Ils ont utilis cette structure pour e e e direntes applications : notamment le calcul de la partie dun polygone visible depuis un sommet e de polygone donn, le calcul du maillage de discontinuit entre deux polygones quelconques de la e e sc`ne, la dtermination de la liste exacte des objets rduisant la visibilit entre deux polygones, e e e e ainsi que la dtermination des paires de polygones entre lesquelles un objet donn interf`re. e e e Cette derni`re information est tr`s utile, comme on a pu le voir dans cette th`se, pour pouvoir e e e dtecter les facteurs de forme qui doivent tre recalculs dans le cas o` un objet se dplace. e e e u e Cette structure na pour linstant pas t utilise dans un syst`me de simulation globale de ee e e lclairage. Il serait tr`s intressant de lutiliser pour le calcul de radiosit et notamment pour le e e e e calcul des facteurs de forme. Elle semble aussi tr`s prometteuse dans le cas des environnements e dynamiques, o` elle devrait permettre de dterminer les facteurs de forme quil faut ncessaireu e e ment recalculer. Reste encore, avant cela, ` rsoudre tous les probl`mes thoriques concernant a e e e la mise ` jour dune telle structure dans le cas dynamique, en fonction des relations de visibilit a e qui changent dans la sc`ne. Il serait aussi tr`s utile de dvelopper une approche hirarchique de e e e e cette structure pour pouvoir lutiliser pour des sc`nes tr`s complexes. e e

tel-00004958, version 1 - 20 Feb 2004

tel-00004958, version 1 - 20 Feb 2004

197

Annexe A

Dualit et complexe de visibilit e e


Le principe de dualit permettant de transformer une droite en un point est souvent utilis e e en 2D pour rsoudre des probl`mes mettant en jeu des droites, sachant quil est plus facile e e de manipuler des points que des droites. Nous nous intressons ici ` deux types de dualits e a e classiques que nous appelons dualit (, u) et dualit (a, b), et nous tudions ces deux dualits e e e e dans le cadre de leur utilisation pour le complexe de visibilit. La dualit (, u) est bien adapte e e e pour visualiser les lments du complexe dans le cas des objets convexes (cest a dire des objets ee ` de type cercle, ellipse, etc.), et la dualit (a, b) est bien adapte dans le cas des polygones. e e

tel-00004958, version 1 - 20 Feb 2004

A.1

Dnition des dualits (, u) et (a, b) e e

Dualit (, u) : e Dans le cas de la dualit (, u), on consid`re la transformation duale qui a toute droite e e ` dquation polaire : y cos x sin u = 0 associe le point de coordonnes (, u) dans e e lespace dual, et rciproquement. e Langle correspond, dans la sc`ne, ` langle de la droite avec laxe des abscisses et u ` e a a sa distance algbrique avec lorigine du rep`re de la sc`ne (cf. gure A.1). e e e Remarque : Cette transformation sapplique ` toutes les droites du plan. a
Espace dual (, u) D : y cos x sin u = 0

Sc`ne e y

u x u

Fig. A.1 - Dualit (, u). e

198 Dualit (a, b) : e

Dualit et complexe de visibilit e e

Dans le cas de la dualit (a, b), on consid`re la relation qui ` une droite dquation y = axb e e a e (respectivement un point de coordonnes (a, b)) associe le point de coordonnes (a, b) e e (respectivement la droite dquation y = ax + b) (cf. gure A.2). e Remarque : Cette transformation ne peut pas sappliquer aux droites verticales. Il faut donc faire un traitement spcique dans ce cas. e Si nous considrons lensemble des droites du plan non verticales et orientes selon les e e abscisses croissantes, langle dune droite avec laxe des abscisses sera compris entre et 2 2.
Sc`ne e y D : y = ax b Espace dual (a, b)

tel-00004958, version 1 - 20 Feb 2004

b 1

Fig. A.2 - Dualit (a, b). e

A.2 Utilisation de la dualit pour visualiser les lments du complexe e ee

199

A.2

Utilisation de la dualit pour visualiser les lments du e ee complexe

tel-00004958, version 1 - 20 Feb 2004

Considrons une sc`ne 2D constitue de polygones. Un polygone est form dun ensemble e e e e dartes (ou segments) dlimites par deux sommets. e e e Soit P un polygone de la sc`ne. On associe ` chaque sommet de P une courbe dans lespace e a dual, correspondant ` lensemble des droites passant par ce sommet dans la sc`ne. a e `me sommet du polygone P. M a pour coordonnes (x , y ) dans le rep`re de e e e Soit MPi le i Pi Pi Pi la sc`ne. e e Dans le cas de la dualit (, u), on associe ` MPi une courbe ui dquation : e a ui () = yPi cos xPi sin . e Dans le cas de la dualit (a, b), on associe ` MPi une droite bi dquation : e a bi (a) = xPi a yPi . La courbe associe ` MPi dans lespace dual (courbe ui dans lespace dual (, u) ou droite e a e e bi dans lespace dual (a, b)) reprsente lensemble des droites passant par MPi dans la sc`ne. Lensemble des points, dans lespace dual, compris entre les courbes associes respectivement ` e a ` e e e MPi et MPi+1 correspond a lensemble des droites intersectant larte du polygone P dlimite e par les sommets MPi et MPi+1 dans la sc`ne. La face du complexe associe ` deux artes de polygones correspond ` lensemble des droites e a e a intersectant ces deux artes et aucun autre polygone se trouvant entre les deux. Une face est e donc dlimite par un ensemble de courbes u() dans le cas de la dualit (, u) et par un ensemble e e e de droites b(a) dans le cas de la dualit (a, b). e Bien que ne traitant pas le cas des droites verticales, la dualit (a, b) prsente donc un grand e e avantage vu quavec cette dualit les faces du complexe de visibilit sont dlimites par des e e e e droites et non plus par des courbes sinuso dales comme avec la dualit (, u). e La gure A.3 montre un exemple de deux artes de polygones, et les gures A.4 et A.5 la e face du complexe de visibilit associe ` ces deux artes dans les deux dualits : (, u) et (a, b). e e a e e
Sc`ne e y A1 (0, 0) A2 (1, 2) B1 A1 A2 B2 x B1 (3, 1) B2 (5, 1)

Fig. A.3 - Exemple de deux artes de polygones. e On constate que les faces obtenues pour les deux mmes artes de polygones avec les dualits e e e (, u) et (a, b), ont une topologie identique : elles poss`dent le mme nombre dartes infrieures et e e e e suprieures, le mme nombre de sommets, et les points associs aux direntes artes incidentes e e e e e aux sommets de la face restent inchangs. Ces faces ont cependant un aspect dirent puisque e e les artes ont des quations direntes avec les deux dualits. e e e e

200

Dualit et complexe de visibilit e e

Espace dual (, u) u
6

A1 : u = 0 A2 : u = 2 cos sin B1 : u = cos 3 sin B2 : u = cos 5 sin

-2

face

-4

-6

tel-00004958, version 1 - 20 Feb 2004

Fig. A.4 - Face du complexe avec la dualit (, u). e

Espace dual (a, b) b


4

A1 : A2 : B1 : B2 :

b=0 b = a+2 b = 3a 1 b = 5a + 1

face
0

-2

-4 -3 -2 -1 0 1 2 3

Fig. A.5 - Face du complexe avec la dualit (a, b). e

201

Annexe B

Notions de Gomtrie Intgrale e e e


Les direntes notions prsentes ici sont issues du livre de Santalo sur la Gomtrie Inte e e e e e grale [San76] qui tudie et donne des mesures des ensembles de droites dans le plan. e Sachant que la mesure dun ensemble de droites est exprime au moyen dun produit extrieur, e e nous commencerons par rappeler la dnition du produit extrieur, avant dintroduire des notions e e plus spciques concernant la gomtrie intgrale. e e e e

tel-00004958, version 1 - 20 Feb 2004

B.1

Rappels sur le produit extrieur e

Les expressions ` lintrieur dune intgrale double sur IR2 contiennent le produit dx1 dx2 a e e qui, par le changement de variables xi xi , devient : dx1 dx2 = x1 x2 x1 x2 dx1 dx2 . x1 x2 x2 x1 (B.1)

Ceci montre que le produit dx1 dx2 qui appara dans une intgrale double nest pas le produit t e ordinaire des direntielles dxi = (xi /x1 )dx1 + (xi /x2 )dx2 (i = 1, 2) mais une autre sorte e e e de produit qui est appel produit extrieur de dx1 et dx2 et est dnot par . e e Le produit extrieur vrie les proprits fondamentales suivantes : e e ee dx1 dx2 = dx2 dx1 dxi dxi = 0 En utilisant ces proprits, on a, par le changement de variables xi xi : ee dx1 dx2 = = x1 x2 x1 x2 dx + dx dx + dx x1 1 x2 2 x1 1 x2 2 x1 x2 x1 x2 dx1 dx2 , x1 x2 x2 x1

ce qui concorde bien avec la r`gle classique B.1. e

202

Notions de Gomtrie Intgrale e e e

B.2

Densit pour des ensembles de droites e

Une droite G dans le plan est dtermine par langle (angle entre laxe des abscisses et la e e droite perpendiculaire a G qui passe par lorigine ; 0 2), et par sa distance p ` lorigine ` a (0 p) (cf. gure B.1).
y G

p O x

tel-00004958, version 1 - 20 Feb 2004

Fig. B.1 - Reprsentation dune droite dans le plan. e La droite G a donc pour quation : e x cos + y sin p = 0 . (B.2)

La mesure dun ensemble X de droites peut tre dnie par toute intgrale de la forme : e e e m(X) =
X

f (p, )dp d

(B.3)

o` la fonction f doit tre choisie selon certains crit`res dpendant de la nature du probl`me. En u e e e e gomtrie intgrale et dans la thorie de la probabilit gomtrique, la fonction f doit vrier e e e e e e e e le crit`re suivant : la mesure m(X) doit tre invariante par le groupe des dplacements dans le e e e plan (donc invariante en translation et rotation). Soit un dplacement u dni par les composantes en translation (a, b) et par la rotation . e e e e e Le dplacement u(a, b, ) : P (x, y) P (x , y ) est caractris par les quations : e x y = x cos y sin + a = x sin + y cos + b

Par le dplacement u, la ligne B.2 se transforme en : e x cos( ) + y sin( ) (p a cos b sin ) = 0 . En comparant avec lquation B.2, on constate que les param`tres p, de G se transforment e e par le dplacement u(a, b, ) en : e p = p a cos b sin =

En utilisant les direntes notions du paragraphe B.1, on constate que : dp d = dp d . e La mesure de lensemble X = uX est donc : m(X ) =
X

f (p , )dp d =

f (p a cos b sin , )dp d .

(B.4)

B.3 Mesure des droites intersectant un ensemble convexe ou une courbe

203

Si on veut que m(X) soit gal ` m(X ) pour tout ensemble X, dapr`s les quations B.3 e a e e et B.4, on doit avoir : f (p a cos b sin , ) = f (p, ), et sachant que lgalit doit tre e e e vrie pour tout dplacement u, on doit donc avoir : f (p, ) = constante. En choisissant cette e e e constante gale ` lunit, on a : e a e La mesure dun ensemble de droites G(p, ) est dnie par lintgrale, sur cet ensemble de e e droites, de la forme direntielle e dG = dp d , qui est appele densit densembles de droites. e e (B.5)

B.3

Mesure des droites intersectant un ensemble convexe ou une courbe

Soit K un ensemble convexe born. Prenons comme origine un point O appartenant a K et e ` soit p = p() la fonction support de K dnie par rapport a O. Dapr`s lquation B.5, on a : e ` e e

tel-00004958, version 1 - 20 Feb 2004

m(G : G K = ) =

GK=

dp d =

pd = L
0

o` L est la longueur du contour de K. Do` : u u La mesure de lensemble des droites qui intersectent un ensemble convexe born K est gale e e a ` la longueur de son contour. Remarque : Dans le cas dune courbe, la longueur prise en compte sera deux fois la longueur eective de la courbe.

B.4

Mesure des droites intersectant deux ensembles convexes

Soient K1 et K2 deux ensembles convexes borns dans le plan et soient L1 et L2 la longueur e de leurs contours respectifs. Soit Ce le contour de lenveloppe convexe de K1 K2 . Cette courbe e ee e e e Ce peut tre interprte intuitivement comme une courbe lastique ferme dessine autour de e e e K1 et K2 . Et soit Ci la courbe lastique croise construite autour de K1 et K2 (courbe ferme e dessine autour de K1 et K2 et qui se croise en un point situ entre K1 et K2 ) (cf. gure B.2). e On note Le la longueur de Ce et Li la longueur de Ci . (a) La mesure de lensemble des droites qui intersectent a la fois K1 et K2 est gale ` : Li Le . ` e a e a (b) La mesure de lensemble des droites qui intersectent K1 sans intersecter K2 est gale ` : L1 (Li Le ) et la mesure de lensemble des droites qui intersectent K2 sans intersecter e a K1 est gale ` L2 (Li Le ).

204

Notions de Gomtrie Intgrale e e e

Remarque : Dans le cas de courbes, les galits (a) et (b) sont toujours vries. Il sut de e e e e considrer les portions de courbes comme des contours ferms. La longueur prise en compte pour e e une portion de courbe donne sera donc deux fois la longueur eective de la portion de courbe. e

Ce K1 Ci K2

Fig. B.2 - Exemple de deux ensembles convexes K1 et K2 .

tel-00004958, version 1 - 20 Feb 2004

BIBLIOGRAPHIE

205

Bibliographie
[ARB90] John M. Airey, John H. Rohlf, et Frederick P. Brooks.  Towards Image Realism with Interactive Update Rates in Complex Virtual Building Environments . Computer Graphics (Special issue on 1990 Symposium on Interactive 3D Graphics), 24(2):4150, mars 1990. James Arvo.  The Irradiance Jacobian for Partially Occluded Polyhedral Sources . Dans Computer Graphics (SIGGRAPH94 Proceedings), p. 343350, juillet 1994. M. Quinn Brewster. Thermal radiative transfer and properties. Wiley-Interscience Publication, New York, 1992. Daniel R. Baum, Holly E. Rushmeier, et James M. Winget.  Improving radiosity solutions through the use of analytically determined form-factors . Dans Computer Graphics (SIGGRAPH89 Proceedings), volume 23, p. 325334, juillet 1989. Gonzalo Besuievsky et Mateu Sbert.  The Multi-Frame Lighting Method: A Monte Carlo Based Solution for Radiosity in Dynamic Environments . Dans X. Pueyo et P. Schroder, diteurs, Rendering Techniques 96 - Proc. of the e Seventh Eurographics Workshop on Rendering, p. 185194, Porto, Portugal, juin 1996.

[Arv94]

tel-00004958, version 1 - 20 Feb 2004

[Bre92]

[BRW89]

[BS96]

[BWCG86] Daniel R. Baum, John R. Wallace, Michael F. Cohen, et Donald P. Greenberg.  The Back-Buer Algorithm: An Extension of the Radiosity Method to Dynamic  Environments . The Visual Computer, 2(5):298306, septembre 1986. [Cam91] A. Campbell.  Modeling Global Diuse Illumination for Image Synthesis . PhD thesis, Dept. of Computer Sciences, University of Texas at Austin, dcembre 1991. e e e e Frdric Cazals.  Structures de Donnes Hirarchiques Non Rcursives et Proe e e bl`mes de Proximit . PhD thesis, Universit Paris VII, avril 1997. e e

[Caz97]

[CCWG88] Michael F. Cohen, Shenchang Eric Chen, John R. Wallace, et Donald P. Greenberg.  A Progressive Renement Approach to Fast Radiosity Image Generation . Dans Computer Graphics (SIGGRAPH88 Proceedings), volume 22, p. 7584, aot 1988. u [CG85] Michael F. Cohen et Donald P. Greenberg.  The hemi-cube: A radiosity solution for complex environments . Dans Computer Graphics (SIGGRAPH85 Proceedings), volume 19, p. 3140, aot 1985. u

206 [CGIB86]

BIBLIOGRAPHIE Michael F. Cohen, Donald P. Greenberg, David S. Immel, et Philip J. Brock. An ecient radiosity approach for realistic image synthesis . IEEE Computer Graphics and Applications, 6(3):2635, mars 1986.
 

[Che90]

Shenchang Eric Chen.  Incremental Radiosity: An Extension of Progressive Rae diosity to an Interactive Image Synthesis System . Dans Forest Baskett, diteur, Computer Graphics (SIGGRAPH90 Proceedings), volume 24, p. 135144, ao t u 1990. Shenchang Eric Chen et Lance Williams.  View Interpolation for Image Synthesis . Dans Computer Graphics (SIGGRAPH93 Proceedings), p. 279288, aot u 1993. M. F. Cohen et J. R. Wallace. Radiosity and Realistic Image Synthesis. Academic Press Professional Inc, 1993. Frdo Durand, George Drettakis, et Claude Puech.  The 3D visibility come plex: a new approach to the problems of accurate visibility . Dans X. Pueyo et P. Schroder, diteurs, Rendering Techniques 96 - Proc. of the Seventh Eurograe phics Workshop on Rendering, p. 245256, Porto, Portugal, juin 1996. Frdo Durand, George Drettakis, et Claude Puech.  The Visibility Skeleton: e A Powerful and Ecient Multi-Purpose Global Visibility Tool . Dans Computer Graphics (SIGGRAPH97 Proceedings), aot 1997. A para u tre. George Drettakis et Eugene Fiume.  A Fast Shadow Algorithm for Area Light Sources Using Backprojection . Dans Computer Graphics (SIGGRAPH94 Proceedings), p. 223230, juillet 1994. Julie O. Dorsey.  Computer Graphics Techniques for Opera Lighting Design and Simulation . PhD thesis, Program of Computer Graphics, Cornell University, janvier 1993.

[CW93a]

[CW93b]

[DDP96]

tel-00004958, version 1 - 20 Feb 2004

[DDP97]

[DF94]

[Dor93]

[DORP96] F. Durand, R. Orti, S. Rivi`re, et C. Puech.  Radiosity in atland made visibly e simple: Using the visibility complex for lighting simulation of dynamic scenes in atland . Dans Proc. 12th Annual ACM Symposium on Computational Geometry, p. V11V12, 1996. [DP95] F. Durand et C. Puech.  The Visibility Complex Made Visibly Simple . Dans Proc. 11th Annual ACM Symposium on Computational Geometry, page V2, 1995. George Drettakis et Franois Sillion.  Accurate Visibility and Meshing Calc e culations for Hierarchical Radiosity . Dans X. Pueyo et P. Schroder, diteurs, Rendering Techniques 96 - Proc. of the Seventh Eurographics Workshop on Rendering, p. 269278, Porto, Portugal, juin 1996. George Drettakis et Franois Sillion.  Interactive Update of Global Illumic nation Using Line-Space Hierarchy . Dans Computer Graphics (SIGGRAPH97 Proceedings), aot 1997. A para u tre.

[DS96]

[DS97]

BIBLIOGRAPHIE [DSG91]

207

Julie Dorsey, Franois Sillion, et Donald Greenberg.  Design and simulation c of opera lighting and projection eets . Dans Computer Graphics (SIGGRAPH91 Proceedings), volume 25, p. 4150, juillet 1991. e F. Durand.  Etude du complexe de visibilit . Rapport du DEA dInformatique de Grenoble, France, juin 1995. H. Edelsbrunner et L. J. Guibas.  Topologically sweeping an arrangement . Dans Proc. of the 18th Annual ACM Symposium on Theory of Computing, p. 389 403, 1986. Herbert Edelsbrunner, Mark H. Overmars, et Derick Wood. Graphics in Flatland: A case study. Dans F. P. Preparata, diteur, Computational Geometry, e volume 1 de Advances in Computing Research, p. 3559. JAI Press, London, England, 1983. Thomas A. Funkhouser.  Coarse-Grained Parallelism for Hierarchical Radiosity Using Group Iterative Methods . Dans Computer Graphics (SIGGRAPH96 Proceedings), p. 343352, aot 1996. u

[Dur95]

[EG86]

[EOW83]

[Fun96]

tel-00004958, version 1 - 20 Feb 2004

[FvDFH90] James D. Foley, Andries van Dam, Steven K. Feiner, et John F. Hughes. Computer Graphics: Principles and Practice. Addison-Wesley Publishing Company, second dition, 1990. e [FYT94] David A. Forsyth, Chien Yang, et Kim Teo.  Ecient Radiosity in Dynamic Environments . Dans Proc. of the Fifth Eurographics Workshop on Rendering, p. 313323, Darmstadt, Germany, juin 1994. Ziv Gigus, John Canny, et Raimund Seidel.  Eciently Computing and Representing Aspect Graphs of Polyhedral Objects . IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(6):542551, juin 1991. Ziv Gigus et Jitendra Malik.  Computing the Aspect Graph for Line Drawings of Polyhedral Objects . IEEE Transactions on Pattern Analysis and Machine Intelligence, 12(2):113122, fvrier 1990. e S. J. Gortler, P. Schroder, M. F. Cohen, et P. Hanrahan.  Wavelet Rau diosity . Dans Computer Graphics (SIGGRAPH93 Proceedings), p. 221230, aot 1993. David W. George, Francois X. Sillion, et Donald P. Greenberg.  Radiosity Redistribution for Dynamic Environments . IEEE Computer Graphics and Applications, 10(4):2634, juillet 1990.

[GCS91]

[GM90]

[GSCH93]

[GSG90]

[GTGB84] C. M. Goral, K. E. Torrance, D. P. Greenberg, et B. Battaile.  Modeling the Interaction of light between Diuse Surfaces . Dans Computer Graphics (SIGGRAPH84 Proceedings), 18:3, p. 213222, juillet 1984. [Hec91] P. S. Heckbert.  Simulating Global Illumination Using Adaptive Meshing . PhD thesis, UC Berkeley, juin 1991.

208 [Hec92a]

BIBLIOGRAPHIE P. S. Heckbert.  Radiosity in Flatland . Dans Computer Graphics forum (EUROGRAPHICS92 Proceedings), 11:3, p. 181192, septembre 1992. Paul S. Heckbert.  Discontinuity Meshing for Radiosity . Dans Proc. of the Third Eurographics Workshop on Rendering, p. 203216, Bristol, England, mai 1992. H. C. Hottel. Radiant Heat Transmission. Dans W. H. McAdams, diteur, Heat e Transmission, Chapitre 4. McGraw-Hill, New York, 3rd edition, 1954. John R. Howell. A Catalog of Radiation Conguration Factors. McGraw-Hill, New York, 1982. Pat Hanrahan, David Salzman, et Larry Aupperle.  A Rapid Hierarchical Radiosity Algorithm . Dans Computer Graphics (SIGGRAPH91 Proceedings), 25:4, p. 197206, juillet 1991. N. Holzschuch, F. Sillion, et G. Drettakis.  An Ecient Progressive Renement Strategy for Hierarchical Radiosity . Dans Proc. of the Fifth Eurographics Workshop on Rendering, Darmstadt, Germany, p. 343357, juin 1994. Stephen Hardt et Seth Teller.  High-Fidelity Radiosity Rendering at Inter e active Rates . Dans X. Pueyo et P. Schroder, diteurs, Rendering Techniques 96 - Proc. of the Seventh Eurographics Workshop on Rendering, p. 7180, Porto, Portugal, juin 1996. Eric A. Haines et John R. Wallace.  Shaft Culling for Ecient Ray-Cast Rae diosity . Dans P. Brunet et F. W. Jansen, diteurs, Photorealistic Rendering in Computer Graphics (Proceedings of the Second Eurographics Workshop on Rendering), p. 122138. Springer Verlag, mai 1991. Dani Lischinski, Fillipo Tampieri, et Donald P. Greenberg.  Discontinuity Meshing for Accurate Radiosity . IEEE Computer Graphics and Applications, 12(6):2539, novembre 1992. T. J. Malley.  A shading method for computer generated images . Masters thesis, Dept. of Computer Science, University of Utah, juin 1988. Stefan Muller et Frank Schoffel.  Fast Radiosity Repropagation For Interactive Virtual Environments Using A Shadow-Form-Factor-List . Dans Proc. of the Fifth Eurographics Workshop on Rendering, p. 325342, Darmstadt, Germany, juin 1994. Jery Nimeroff, Julie Dorsey, et Holly Rushmeier.  A Framework for Global Illumination in Animated Environments . Dans Proc. of the Sixth Eurographics Workshop on Rendering, p. 223235, Dublin, Ireland, juin 1995. Tomoyuki Nishita et Eihachiro Nakamae.  Continuous tone representation of three-dimensional objects taking account of shadows and interreection . Dans Computer Graphics (SIGGRAPH85 Proceedings), volume 19, p. 2330, juillet 1985.

[Hec92b]

[Hot54]

[How82]

[HSA91]

[HSD94]

tel-00004958, version 1 - 20 Feb 2004

[HT96]

[HW91]

[LTG92]

[Mal88]

[MS94]

[NDR95]

[NN85]

BIBLIOGRAPHIE

209

[ODRP96] R. Orti, F. Durand, S. Rivi`re, et C. Puech.  Using the visibility complex for e radiosity computation . Dans Applied Computational Geometry : Towards Geometric Engineering / ACM Workshop on Applied Computational Geometry, Philadelphia, May, 1996, volume 1148 de Lecture Notes in Computer Science, p. 177190, 1996. [ORDP96] R. Orti, S. Rivi`re, F. Durand, et C. Puech.  Radiosity for dynamic scenes e in atland with the visibility complex . Dans Computer Graphics forum (EUROGRAPHICS96 Proceedings), 15:3, p. 237248, Poitiers, France, aot 1996. u [OW88] M. H. Overmars et E. Welzl.  New methods for computing visibility graphs . Dans Proc. of the 4th Annual ACM Symposium on Computational Geometry, p. 164171, 1988. H. Plantinga et C. Dyer.  Visibility, Occlusion, and the Aspect Graph . International Journal of Computer Vision, 5(2):137160, 1990. M. Pellegrini.  Monte Carlo Approxiamtion of Form Factors with Error Bounded a Priori . Dans Proc. 11th Annu. ACM Sympos. Comput. Geom., p. 287296, 1995. Franco Preparata et Michael I. Shamos. Computational Geometry. Springer Verlag, 1985. M. Pocchiola et G. Vegter.  Sweep algorithm for visibility graphs of curved obstacles . Manuscrit, Liens, Ecole Norm. Sup., Paris, juin 1993. M. Pocchiola et G. Vegter.  The visibility complex . Dans Proc. 9th Annu. ACM Sympos. Comput. Geom., p. 328337, 1993. M. Pocchiola et G. Vegter.  Computing the Visibility Graph via PseudoTriangulation . Dans Proc. 11th Annu. ACM Sympos. Comput. Geom., p. 248257, 1995. M. Pocchiola et G. Vegter. Geom. Appl., 6(3), 1996.
 

[PD90] [Pel95]

tel-00004958, version 1 - 20 Feb 2004

[PS85] [PV93a] [PV93b] [PV95]

[PV96] [Riv93]

The visibility complex . Internat. J. Comput.

e S. Rivi`re.  Comparaison dalgorithmes de calcul de graphes de visibilit . Rape port du DEA dInformatique - Mathmatique et Applications de lEcole Normale e Suprieure- Paris, France, 1993. e S. Rivi`re.  Topologically Sweeping the Visibility Complex of Polygonal Scenes . e Dans Proc. 11th Annu. ACM Sympos. Comput. Geom., p. C36C37, 1995. e S. Rivi`re.  Calculs de visibilit dans un environnement polygonal 2D . PhD e thesis, Universit Joseph Fourier, Grenoble, France, janvier 1997. e Brian Smits, James Arvo, et Donald Greenberg.  A Clustering Algorithm for Radiosity in Complex Environments . Dans Computer Graphics (SIGGRAPH94 Proceedings), p. 435442, juillet 1994. L. A. Santalo. Integral Geometry and Geometric Probability, volume 1 de Encyclopedia of Mathematics and its Applications. Addison-Wesley Publishing Company, 1976.

[Riv95] [Riv97] [SAG94]

[San76]

210 [Sbe93]

BIBLIOGRAPHIE M. Sbert.  An Integral Geometry Based Method for Fast Form-Factor Computation . Dans Computer Graphics forum (EUROGRAPHICS93 Proceedings), 12:3, p. 409420, septembre 1993. Franois Sillion et George Drettakis.  Feature-based Control of Visibility Error: c A Multi-resolution Clustering Algorithm for Global Illumination . Dans Computer Graphics (SIGGRAPH95 Proceedings), p. 145152, aot 1995. u A. James Stewart et Sherif Ghali.  Fast Computation of Shadow Boundaries Using Spatial Coherence and Backprojections . Dans Computer Graphics (SIGGRAPH94 Proceedings), p. 231238, juillet 1994. P. Schroder, S. Gortler, M. Cohen, et Pat Hanrahan.  Wavelet Projections for Radiosity . Dans Proc. of the Fourth Eurographics Workshop on Rendering, Paris, France, p. 105114, juin 1993. P. Schroder et P. Hanrahan.  On the form factor between two polygons . Dans Computer Graphics (SIGGRAPH93 Proceedings), p. 163164, aot 1993. u E. S. Shaw.  Hierarchical Radiosity for Dynamic Environments . Masters thesis, Cornell University, aot 1994. u Franois Sillion.  Clustering and Volume Scattering for Hierarchical Radiosity . c Dans Proc. of the Fifth Eurographics Workshop on Rendering, p. 105117, Darmstadt, Germany, juin 1994. F. X. Sillion et C. Puech.  A general two-pass method integrating specular and diuse reection . Dans Computer Graphics (SIGGRAPH89 Proceedings), p. 335344, juillet 1989. F. X. Sillion et C. Puech. Radiosity and Global Illumination. Morgan Kaufmann Publishers, Inc., 1994. S. N. Spencer.  The hemisphere radiosity method: A tale of two algorithms . Dans Photorealism in Computer Graphics (Proceedings Eurographics Workshop on Photosimulation, Realism and Physics in Computer Graphics, p. 127135, 1990. J.J Sylvester.  On a funicular solution of Buons problem of the needle . Acta Mathematica, 14:185205, 1890. Seth J. Teller.  Computing the Antipenumbra of an Area Light Source . Dans Computer Graphics (SIGGRAPH92 Proceedings), p. 139148, juillet 1992. Seth Teller, Celeste Fowler, Thomas Funkhouser, et Pat Hanrahan.  Partitioning and Ordering Large Radiosity Computations . Dans Computer Graphics (SIGGRAPH94 Proceedings), p. 443450, juillet 1994. S. J. Teller et P. M. Hanrahan.  Global Visibility Algorithms for Illumination Computations . Dans Computer Graphics (SIGGRAPH93 Proceedings), p. 239 246, aot 1993. u

[SD95]

[SG94]

[SGCH93]

[SH93]

tel-00004958, version 1 - 20 Feb 2004

[Sha94]

[Sil94]

[SP89]

[SP94]

[Spe90]

[Syl90]

[Tel92]

[TFFH94]

[TH93]

BIBLIOGRAPHIE [WEH89]

211

John R. Wallace, Kells A. Elmquist, et Eric A. Haines.  A ray tracing algorithm for progressive radiosity . Dans Computer Graphics (SIGGRAPH89 Proceedings), p. 315324, juillet 1989. A. Watt et M. Watt. Advanced Animation and Rendering Techniques - Theory and Practice. ACM Press, Addison-Wesley, New York, 1992.

[WW92]

tel-00004958, version 1 - 20 Feb 2004

Rsum e e La mthode de radiosit, mthode de simulation globale de lclairage, est tr`s utilise e e e e e e pour la visualisation de sc`nes dintrieur statiques. Malgr les direntes amliorations ape e e e e portes jusqu` prsent, son co t reste conditionn par le calcul des facteurs de forme qui e a e u e modlisent linteraction lumineuse entre deux surfaces. Ce calcul constitue ltape la plus coe e u teuse de la mthode de radiosit, compte tenu des calculs de visibilit quil implique. Dautre e e e part, il semble primordial dutiliser un maillage qui suive les discontinuit s (cest a dire les e ` limites dombre et de pnombre), pour obtenir une solution de radiosit de bonne qualit. e e e Or cette mthode est tr`s co teuse car elle ncessite de nombreux calculs gomtriques. e e u e e e De plus les mthodes proposes jusqu` prsent pour des environnements dits dynamiques e e a e (environnements o` la gomtrie, les proprits des matriaux, etc., peuvent changer) efu e e ee e fectuent toujours trop de recalculs. Le probl`me reste darriver ` identier prcisment et e a e e ecacement quels facteurs de forme doivent vraiment tre recalculs. e e Nous avons considr le cas 2D qui permet une meilleure comprhension et une anae e e lyse plus approfondie, ne serait-ce que grce a lexistence de solutions analytiques. Nous a ` nous sommes intresss au complexe de visibilit (introduit rcemment en gomtrie algoe e e e e e rithmique) qui code les relations de visibilit entre les objets dans le plan. Nous prsentons e e dans cette th`se son utilisation dans le cadre de la radiosit, pour les environnements stae e tiques, puis pour les environnements dynamiques. Nous montrons que le complexe permet deectuer le calcul des facteurs de forme de mani`re ecace et analytique, et de construire e le maillage de discontinuit de faon simple. De plus, seuls les facteurs de forme entre deux e c lments mutuellement visibles de la sc`ne sont calculs. Enn, dans le cas dynamique, le ee e e complexe permet didentier et de mettre a jour uniquement les facteurs de forme strictement ` ncessaires lorsquun objet se dplace. e e Mots clef : Images de synth`se, clairage global, radiosit, facteur de forme, maillage de e e e discontinuit, visibilit, environnements dynamiques, complexe de visibilit, dualit. e e e e

tel-00004958, version 1 - 20 Feb 2004

Abstract The radiosity method is a global illumination simulation method which is widely used for visualization of static scenes (especially interiors). Despite the various improvements that have been carried out until now, the radiosity cost remains dependent on the calculation of the form factors which describe the light interaction between two surfaces. Their computation is the most time-consuming part of the method, because of the visibility calculations involved. Moreover, the use of discontinuity meshing is essential to obtain a good quality radiosity solution. However, its computation is very expensive since it requires many geometric calculations. In addition to that, the methods proposed until now for dynamic environments (environments where the geometry, the material properties, etc., can change) still perform too many recomputations. The remaining problem is the ecient and accurate detection of which form factors must really be recomputed. We have considered the 2D case for which better comprehension and a more thorough analysis are possible, notably thanks to the existence of analytic solutions. We have turned our attention to the visibility complex (introduced recently in computational geometry) which represents the visibility relationships between objects in the plane. In this thesis, we present its use for radiosity computation, rst for static environments, and then for dynamic environments. We show that the complex allows us to compute the form factors in an ecient and analytic way, and also to easily construct the discontinuity mesh. Moreover, only the form factors between mutually visible elements in the scene are computed. Finally, in the dynamic case, the complex allows us to identify and then to update only the strictly necessary form factors when an object is moving. Keywords: Computer graphics, image synthesis, global illumination, radiosity, form factor, discontinuity meshing, visibility, dynamic environments, visibility complex, duality.

Вам также может понравиться