242
Universit´ e de Poitiers epartement de formation doctorale en informatique ´ Ecole doctorale SPI&A Poitiers UFR SFA ´ Etude et application des alg` ebres eom´ etriques pour le calcul de la visibilit´ e globale dans un espace projectif de dimension n 2 TH ` ESE pr´ esent´ ee et soutenue publiquement le 14 d´ ecembre 2007 pour l’obtention du Doctorat de l’universit´ e de Poitiers (sp´ ecialit´ e informatique) par Sylvain Charneau Composition du jury Pr´ esident : Dominique Michelucci (Professeur, Universit´ e de Bourgogne, Dijon) Rapporteurs : Dominique Michelucci (Professeur, Universit´ e de Bourgogne, Dijon) Claude Puech (Professeur, INRIA Paris-Rocquencourt) Examinateurs : Leo Dorst (Assistant Professor, Amsterdam University) Xavier ecoret (Charg´ e de recherche, INRIA Rhˆone-Alpes) Pascal Lienhardt (Professeur, Universit´ e de Poitiers, directeur de th` ese) Laurent Fuchs (Maˆ ıtre de Conf´ erence, co-directeur de th` ese) Lilian Aveneau (Maˆ ıtre de Conf´ erence, co-directeur de th` ese) Laboratoire Signal Image Communications — EA 4103

g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Universite de Poitiers

Departement de formation doctorale en informatique Ecole doctorale SPI&A Poitiers

UFR SFA

Etude et application des algebres

geometriques pour le calcul de la

visibilite globale dans un espace

projectif de dimension n≥ 2

THESE

presentee et soutenue publiquement le 14 decembre 2007

pour l’obtention du

Doctorat de l’universite de Poitiers

(specialite informatique)

par

Sylvain Charneau

Composition du jury

President : Dominique Michelucci (Professeur, Universite de Bourgogne, Dijon)

Rapporteurs : Dominique Michelucci (Professeur, Universite de Bourgogne, Dijon)Claude Puech (Professeur, INRIA Paris-Rocquencourt)

Examinateurs : Leo Dorst (Assistant Professor, Amsterdam University)Xavier Decoret (Charge de recherche, INRIA Rhone-Alpes)Pascal Lienhardt (Professeur, Universite de Poitiers, directeur de these)Laurent Fuchs (Maıtre de Conference, co-directeur de these)Lilian Aveneau (Maıtre de Conference, co-directeur de these)

Laboratoire Signal Image Communications — EA 4103

Page 2: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Mis en page avec la classe thloria.

Page 3: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Étude et application des algèbres géométriques pour le calcul de lavisibilité globale dans un espace projectif de dimensionn≥ 2

Résumé

Cette thèse propose une étude des algèbres de Grassmann et deClifford, du point de vue de leur défini-tion mathématique, puis de leur application à l’informatique graphique, afin de définir un cadre théoriqueet pratique pour le calcul de la visibilité globale dans un espace projectif de dimensionn≥ 2. En effet,le calcul d’une information de visibilité est un des problèmes majeurs depuis les débuts de la synthèsed’images. L’émergence de problèmes plus complexes dans diverses disciplines nécessite une informationde visibilité globale, c’est-à-dire depuis tout point de l’espace.Dans un premier temps, l’étude des algèbres apporte des connaissances essentielles sur leurs structuresmathématiques, ainsi qu’un meilleur recul vis-à-vis de leurs méthodes d’application à la géométrie. Dansun second temps, la définition d’une théorie algébrique de lavisibilité procure une meilleure connais-sance du problème et une meilleure façon de raisonner, de formuler les opérations géométriques et dedémontrer leur consistance. Elle permet ensuite de proposer une méthode algorithmique très efficace ettrès robuste, pour calculer une représentation de la visibilité globale dans l’espace tridimensionnel, et lapremière solution à ce calcul dans des espaces de dimensionssupérieures à trois.

Mots-clés: Informatique graphique, algèbres géométriques, algèbre de Grassmann, visibilité globale,géométrie projective, espace de droites.

Study and application of geometric algebras to the global visibilitycomputation in a projective space of dimensionn≥ 2

Abstract

This thesis proposes a study of the Grassmann and Clifford algebras, from the mathematical definitionand the computer graphics applications points of view, in order to define a theoretical and applicativeframework to compute a global visibility information in a projective space of dimensionn≥ 2. Indeed,the computation of a visibility information is one of the major problems since the beginnings of theimage synthesis. The emergence of more complex problems in various fields require a global visibilityinformation, that is to say an information from any point in space.Firstly, the study of the algebras contributes to essentialknowledge on their mathematical structures andan original way to explain their meaning and their applications to geometry. Secondly, the definition ofan algebraic theory of visibility offers a better knowledgeof the problem and a better way to reason,to express geometric operations and to prove their consistency. It then allows to propose a robust andefficient method to compute a representation of the global visibility in three dimensional space and thefirst solution to this calculation in spaces of dimensions greater than three.

Keywords: Computer graphics, geometric algebra, Grassmann algebra,global visibility, projective ge-ometry, line space.

Page 4: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 5: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

iii

Remerciements

Il y a un certain nombre de personnes que j’aimerai remercierici, pour l’aide immense qu’ils m’ontapportée, au cours de ces trois années, et qui fut indispensable à l’achèvement de ce travail.

Je tiens tout d’abord à remercier Pascal LIENHARDT, premièrement pour m’avoir accueilli au sein dulaboratoire SIC, deuxièmement pour avoir accepté d’être mon directeur de thèse sur un sujet assez éloignéde ses thèmes de recherches habituels, et enfin pour m’avoir fait confiance, alors que le sujet initial n’étaitpas au départ prioritaire.

Je tiens également à exprimer toute ma reconnaissance à Laurent FUCHS et Lilian AVENEAU, qui ontété pour moi bien plus que des codirecteurs de thèse. Laurent, pour commencer, avec qui j’ai pris plaisirà partager ses nombreuses discussions, souvent scientifiques et en tout cas toujours très intéressantes.Lilian, ensuite, qui m’a beaucoup appris en programmation.Les deux enfin, pour m’avoir supporté toutesces années, en particulier quand je n’étais pas d’accord, oùil m’arrive d’être une vraie tête de mule. Maisje sais aussi reconnaître mes torts... la preuve.

J’adresse mes plus sincères remerciements à Claude PUECH, Dominique MICHELUCCI, Léo DORST etXavier DÉCORET, tout d’abord pour avoir accepté de faire partie de mon Jury de thèse, ensuite pour le vifintérêt qu’ils ont exprimé pour mes travaux et leurs nombreuses questions et remarques pertinentes. Cesremerciements concernent en particulier Claude PUECH et Dominique MICHELUCCI, qui ont accepté latâche ô combien ingrate de rapporteur. Ils vont également à Léo DORST, qui a accepté de lire le mémoiredans un temps très court et dans une langue qui lui est peu familière :Thank you very much Leo, for yourdeep knowledge of geometric algebras and your helpful remarks about my work. Enfin, j’exprime maplus sincère amitié à Xavier DÉCORET, avec qui ce fut un réel plaisir de discuter et de collaborer.Sonengagement et son ambition furent pour moi très enthousiasmants.

Au cours de mes trois années de labeur (quoique je ne regretterien, bien au contraire), mon point devue sur les algèbres géométriques a beaucoup évolué. Je pense avoir acquis un certain recul que jen’aurais jamais pu accomplir sans mes rencontres avec différents mathématiciens et avec lesquels j’aieu l’immense plaisir de discuter. J’aimerai donc exprimer ma plus grande admiration à Pierre ANGLÈS

que je ne remercierais jamais assez de m’avoir conseillé Albert CRUMEYROLLE et Claude CHEVALLEY

(«page forty two !») ; Pol VANHAECKE, pour sa gentillesse, sa disponibilité, et bien sûr son aidesur ladécomposition des multivecteurs dans l’algèbre de Grassmann ; Rupert YU, pour avoir eu le courage (etla patience !) d’accepter de discuter toute une après-midi avec un petit informaticien ; Isabelle VAN DEN

BOOM, pour m’avoir donné goût aux algèbres alors que je n’étais qu’un jeune étudiant.

Je souhaite également exprimer ma sympathie pour les différentes personnes que j’ai eu le plaisir derencontrer au cours de colloques ou conférences, dont principalement Pierre MACÉ, Dietmar HILDEN-BRAND, Elsa ARCAUTE, Nabil ANWER, Daniel FONTIJNE, Joan LASENBY, Tiffany GASBARRINI etMarc FOURNIER, dont la compagnie au Brésil fut d’un grand secours.

Enfin, je remercie très chaleureusement les secrétaires Sylvie, Françoise, Françoise bis et Anne pour leurdisponibilité et leur bonne humeur, ainsi que mes collègueset/ou amis : Bruno, Fred (qui m’a beaucoupaidé au début, pour comprendre les subtilités du calcul de lavisibilité globale), Carine, Patoche, Loé,Hondjack, Patience, Olivier I (miam !), Olivier II, Windu, Hung (coucou à toi qui est maintenant si loin),Chimène, Karim, Yvonne, Sadouanouan, Osgu, Dilek, Ahmed, Kamel et tous les collègues du CIESCentre (ainsi que son directeur Frédéric Badawi, pour son écoute et ses conseils). Tous ces gens ontindéniablement contribué au bon déroulement de ma thèse, dans un cadre des plus agréables. Enfin, jeremercie bien évidemment ma famille, Antoine, l’équipe de PED, Élise et Jean-Calude, pour leur soutien

Page 6: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

iv

ou leur amitié : ceux-là m’ont beaucoup aidé à m’aérer l’esprit, ce qui fut parfois indispensable pour nepas passer du côté obscur.

J’en oublie certainement beaucoup d’autres ; je leur présente toutes mes excuses et en profite pour leuradresser également toute mon amitié.

Page 7: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Table des matières

Introduction 1

I Nouvelle approche didactique des Algèbres Géométriques

1 Introduction à la structure des algèbres géométriques 13

1.1 L’algèbre tensorielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.1.2 Propriétés immédiates et autres définitions. . . . . . . . . . . . . . . . . . 14

1.1.3 Contraction de tenseurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2 L’algèbre de Grassmann. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2.1 Intuition et avantages de l’algèbre de Grassmann. . . . . . . . . . . . . . . 17

1.2.2 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.3 Propriétés immédiates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.4 Décomposabilité des multivecteurs. . . . . . . . . . . . . . . . . . . . . . 22

1.2.5 La contraction dans l’algèbre de Grassmann. . . . . . . . . . . . . . . . . 25

1.2.6 Récapitulatif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

1.3 L’algèbre de Clifford. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

v

Page 8: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

vi Table des matières

1.3.1 Intuition et avantages de l’algèbre de Clifford. . . . . . . . . . . . . . . . 28

1.3.2 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

1.3.3 Propriétés immédiates. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1.3.4 Définition d’une conjonction de∧

(E) etC(E) . . . . . . . . . . . . . . . . 32

1.3.5 Une nouvelle approche de l’orthogonalité dansE . . . . . . . . . . . . . . . 33

1.3.6 Groupes de Clifford, inversibilité et groupe des isométries . . . . . . . . . . 36

1.3.7 Récapitulatif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

1.4 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

2 Application des algèbres géométriques : présentation et analyse 43

2.1 Application des algèbres en géométrie : les modèles d’interprétation. . . . . . . . . 43

2.1.1 Utilisation des structures algébriques en géométrie. . . . . . . . . . . . . . 43

2.1.2 Les trois modèles d’interprétation géométrique usuels . . . . . . . . . . . . 45

2.1.3 Réflexions sur l’utilisation des modèles d’interprétation . . . . . . . . . . . 52

2.2 Programmation des algèbres géométriques. . . . . . . . . . . . . . . . . . . . . . 52

2.2.1 Intuition de l’implantation des algèbres géométriques . . . . . . . . . . . . 53

2.2.2 Bibliothèques de calculs dans les algèbres géométriques . . . . . . . . . . . 58

2.2.3 Réflexions sur la programmation des algèbres géométriques . . . . . . . . . 63

2.3 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

3 Conclusions sur l’approche didactique des algèbres géométriques 67

3.1 Synthèse sur l’utilisation des algèbres géométriques. . . . . . . . . . . . . . . . . 67

3.2 Résumé. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

3.3 Discussions et positionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

3.4 Perspectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

II Calcul exact de la visibilité globale en dimension quelconque

Page 9: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

vii

4 Introduction à la visibilité globale 77

4.1 Étude globale de la visibilité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

4.1.1 Caractérisation du phénomène de visibilité par les évènements visuels. . . 78

4.2 Travaux précédents sur le calcul de visibilité globale. . . . . . . . . . . . . . . . . 81

4.3 Les coordonnées de Plücker et le calcul de visibilité globale . . . . . . . . . . . . . 85

4.3.1 Principes généraux du calcul d’occultation. . . . . . . . . . . . . . . . . . 88

4.3.2 Les méthodes de calcul d’occultation. . . . . . . . . . . . . . . . . . . . . 90

4.3.3 Limites des méthodes actuelles. . . . . . . . . . . . . . . . . . . . . . . . 97

4.4 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.4.1 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

4.4.2 Discussions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5 Théorie algébrique de la visibilité globale 101

5.1 Formulation algébrique de la visibilité globale. . . . . . . . . . . . . . . . . . . . 101

5.1.1 Introduction à l’étude de la visibilité globalen-dimensionnelle . . . . . . . 102

5.1.2 Rappels sur l’interprétation de l’algèbre∧

(Rn+1) dansPn . . . . . . . . . . 106

5.1.3 L’espace des droites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

5.1.4 Classification des droites. . . . . . . . . . . . . . . . . . . . . . . . . . . 113

5.1.5 Définir un calcul de visibilité avec l’algèbre de Grassmann . . . . . . . . . 117

5.2 Le polytope minimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

5.2.1 Caractérisation du polytope minimal. . . . . . . . . . . . . . . . . . . . . 123

5.2.2 Démonstration du théorème 5.4. . . . . . . . . . . . . . . . . . . . . . . . 124

5.3 Discussions et positionnement avec l’existant. . . . . . . . . . . . . . . . . . . . . 128

5.3.1 Avantages des algèbres de Grassmann. . . . . . . . . . . . . . . . . . . . 129

5.3.2 La solution du polytope minimal. . . . . . . . . . . . . . . . . . . . . . . 130

5.4 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.4.1 Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

5.4.2 Applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Page 10: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

viii Table des matières

6 Approches algorithmiques proposées 133

6.1 Hypothèses et représentation générale de la visibilitéglobale. . . . . . . . . . . . . 133

6.1.1 Hypothèses sur l’interprétation de l’espaceGn . . . . . . . . . . . . . . . . 133

6.1.2 Représentation des points et des hyperplans dansDn . . . . . . . . . . . . . 134

6.1.3 Représentation générale de la visibilité. . . . . . . . . . . . . . . . . . . . 136

6.2 Calcul et représentation de la visibilité globale entredeux faces convexes. . . . . . 138

6.2.1 Vue d’ensemble des algorithmes. . . . . . . . . . . . . . . . . . . . . . . 138

6.2.2 Calcul du polytope minimal initial. . . . . . . . . . . . . . . . . . . . . . 139

6.2.3 Intersection d’un polytope avec un hyperplan. . . . . . . . . . . . . . . . . 140

6.2.4 Insertion des occulteurs dans l’arbre de visibilité. . . . . . . . . . . . . . . 141

6.2.5 Classificationeuclidiennerobuste des droites dans l’espace euclidien. . . . 146

6.3 Utilisation des silhouettes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

6.3.1 Définition de la silhouette. . . . . . . . . . . . . . . . . . . . . . . . . . . 150

6.3.2 Vue d’ensemble du traitement de la silhouette. . . . . . . . . . . . . . . . 151

6.3.3 Intuition géométrique du problème des singularités. . . . . . . . . . . . . . 153

6.3.4 Définition et caractérisation générale des singularités dans la silhouette. . . 155

6.3.5 Conséquences des singularités sur le calcul de visibilité . . . . . . . . . . . 158

6.3.6 Rejeter dans le cas des singularités. . . . . . . . . . . . . . . . . . . . . . 160

6.3.7 Traitement de la silhouette. . . . . . . . . . . . . . . . . . . . . . . . . . . 161

6.3.8 Détection des occulteurs prédominants. . . . . . . . . . . . . . . . . . . . 166

6.4 Discussions et évaluation de notre approche. . . . . . . . . . . . . . . . . . . . . . 167

6.4.1 Différences et améliorations de notre approche. . . . . . . . . . . . . . . . 167

6.4.2 Méthodes d’évaluation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

6.4.3 Résultats et comparaisons pratiques. . . . . . . . . . . . . . . . . . . . . . 171

6.5 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

7 Conclusion sur le calcul de visibilité globale 179

7.1 Motivations initiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

7.2 Contributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

Page 11: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

ix

7.3 Intérêts de la méthode algébrique. . . . . . . . . . . . . . . . . . . . . . . . . . . 181

7.4 Perspectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182

Conclusion 185

Annexes 193

A Rappels sur les structures algébriques 195

A.1 Définitions de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

A.2 Espaces vectoriels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

A.2.1 Bases d’un espace vectoriel. . . . . . . . . . . . . . . . . . . . . . . . . . 198

A.2.2 Applications linéaires et multilinéaires. . . . . . . . . . . . . . . . . . . . 199

A.2.3 Formes bilinéaires et formes quadratiques. . . . . . . . . . . . . . . . . . 200

A.3 Algèbres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

A.3.1 Quotients d’algèbres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204

B Géométries, espaces affines et espaces projectifs 205

B.1 Espaces affines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

B.1.1 Définitions, propriétés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

B.1.2 Repère cartésien, coordonnées cartésiennes. . . . . . . . . . . . . . . . . . 206

B.1.3 Variétés linéaires affines. . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

B.1.4 Géométrie euclidienne, espace euclidien. . . . . . . . . . . . . . . . . . . 208

B.2 Géométrie projective, espaces projectifs. . . . . . . . . . . . . . . . . . . . . . . . 208

B.2.1 Définition algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

B.2.2 Système de coordonnées homogènes. . . . . . . . . . . . . . . . . . . . . 209

B.2.3 Variétés linéaires projectives. . . . . . . . . . . . . . . . . . . . . . . . . 210

B.3 L’orientation en géométrie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

B.3.1 La notion d’orientation en géométrie abstraite. . . . . . . . . . . . . . . . 211

B.3.2 La géométrie projective orientée et la notion d’orientationalgébrique . . . . 213

Page 12: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

x Table des matières

C Les espaces de droites usuels 219

C.1 Espace dual du plan affine. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

C.1.1 Définition analytique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219

C.1.2 Présence de singularités pour la dualité affine. . . . . . . . . . . . . . . . . 220

C.1.3 Définition algébrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

C.2 Les coordonnées de Plücker. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

C.2.1 Orientation relative de deux droites. . . . . . . . . . . . . . . . . . . . . . 223

C.2.2 Les coordonnées de Plücker généralisées. . . . . . . . . . . . . . . . . . . 223

Bibliographie 225

Page 13: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Introduction

1

Page 14: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 15: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

3

Les questions de visibilité trouvent leurs premières applications dans beaucoup de domaines de l’infor-matique géométrique, comme la synthèse d’images ou la vision par ordinateur. Celles-ci sont au centrede nombreuses recherches dans ces domaines, comme l’affichage temps réel de scènes complexes oubien le calcul d’illumination globale, qui consiste à simuler les échanges d’énergies entre chaque pairede faces de la scène.

L’aspect le plus simple du problème de visibilité est de déterminer si deux points sont mutuellementvisibles, ce qui revient à établir que le segment tracé entreces deux points ne rencontre aucun objet surson parcours. Mais la visibilité peut également revêtir desaspects beaucoup plus complexes que celui-ci,selon que l’on considère seulement des points mutuellementvisibles ou bien des éléments de surfaces,i.e. des points et leur voisinage, mutuellement visibles. Nous nous intéressons dans ce mémoire à cesderniers aspects que l’on appellevisibilité globale.

Plus précisément, depuis les algorithmes du Z-buffer et du lancer de rayons, visant à déterminer uneinformation de visibilité depuis un point de vue unique, lesproblèmes liés à la visibilité ont évolué versune utilisation d’une information plus globale de celle-ci, c’est-à-dire une information qui ne se limitepas à la visibilité pour un seul rayon ou depuis un seul point de vue. L’exemple de l’illumination globaleest typique. Elle consiste à considérer chaque face d’une scène virtuelle comme une source de lumièreindirecte, par inter-réflexions depuis la source réelle. Ils’agit alors de déterminer les échanges d’énergieentre chaque couple de faces de la scène. En terme de visibilité, cela s’exprime par la caractérisation desparties d’une face vues depuis chaque point d’une seconde face. Pour représenter cet échange d’énergie,l’information ponctuelle de la visibilité, depuis un pointparticulier, n’est pas suffisante : elle requiertla détermination de l’ensemble des couples de points mutuellement visibles entre les deux faces. Celarevient de manière équivalente à déterminer l’ensemble desdroites passant par les deux faces mais nepassant pas par les faces situées entre elles. Cette caractérisation des droites passant par une ou plusieursfaces communes est l’information de visibilité la plus générale : il s’agit d’une information de visibilitéglobale.

Les applications de la visibilité globale ne se limitent pasà la synthèse d’image ou à la vision parordinateur. D’autres domaines comme la simulation de propagation d’ondes [FPST03, Mor06] ou lagéométrie algorithmique [The03, Goa04] peuvent également tirer partie d’une information de visibilitéglobale. Mais elles peuvent aussi apparaître dans des disciplines plus éloignées, comme la statistique etla visualisation d’informations par ordinateur [GT05], où certains problèmes peuvent s’exprimer par uneinformation de visibilité globale dans des espaces de dimensions quelconques, ou encore la CFAO, oùcertaines pièces mécaniques sont modélisées en fonction decontraintes de visibilité.

Ce besoin grandissant d’une information globale de visibilité a déjà donné lieu à des travaux sur lareprésentation et l’exploitation de l’information de visibilité globale. Il s’agit par exemple du complexede visibilité [Poc93, DDP97a, Goa04], ou du calcul d’occultation dans des espaces de droites [FPST03,Bit02, NBG02, MAM05]. Tous ces travaux s’appuient sur une caractérisation de lavisibilité à partirde la détermination des lieux où elle change. Toutefois, ceux-ci comportent certaines limites, comme larobustesse vis-à-vis de cas dégénérés ou l’efficacité des méthodes. Celles-ci traduisent la nécessité dedéfinir un cadre qui permette à la fois de mieux abstraire le problème et de mieux le comprendre, puis deformuler une caractérisation et une représentation de la visibilité globale. Cette formulation doit répondreaux critères de robustesse, qui comprend l’exactitude et lacapacité à considérer les cas dégénérés, degénéricité, c’est-à-dire l’adaptabilité en fonction du problème et de la dimension, et d’efficacité. Cesremarques sont les points de départ des travaux présentés dans ce mémoire. Notre objectif est de proposerune théorie permettant d’unifier puis de généraliser en toute dimension, ainsi qu’améliorer les techniquesexistantes sur le calcul de visibilité globale.

Page 16: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4

Notre approche de la visibilité repose sur l’utilisation des algèbres géométriques. Ces algèbres sont unoutil mathématique qui permet de mener des raisonnements à la fois abstraits, géométriques et indé-pendants de la dimension et du calcul. Elles nous ont semblé adaptées à notre problème en raison decette aptitude à formuler des solutions simples et générales, et à la possibilité de définir des méthodesalgorithmiques pour mettre en œuvre ces solutions.

Nous commençons dans la suite par préciser les motivations qui ont mené aux travaux présentés dans cemémoire. En particulier, nous expliquons les lacunes apparaissant dans les travaux précédents sur la vi-sibilité globale. Nous résumons ensuite nos contributions, puis discutons de l’organisation du document.

Motivations et approches

Motivations pour une approche algébrique de la visibilité globale

Les différents travaux sur la visibilité globale témoignent de l’intérêt pour la représentation d’une telleinformation. Toutefois, ces travaux font face à divers problèmes, obligeant parfois à recourir à des solu-tionsad hoc, inexactes ou bien difficilement généralisables, ou encoreà rendre la solution difficilementexploitable. Ces limites sont à la fois pratiques et théoriques.

Limites pratiques

Les limites pratiques des approches précédentes de la visibilité globale sont principalement liées auxmanques de robustesse, d’efficacité et de généricité.

La robustesse fait référence à l’apparition de cas dégénérés, clairement identifiés en 2D, mais pas tou-jours en dimension supérieure. Ces cas restent alors parfois sans solution pratique satisfaisante. À ceproblème de dégénérescence s’ajoute celui de l’efficacité :beaucoup de ces méthodes s’avèrent difficile-ment exploitables en pratique. Il y a plusieurs raisons à cela. Certaines [Pu98] présentent des complexitésprohibitives, ne pouvant espérer représenter une information de visibilité globale sur des scènes conte-nant seulement quelques dizaines de polygones. D’autres [KvD79, PD90] représentent une informationne pouvant fournir de réponse à des requêtes simples comme lavisibilité mutuelle de deux points. Der-nièrement, des approches [Bit02, NBG02, Mor06] sont apparues plus efficaces sur ces deux points, maisempêchent dans certains cas une description exacte de la visibilité, en raison d’un traitement inadaptédes dégénérescences. En ce qui concerne la généricité, ellerenvoie à une classe de problèmes où il estquestion d’étudier des notions devisibilité dans des espaces de dimensions quelconques [GT05]. Actuel-lement, il n’existe aucune méthode, parmi les travaux précédents, capable de donner une représentationde la visibilité globale en dimension supérieure à trois.

Limites théoriques

Les travaux sur la représentation de la visibilité globale sont tous fondés sur une approche analytiqued’un espace de droites. La raison est que celui-ci est apparemment le plus apte à représenter la visibilité.Seulement, ces travaux témoignent de la difficulté à comprendre cet espace à partir d’une telle approche.Or, de la compréhension de cet espace dépend la compréhension de la visibilité.

Cette limite se ressent dans le fait qu’il existe plusieurs définitions de ces espaces [Dur00], sans qu’ellessoient motivées. Elle explique par ailleurs en partie les problèmes pratiques de ces méthodes : elles

Page 17: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5

s’avèrent ne pas être en mesure d’expliquer, par exemple, laprovenance de certaines dégénérescences etdonc de proposer des éléments de solutions à la prise en compte de celles-ci [Nir03, Bit02].

De même, cette approche de l’espace des droites ne permet pasd’expliquer les implications d’un change-ment de dimension du problème [Dur00]. Ainsi, selon ces différentes études, il apparaît que la visibilité3D n’est pas directement comparable à la visibilité 2D. Il résulte un ensemble de méthodes qui semblentindépendantes les unes des autres.

Ces limites montrent la nécessité de définir un cadre théorique unique, plus abstrait, qui offre :– une meilleure conception de la structure de l’espace des droites.– une unification des concepts de la visibilité 2D et 3D.– une généralisation de ces concepts en toute dimension.– un calcul robuste, efficace et pertinent de l’information de visibilité.

Motivations pour une nouvelle approche didactique des algèbres géométriques

L’utilisation des algèbres géométriques pour le calcul de visibilité globale nous a poussés à étudier desconcepts essentiels à la constitution d’un raisonnement abstrait et géométrique à partir de celles-ci. Néan-moins, ces concepts se trouvent souvent séparément dans la littérature spécialisée.

En effet, les présentations habituelles des algèbres géométriques suivent une approche soit purementalgébrique et formelle [Che96, Cru90, Deh81], soit pragmatique [DFM07, MD02a, PH03] définie à partird’un «système» de propriétés. Il s’agit dans le premier cas de présentations mathématiques, parfois tropgénérales pour les problèmes qui nous intéressent et parfois trop succinctes. Il s’agit dans le second cas,de présentations plus applicatives, où on s’intéresse finalement davantage à l’interprétation des termes etdes opérations et pas suffisamment aux structures algébriques. Leur inconvénient est de ne pas montrerles fondements mathématiques sous-jacents à la définition des propriétés présentées, ne permettant pasune utilisation générale des algèbres géométriques ; celle-ci est limitée aux cas exposés.

Ces deux types d’approches sont en réalité complémentaires. Tandis qu’une approche formelle permetde connaître et comprendre les principales structures des algèbres géométriques, facilitant et suscitantle raisonnement abstrait, une approche pragmatique autorise l’expression de relations géométriques pardes termes algébriques. À ces deux concepts, s’ajoute la nécessité de définir un cadre algorithmique afind’évaluer concrètement une expression algébrique. Ces trois connaissances sont déterminantes de l’ef-fectivité des algèbres géométriques,i.e. de leur capacité à être utilisées en géométrie et en informatiquegraphique. La littérature applicative est la seule à tenterd’analyser ce troisième aspect, parallèlement àleurs interprétations [DFM07]. Mais comme nous l’avons précisé, celle-ci pèche par une définition desalgèbres à partir d’un ensemble de propriétés, sans expliquer leurs provenances. Cette définition résulteen une approche synthétique de la géométrie,i.e. une formulation des problèmes géométriques par unensemble de constructions (intersections, transformations, etc.). Or, dans beaucoup de problèmes pra-tiques, le système de propriétés proposé se révèle insuffisant à la déduction d’une solution ou à la preuvede sa consistance. Seule la connaissance des structures algébriques sous-jacentes permet de déterminerles propriétés manquantes.

Afin de rendre ces algèbres utilisables en géométrie, il nousa donc semblé nécessaire de les présen-ter selon une approche faisant ressortir ces trois niveaux séparément et les techniques permettant leurutilisation commune.

Page 18: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6

Contributions

Les contributions exposées dans ce document concernent d’une part la compréhension des algèbres géo-métriques, et d’autre part le calcul de visibilité globale.

Contributions à la compréhension des algèbres géométriques

Nous définissons, dans ce mémoire, une nouvelle présentation des algèbres géométriques. L’objectif estde rassembler au sein d’un même texte les fondements manquants dans les présentations habituelles,purement applicatives, ainsi que les interprétations manquantes aux textes mathématiques. Cette pré-sentation permet alors au lecteur de comprendre ces différents concepts, nécessaires à l’application desalgèbres géométriques.

Cette lecture différente des présentations usuelles est essentielle pour les raisons évoquées précédem-ment. Elle apporte :– une meilleure compréhension de la structure des algèbres,facilitant le calcul sur les termes algébriques

et la résolution d’équations dans les algèbres géométriques ;– une synthèse de différentes approches, suscitant un raisonnement à la fois abstrait, fondé sur des pro-

priétés algébriques, et géométriques. Ce type de raisonnement est particulièrement efficace pour établirdes démonstrations et prouver la cohérence de certains résultats ;

– une introduction pédagogique aux concepts d’interprétation géométrique des algèbres, afin, d’une partd’étayer la différence entre un raisonnement algébrique sur les espaces vectoriels et un raisonnementgéométrique, et d’autre part de mieux comprendre comment utiliser ces algèbres en géométrie ;

– une analyse des différentes manières d’interpréter les algèbres en géométrie, dans le but de mettre enévidence les spécificités et les utilités de chacune d’elles, plutôt que de privilégier une interprétationparticulière ;

– une sensibilisation à l’implantation des algèbres, pour comprendre comment évaluer, puis calculerconcrètement une solution algébrique et en exploiter le résultat ;

– une réflexion sur les méthodes d’implantation existantes.Chacun de ces apports a été nécessaire pour formuler un calcul algébrique de la visibilité.

Contributions au calcul de visibilité globale

Concernant le calcul de visibilité, ce document présente lapremière théorie algébrique de la visibilitéglobale dans un espace projectif ou euclidien, de dimensionn≥ 2.

Notre approche théorique repose sur l’interprétation des algèbres de Grassmann, une algèbre géomé-trique, dans l’espace projectif. Ce cadre algébrique procure une manière synthétique, abstraite des coor-données, de raisonner sur les droites et les ensembles de droites : les raisonnements et les démonstrationsutilisent des règles de calculs sur des termes, sans se référer à des coordonnées. Il apporte une meilleureconnaissance de l’espace des droites en toute dimension, grâce à une meilleure conception des structuresmathématiques sous-jacentes.

Cette théorie du calcul de la visibilité globale dans l’algèbre de Grassmann offre plusieurs avantages :– Elle unifie les méthodes existantes proposant un calcul similaire dans le plan et dans l’espace tridi-

mensionnel.– Elle généralise ensuite ces méthodes aux dimensions supérieures.

Page 19: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

7

– Elle permet de trouver des solutions théoriques aux problèmes que les approches classiques n’ont purésoudre ou expliquer.

À partir de cette formulation algébrique de la visibilité, nous proposons également des solutions algo-rithmiques pour appliquer cette théorie en pratique. Ces solutions sont analogues aux méthodes les plusefficaces, dans le cas tridimensionnel, mais améliorent celles-ci sur plusieurs points. Les algorithmesproposés :– sont valides en toute dimension ;– sont robustes aux dégénérescences ;– définissent des solutions pour limiter l’instabilité numérique ;– définissent un calcul consistant et efficace de la visibilité à partir des silhouettes des objets1 ;– représentent une information pertinente, capable de donner des solutions rapidement à diverses re-

quêtes de visibilité ;– permettent une représentation plus compacte de l’information de visibilité ;– accélèrent par conséquent l’extraction de cette information.

Organisation du document

Le mémoire est constitué de deux parties. La première partiedéfinit une nouvelle présentation péda-gogique des algèbres géométriques. La seconde partie présente notre théorie algébrique de la visibilitéglobale en toute dimension et les algorithmes permettant son application concrète.

La partieI est une synthèse des deux manières usuelles de présenter lesalgèbres, qui établit les liensexistant entre elles. Elle est composée de deux chapitres etd’une conclusion. Le chapitre1 propose uneintroduction aux algèbres géométriques, d’un point de vue algébrique. Une attention particulière à l’in-terprétation des termes dans un espace vectoriel est donnée, de manière à permettre des raisonnementsabstraits sur des structures algébriques. Le chapitre2 est une introduction aux techniques permettantd’utiliser la structure algébrique exposée au premier chapitre pour formuler des solutions aux problèmesque l’on rencontre en géométrie. Ces techniques concernentd’une part la manière d’interpréter les al-gèbres dans desespaces géométriqueset d’autre part l’évaluation des termes afin de calculer un résultat,puis de le visualiser ou de l’exploiter. Dans chaque cas, uneétude des techniques existantes est présentéeafin de mettre en évidence leurs avantages et leurs spécificités.

La partieII est composée des trois derniers chapitres de ce mémoire, puis d’une conclusion. Le cha-pitre 4 est une introduction aux travaux antérieurs sur le calcul devisibilité globale dans l’espace tridi-mensionnel. Ce chapitre permet de mettre en évidence les problèmes théoriques et pratiques, motivant ladéfinition d’une théorie cohérente et algébrique de la visibilité globale en dimensionn≥ 2. Le chapitre5présente notre théorie de la visibilité globale, fondée surl’utilisation d’une algèbre géométrique. Enfin,le chapitre6 décrit nos choix d’implantation et les améliorations que nous avons apportées à l’efficacitéet à la robustesse de la méthode.

Les annexes, découpées en trois chapitres, présentent des rappels sur les différentes notions utilisées àtravers ce document. L’annexeA consiste en des rappels sur les structures algébriques de base commeles espaces vectoriels, les espaces quotients et les algèbres. L’annexeB rappelle les notions élémentairessur les espaces affines, les espaces projectifs et les espaces arguésiens. Ces deux derniers sont les espacesdans lesquels est définie notre théorie du calcul de visibilité globale. Enfin, l’annexeC définit les deux

1La silhouette est constituée des éléments (des arêtes dans le cas tridimensionnel) où apparaissent les changements de lavisibilité. Ils définissent le contour des objets depuis tous les points de vue considérés dans le calcul de visibilité globale.

Page 20: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

8

principaux espaces de droites utilisés dans les travaux précédents, en 2D et en 3D.

Page 21: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Première partie

Nouvelle approche didactique desAlgèbres Géométriques

9

Page 22: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 23: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

11

Les algèbres géométriques sont un outil mathématique qui consiste en l’application à la géométrie desalgèbres de Grassmann et des algèbres de Clifford, introduites au 19ème siècle par Hermann GüntherGraßmann et William Kingdon Clifford.

L’intérêt de ces algèbres en géométrie provient de leur aptitude à représenter, par des termes algébriqueset des opérations sur ces termes, des relations géométriques comme les intersections, les incidencesou les isométries. Leur avantage, à la différence d’autres outils mathématiques utilisés en géométrie,comme l’algèbre matricielle ou encore l’algèbre des quaternions, est leur capacité à s’affranchir de ladéfinition d’un système de coordonnées et à s’abstraire de ladimension pour formuler des opérations oudes démonstrations géométriques. Les solutions proposéessont, par conséquent, souvent plus robustes etplus génériques que les solutions classiques.

Cette partie définit une nouvelle manière de présenter les algèbres géométriques pour leur applicationà l’informatique graphique. Cet exposé est une synthèse desprésentations existantes en mathématiqueet en ingénierie, présentant chacune des aspects différents, mais néanmoins fondamentaux des algèbres.Elle résulte de l’étude de ces algèbres pour leur application au calcul de visibilité, où apparaît le besoind’avoir une approche algébrique de la géométrie, c’est-à-dire d’avoir un raisonnement à la fois abstrait etgéométrique, et le besoin d’avoir une approche pratique ou algorithmique. Cette partie vise à introduirel’utilisation de ces trois concepts au sein du même cadre algébrique.

Cette présentation des algèbres géométriques commence, dans le chapitre1, par leur définition mathéma-tique. Ce chapitre fournit les différentes notions et règles utiles à l’expression de calculs «symboliques»sur les termes des algèbres géométriques. Sont ensuite décrits, dans un second chapitre, les modèlesd’interprétation qui permettent de donner unsens géométriqueà ces termes algébriques, puis les tech-niques de programmation des algèbres qui proposent une représentation concrète et une évaluation de cestermes2. Enfin, le chapitre3 présente un résumé de cette première partie, en rappelant les connaissancesapportées par ces différents chapitres puis en positionnant cette présentation par rapport aux précédentes.

Concernant les applications des algèbres géométriques en modélisation géométrique ou en traitement dusignal, celles-ci ne sont pas directement explorées dans cette partie, ceci sortant du cadre de notre étude.Au minimum, nous donnons les éléments nécessaires à cette étude.

2Dans cette partie, nous distinguons deux niveaux de représentation des calculs sur les termes des algèbres géométriques.Premièrement, le calcul «symbolique», qui se fait sans référence aux coordonnées et qui est utilisé pour formuler une solutiongénérale à un problème à partir d’une équation algébrique : par exemple, l’équationa ·b = 0 est l’expressionsymboliqueex-primant le fait que les deux vecteursa et b sont orthogonaux pour le produit scalaire «·». Deuxièmement, la représentationet le calcul (ou encore l’évaluation) «concrets» de l’équation donnant la solution au problème, qui peuventêtre utilisés parexemple pour exprimer le calcul dans un programme informatique. Cette représentation et ce calcul peuvent se faire à partirdes coordonnées : en reprenant l’exemple précédent et en supposant quea et b ont pour coordonnées(a1,a2,a3) et (b1,b2,b3)respectivement, l’équationa1b1+a2b2+a3b3 = 0 exprime un calculconcret(une évaluation) indiquant, dans un repère correc-tement choisi, si les deux vecteurs sont orthogonaux. Le fait de formuler la solution indépendamment des coordonnées permetde rendre la formulation plus synthétique et intuitive, et assure en outre que le résultat du calcul sur les coordonnées est valide,quelque soit le système de coordonnées utilisé.

Page 24: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

12

Page 25: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 1

Introduction à la structure des algèbresgéométriques

Ce chapitre présente une introduction aux algèbres géométriques, du point de vue algébrique. Cette pré-sentation n’est pas exhaustive, en raison de l’étendue importante du développement de ces algèbres.Elle est en revanche suffisante pour comprendre les propriétés de la structure de ces algèbres, qui serontensuite utiles pour leurs applications en géométrie. Elle permet notamment de mieux appréhender lesprésentations usuelles, d’en concevoir les fondements, afin de faciliter l’élaboration de solutions nou-velles.

En particulier, nous détaillons et redéfinissons certainesdémonstrations manquantes ou difficiles dans lalittérature mathématique, mais néanmoins utiles pour comprendre et se familiariser avec la manipulationdes expressions algébriques.

Le chapitre est composé de trois sections et d’une conclusion. La première section présente les algèbrestensorielles, servant à la définition des algèbres de Grassmann, présentées dans la seconde section, et desalgèbres de Clifford, décrites dans la troisième section. Ces trois sections ont pour but de présenter lastructure de ces algèbres, leurs relations, et leurs significations dans un espace vectoriel.

La présentation des algèbres suppose une certaine connaissance des structures algébriques de base de lapart du lecteur. L’annexeA en rappelle les concepts principaux. Le lecteur pourra s’y référer, si néces-saire, tout au long de ce chapitre. Dans l’exposé qui suit,E désigne un espace vectoriel de dimensionn finie, sur le corps des réelsR, muni d’une forme quadratiqueQ, de sa forme bilinéaire associéeB etd’une base orthogonale(e1, . . . ,en). Nous nous limitons volontairement aux espaces quadratiques nondégénérés (cf. définitionA.26, page202), de dimensions finies surR, car il s’agit des seuls cas dont nousaurons besoin.

1.1 L’algèbre tensorielle

Bien que l’algèbre tensorielle ne soit pas une algèbre géométrique, sa présentation est ici nécessaire pourintroduire les algèbres de Grassmann et de Clifford. Elle permet effectivement de caractériser les rela-tions algébriques existantes entre les deux algèbres géométriques, et justifie par conséquent l’utilisationconjointe de celles-ci, telle qu’elle apparaît dans la littérature applicative.

Cette section présente seulement les concepts qui seront essentiels à la définition des algèbres géomé-

13

Page 26: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

14 Chapitre 1. Introduction à la structure des algèbres géométriques

triques et des opérateurs principaux sur ces algèbres.

1.1.1 Définition

L’algèbre tensorielle est définie à partir d’un espace vectoriel E initial, appeléespace générateurdel’algèbre. La définition qui suit est une synthèse de différentes définitions trouvées dans la littéra-ture [CO68, Cru90, Che96].

Définition 1.1 L’algèbre tensorielle⊗

(E) sur l’espace vectoriel E est une algèbre associative unitaired’unité 1⊗ (cf. annexeA.3), vérifiant les propriétés suivantes :

Prop. 1 L’espace E est un sous-espace vectoriel de l’espace de l’algèbre⊗

(E).

Prop. 2 L’algèbre⊗

(E) est générée par E et par l’unité1⊗.

Prop. 3 Tous les produits tensoriels d’un nombre quelconque de vecteurs d’une base de E sont linéaire-ment indépendants entre eux.

Les éléments de⊗

(E) sont lestenseurset son produit⊗ est appeléproduit tensoriel.

Le paragraphe1.1.2illustre plus en détail ces propriétés et montre notamment comment construire lestenseurs de

⊗(E).

1.1.2 Propriétés immédiates et autres définitions

Identification de E et R dans⊗

(E)

La propriété1 de la définition1.1signifie qu’il existe un sous-espace vectorielE′ dans⊗

(E) en bijectionavecE. Il vient alors naturellement que les vecteurs deE sont assimilables à des tenseurs de

⊗(E), par

bijection avec les tenseurs dansE′.

De même, comme l’algèbre est unitaire d’unité 1⊗, il existe une bijection entre les scalaires (ici l’en-semble des réelsR) et le sous-espace vectoriel généré par l’unité 1⊗ dans

⊗(E) : à tout scalaireα , elle

associe l’élémentα1⊗ de⊗

(E).

Pour identifier de manière consistante les scalaires deR avec les tenseurs de la formeα1⊗, il suffit demontrer que pour tout tenseurT de

⊗(E), α⊗T = αT :

α⊗T = (α1⊗)⊗T hypothèse d’identification des scalaires= α(1⊗⊗T) bilinéarité du produit d’algèbre= αT par définition de

⊗(E).

Nous avons alors le corollaire suivant.

Corollaire 1.1 L’espace générateur E et l’espace des scalairesR peuvent être identifiés à des tenseursde⊗

(E).

Page 27: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.1. L’algèbre tensorielle 15

Forme des tenseurs

Le corollaire1.2 suivant est une conséquence de la propriété2, indiquant que tout tenseur peut s’écrirecomme une combinaison linéaire de produits de la forme 1⊗⊗ x1⊗ . . .⊗ xk, où xi est un vecteur deEpour touti dans[1;k], k≥ 0. CommeE est généré par sa base(e1, . . . ,en), l’algèbre

⊗(E) est également

générée par(1⊗,e1, . . . ,en). Par exemple, le termeA= 4+e1+e2⊗e2⊗e3−e4⊗e2⊗e4 est un tenseur.

Corollaire 1.2 Tout tenseur peut s’écrire comme la combinaison linéaire d’un nombre fini de tenseursde la forme1⊗⊗e1⊗ . . .⊗ek, pour une base(e1, . . . ,en) de E et pour tout k≥ 0.

Unicité de⊗

(E)

D’après le corollaire1.2et la propriété3, tout tenseur s’exprime de manière unique à partir des produitsde vecteurs d’une base deE et de l’unité. Ces tenseurs forment une famille de tenseurs,déterminée demanière unique à partir d’une base deE. Une autre base deE détermine de la même manière une autrefamille de tenseurs de

⊗(E), immédiatement isomorphe à la première. On déduit alors le corollaire1.3.

Corollaire 1.3 L’algèbre⊗

(E) est unique à isomorphisme près.

Propriétés du produit

La propriété3 signifie en outre que pour deux vecteurs linéairement indépendantsx1 et x2 de E, lestenseursx1⊗x2 et x2⊗x1 sont également linéairement indépendants. Ainsi :

Corollaire 1.4 Le produit tensoriel «⊗» n’est ni commutatif, ni anticommutatif, excepté pour le tenseur1⊗, où le produit est commutatif, par définition de l’algèbre unitaire.

Les autres propriétés du produit tensoriel sont déduites dela définition d’une algèbre associative : bi-linéarité et associativité. Donnons à titre d’exemple le produit du tenseur précédentA par le tenseurB = 2+(e3−e2)⊗e2 :

A⊗B = (4+e1 +e2⊗e2⊗e3−e4⊗e2⊗e4)⊗ (2+e3⊗e2−e2⊗e2)= 8+2e1 +2e2⊗e2⊗e3−2e4⊗e2⊗e4+

4e3⊗e2+e1⊗e3⊗e2+e2⊗e2⊗e3⊗e3⊗e2−e4⊗e2⊗e4⊗e3⊗e2−4e2⊗e2−e1⊗e2⊗e2−e2⊗e2⊗e3⊗e2⊗e2+e4⊗e2⊗e4⊗e2⊗e2

Le développement de ce calcul utilise uniquement la propriété de bilinéarité et d’associativité du produit.Chacun des termes de la somme sont linéairement indépendants entre eux, selon la propriété3.

Ordre des tenseurs

Toute combinaison linéaire des produits de vecteurs deE peut être décomposée en fonction dela longueur des mots, i.e. du nombrek de vecteurs deE contenus dans les produits de la forme1⊗⊗x1⊗x2⊗·· ·⊗xk, xi ∈ E pour touti dans[1;k], k≥ 0.

Page 28: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

16 Chapitre 1. Introduction à la structure des algèbres géométriques

En reprenant l’exemple précédent, la décomposition donne :

A⊗B = T0 +T1+T2+T3+T5

avecT0 = 8T1 = 2e1

T2 = 4e3⊗e2−4e2⊗e2

T3 = 2e2⊗e2⊗e3−2e4⊗e2⊗e4+e1⊗e3⊗e2−e1⊗e2⊗e2

T5 = e2⊗e2⊗e3⊗e3⊗e2−e4⊗e2⊗e4⊗e3⊗e2−e2⊗e2⊗e3⊗e2⊗e2 +e4⊗e2⊗e4⊗e2⊗e2

On définit alors l’ordre d’un tenseur de la manière suivante.

Définition 1.2 Un tenseur T esthomogène d’ordrek s’il est combinaison linéaire de produits de lon-gueur k, i.e. de produits de k vecteurs de E. Le tenseur T est alors appelé k-tenseur.

Par convention, les vecteurs de E sont les tenseurs d’ordre1 (car produit d’un seul élément de E) etl’espace des scalairesR1⊗ est l’espace des tenseurs d’ordre0.

Ainsi, e1⊗ e2 + e2⊗ e2 est un tenseur homogène d’ordre 2 : les deux produits de la somme sont delongueur 2.

Nous avons la propriété immédiate suivante.

Propriété 1.1 Pour toute valeur de k dansN, l’ensemble des tenseurs d’ordre k, noté⊗

k(E), muni desrestrictions des lois d’espace vectoriel de

⊗(E) (addition et multiplication par les scalaires), est un

espace vectoriel de dimension nk, où n est la dimension de E. Une base de cet espace est la familleconstituée des tenseurs de la forme ei1⊗ei2⊗ . . .⊗eik, pour toute suite(i1, i2, . . . , ik) dans[1;n]k.

On vérifie alors :

⊗i(E) =

i︷ ︸︸ ︷E⊗·· ·⊗E

(⊗

i(E))⊗ (⊗

j(E)) =⊗

i+ j(E)

⊗(E) =

∞⊕

i=1

(⊗

i(E))

La notion d’ordre des tenseurs, qui se retrouve dans l’algèbre de Grassmann, sert à introduire la no-tion fondamentale de décomposabilité des tenseurs, notamment utile à l’interprétation des éléments del’algèbre de Grassmann (cf. §1.2.4).

Tenseurs décomposables

Définition 1.3 Un tenseur homogène Tk d’ordre k, k∈ N, est dit décomposablessi il existe k vecteursx1, . . . ,xk de E tels que Tk = x1⊗ . . .⊗xk. Autrement dit, un tenseur décomposable peut s’écrire commela somme d’un seul produit de vecteurs de E. Les vecteur x1, . . . ,xk sont unedécompositionde Tk.

Par exemple, le tenseure1⊗ e2 + 2e2⊗ e2 est décomposable : les vecteurs(e1 + 2e2,e2) en sont unedécomposition. En revanche, le tenseure1⊗e2 + e3⊗e4, en supposante1 (resp.e2) linéairement indé-pendant dee3 (resp.e4), n’est pas décomposable : il n’est pas possible de trouver une factorisation desdeux termes.

Page 29: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 17

1.1.3 Contraction de tenseurs

Nous introduisons ici l’opérateur classique decontractionde tenseurs. Il permet, dans les algèbres géo-métriques, la définition d’un opérateur caractérisant les notions, importantes en géométrie, d’orthogona-lité et de sous-espace complémentaire (paragraphes1.2.5et1.3.5).

Cet opérateur utilise la relation existante entre les tenseurs et les formes multilinéaires surE [Cru90](cf. annexeA.2.2). Nous n’y faisons toutefois pas référence ici et présentons directement l’opérateur quinous concerne.

L’opérateur de contraction d’un tenseur de⊗

p(E), par une forme linéaire de l’espace dualE∗ (cf. an-nexeA.2.2), est un opérateur qui permet deréduire l’ordre des tenseurs. Elle opère sur les tenseurscomme l’application d’une forme linéaire deE∗ à un vecteur deE. Elle est définie de la manière sui-vante.

Définition 1.4 Soit Tp = x1⊗ . . .⊗xp de⊗

p(E), p > 0 et θ de E∗. La contraction C1θ est l’application

linéaire qui au p-tenseur Tp associe le tenseur C1θ (Tp) dans⊗

p−1(E) :

C1θ (Tp) = θ(x1)x2⊗ . . .⊗xp

Par convention, Cθ (α) = 0 pour tout scalaireα dansR. L’opérateur Cθ s’étend alors à tout tenseur parlinéarité.

Toutes les propriétés vues dans cette première section vontmaintenant servir à définir, comprendre etdéterminer les propriétés des algèbres de Grassmann. En particulier, la décomposabilité des tenseurs etla contraction tensorielle sont des notions qui s’étendentà l’algèbre de Grassmann et possèdent, danscette algèbre, des propriétés fondamentales à l’utilisation de ces algèbres en géométrie.

1.2 L’algèbre de Grassmann

L’algèbre de Grassmann fut introduite auXIXèmesiècle par Hermann Günther Graßmann [Gra44]. Sonintérêt en géométrie provient de sa capacité à représenter des sous-espaces vectoriels par des termesalgébriques.

1.2.1 Intuition et avantages de l’algèbre de Grassmann

On peut voir l’algèbre de Grassmann comme unlangagemathématique de représentation et de manipula-tion des sous-espaces vectoriels d’un espace vectorielE. Ces sous-espaces vectoriels jouent notammentun rôle central dans le calcul de visibilité (cf. chapitre5).

Comparée à une méthode matricielle, ou bien à la paramétrisation de Plücker, que nous étudierons dansla partieII de ce mémoire, l’algèbre de Grassmann apporte un cadre algébrique permettant de manipuleret de raisonner sur des sous-espaces vectoriels de manière «symbolique», i.e. sans faire référence à descoordonnées. Les représentations équationnelles des relations entre les sous-espaces vectoriels sont alorsplus intuitives, interprétables et générales. Cette particularité de l’algèbre de Grassmann provient de sonproduit qui permet d’exprimer la notion de dépendance linéaire des vecteurs deE. Anticipons quelquepeu sur la suite : prenons en exemple deux vecteursa et b de E. Dire quea et b sont linéairement

Page 30: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

18 Chapitre 1. Introduction à la structure des algèbres géométriques

dépendants s’exprimera dans l’algèbre de Grassmann par «le produit de a et de b est nul». Inversement,si a et b sont linéairement indépendants, nous aurons l’assertion «le produit de a et b est non nul et leterme résultant est un représentant de l’unique sous-espace généré par a et b».

La définition proposée dans le paragraphe1.2.2utilise un quotient de l’algèbre tensorielle pour introduirel’algèbre de Grassmann. La raison est qu’une telle définition permet de trouver immédiatement certainespropriétés importantes de ces algèbres ainsi que sa structure. De plus, elle permet de déterminer unerelation entre l’algèbre de Grassmann et l’algèbre de Clifford, cette dernière acceptant une définitionsimilaire. Cette relation est nécessaire pour utiliser lesdeux algèbres dans un même formalisme.

Nous reviendrons sur l’interprétation des termes par des sous-espaces vectoriels deE dans le para-graphe1.2.4. L’annexeA.3.1 rappelle quelques définitions et propriétés importantes des algèbres quo-tientes.

1.2.2 Définition

L’algèbre de Grassmann est, de manière similaire à l’algèbre tensorielle, une algèbre unitaire, généréepar les vecteurs deE et par l’unité de l’algèbre. La différence est que son produit est anticommutatif.Elle peut être définie à partir d’uneprojectionde l’algèbre tensorielle

⊗(E) sur les tenseurs antisymé-

triques [Cru90]. Cela revient à prendre l’algèbre quotiente de l’algèbre tensorielle par un idéal bilatèreparticulier.

Soit I7 l’ensemble des tenseurs de l’algèbre tensorielle⊗

(E), pouvant s’écrire comme des combinaisonslinéaires de tenseurs de la formeA⊗ x⊗ x⊗B, avecA et B dans

⊗(E), et x dansE. L’ensembleI7 est

l’idéal bilatère de l’algèbre⊗

(E), généré par les tenseurs de la formex⊗ x, pour toutx dansE (cf.définitionsA.32 etA.33, page204).

Définition 1.5 L’algèbre deGrassmann∧

(E) sur l’espace E, parfois aussi appelée algèbreextérieure,est l’algèbre quotiente de l’algèbre tensorielle

⊗(E) par l’idéal I7 :

∧(E) =⊗(E)/I7.

Les éléments de∧

(E) sont appelés multivecteurs. Ils correspondent, par quotient, à des ensembles detenseurs équivalents par la relation d’équivalence déduite de l’idéal (définitionA.34, page204). Le pro-duit de l’algèbre de Grassmann, appelé produit extérieur etnoté «∧», est déduit à partir du quotient duproduit tensoriel.

À partir de cette définition, le paragraphe1.2.3explique comment déterminer les propriétés du produitextérieur et des multivecteurs, permettant ainsi de considérer ces derniers comme des éléments d’unnouvelespace vectoriel, plutôt que comme des classes de tenseurs équivalents. Pour déterminer ces pro-priétés, nous utilisons le morphisme surjectifρ7 :

⊗(E)→∧

(E) associé à l’idéalI7 (cf. définitionsA.7et A.34).

1.2.3 Propriétés immédiates

Le morphisme d’algèbre surjectifρ7 de⊗

(E) dans∧

(E) permet d’associer un élément de⊗

(E) à laclasse d’équivalence à laquelle il appartient dans

∧(E). Ce morphisme va permettre de déduire de la

définition1.5 les propriétés du produit extérieur ainsi que la structure l’espace∧

(E).

Page 31: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 19

Identification de E et R dans∧

(E)

Propriété 1.2 La restriction de la surjectionρ7 à E≃⊗1(E) est bijective [Cru90].

DémonstrationSoient x et x′, deux vecteurs de E. Supposonsρ7(x) = ρ7(x′). Cela signifie que x et x′ appar-tiennent à la même classe d’équivalence, autrement dit que x− x′ est dans I7, selon la définitionde la relation d’équivalence (cf. définitionA.34). Or, les éléments non nuls de I7 sont des tenseursd’ordre au moins2, car le générateur de l’idéal est d’ordre2. On en déduit que x− x′ = 0, etx = x′. Ainsi,ρ7(x) = ρ7(x′)⇒ x = x′ pour tout x,x′ de E. L’applicationρ7 est donc injective deE dansρ7(E). Comme elle est aussi surjective, par définition, elle est bijective de E dansρ7(E).�

Propriété 1.3 La restriction de la surjectionρ7 à R≃⊗0(E) est bijective [Cru90].

DémonstrationLes scalaires dansR correspondent aux tenseurs d’ordre0 < 2. En appliquant le même raisonne-ment que précédemment, pour la démonstration de la propriété1.2, on montre queρ7 est injectiveet donc bijective deR dansρ7(R).�

À partir des propriétés1.2et 1.3, on déduit le corollaire suivant.

Corollaire 1.5 L’espace E et l’espace des scalaires peuvent être identifiésrespectivement àρ7(E) et àρ7(R) dans

∧(E).

Propriétés du produit extérieur

Propriété 1.4 Le produit extérieur «∧» de l’algèbre∧

(E) est anticommutatif. Il vérifie, pour tout vec-teur x et y, les équations :

x∧x = 0 pour tout x de E (1.1)

y∧z = −z∧y pour tout(y,z) ∈ E2 (1.2)

DémonstrationCommeρ7 est un morphisme, il vérifie, pour tous tenseurs U et V de

⊗(E) :

ρ7(U +V) = ρ7(U)+ ρ7(V)ρ7(U ⊗V) = ρ7(U)∧ρ7(V)

En particulier, pour tout x de E, nous avons par définition x⊗x∈ I7 et ρ7(x⊗x) = 0. Depuis lapropriété précédente, en prenant U= x et V= x, puis en identifiantρ7(x) à x, on a :

ρ7(x⊗x) = ρ7(x)∧ρ7(x)= x∧x= 0

D’où l’équation (1.1).

Page 32: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

20 Chapitre 1. Introduction à la structure des algèbres géométriques

De la même façon, en considérant x= y+ z, avec y et z, deux vecteurs de E, nous avons x⊗ x =y⊗y+y⊗z+z⊗y+z⊗z. La classeρ7((y+z)⊗ (y+z)) = ρ(x⊗x) correspond au multivecteur0, car x⊗x∈ I7. On obtient alors :

ρ7((y+z)⊗ (y+z)) = ρ7(y+z)∧ρ7(y+z)= (ρ7(y)+ ρ7(z))∧ (ρ7(y)+ ρ7(z))= (y+z)∧ (y+z)

=

0︷︸︸︷y∧y +y∧z+z∧y+

0︷︸︸︷z∧z

= y∧z+z∧y= 0

On en déduit l’équation(1.2).�

Enfin, de la propriété d’anticommutativité du produit extérieur, on en déduit le corollaire1.6.

Corollaire 1.6 Soient (a1, . . . ,ap) une famille de vecteurs de E etσ , une permutation de la suite(1, · · · , p), de signatureεσ ∈ {1,−1}. Par associativité du produit extérieur, on a :

a1∧a2∧ . . .∧ap = εσ (aσ(1)∧aσ(2)∧ . . .∧aσ(p)) (1.3)

Ces propriétés suffisent à exprimer les règles de calculs nécessaires à la manipulation des termes de l’al-gèbre de Grassmann. Elles permettent donc de calculer directement sur les multivecteurs vus comme deséléments d’un espace, plutôt que comme des classes d’équivalence de tenseurs. Le but est de s’abstrairedes tenseurs et du morphismeρ7 afin de simplifier l’expression et l’interprétation des calculs dans l’al-gèbre de Grassmann

∧(E). Pour atteindre cet objectif, il reste à déterminer l’espace des multivecteurs.

L’espace des multivecteurs

Du corollaire1.5, on déduit le corollaire suivant.

Corollaire 1.7 L’algèbre tensorielle étant associative unitaire, d’unité1⊗, générée par1⊗ et une base deE, l’algèbre de Grassmann

∧(E) est naturellement associative unitaire, d’unité17 = ρ7(1⊗), générée

par 17 et une base deρ7(E)≃ E.

Ainsi, tout multivecteur de∧

(E) est une combinaison linéaire de l’unité 17 et de produits de vecteursd’une base deE. Nous avons alors la propriété et la définition suivantes.

Propriété 1.5 Soit(e1, . . . ,en) une base de E. Les multivecteurs17∧ei1∧ei2 ∧ . . .∧eik, pour toute suite(i j) j=1...k, 1≤ i1 < i2 < .. . < ik ≤ n et k≥ 0, forment une base de l’algèbre

∧(E).

Définition 1.6 Un multivecteur M esthomogène d’ordrek, s’il est combinaison linéaire de produits delongueur k dans

∧(E). Le multivecteur M est alors appelé k-vecteur.

Par convention, un vecteur de E est un1-vecteur (multivecteur d’ordre1), et un scalaire (produit del’unité 17 par un scalaire dansR) est un0-vecteur (multivecteur d’ordre0).

Page 33: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 21

Démonstration de la propriété1.5Du corollaire 1.7 et de la propriété1.4 du produit extérieur, on déduit que les produits de laforme ei1 ∧ei2 ∧ . . .∧eik , 1≤ i1 < i2 < .. . < ik ≤ n, forment une famille génératrice de l’algèbre,pour toute base(e1, . . . ,en) de E. En effet, tout autre produit de vecteurs de la base de E etdelongueur k≤ n est une permutation d’un de ces produits. Selon l’équation(1.3), il s’agit du mêmemultivecteur au signe près. Pour k> n, le produit de k vecteurs de la base de E contient au moinsun des vecteurs en double, puisque la base de E contient exactement n vecteurs. On déduit de lapropriété d’anticommutativité du produit extérieur que ces produits sont nuls.

Pour que cette famille forme unebasede l’espace vectoriel de l’algèbre∧

(E), il faut et il suffitqu’elle soit libre. De manière équivalente, il faut et il suffit que les multivecteurs de la famillesoient tous non nuls et linéairement indépendants entre eux.

Ces multivecteurs sont non nuls selon la propriété1.8 (cf. §1.2.5). Montrons par induction qu’ilssont linéairement indépendants entre eux.

Soient I la suite strictement croissante(1,2, . . . ,n), A= (i1, . . . , ik) une sous-suite croissante strictede I et eA = ei1∧ . . .∧eik le multivecteur déduit de la suite A. En particulier, e/0 = 17. Nous noteronsA la suite telle que A∩A = /0 et A∪A = I. Soit le multivecteur∑A⊂I αAeA = 0, où αA est un sca-laire, pour toute sous-suite A∈ I. Montrer que les produits(eA)A⊂I sont linéairement indépendantsrevient à montrer que tous lesαA, A⊂ I, sont nuls.

Pour toutes sous-suites A et B de I, on vérifie que si A∩B 6= /0 alors eA∧ eB = 0. En effet, lesvecteurs ei , pour tout i∈ A∩B, se retrouvent en double dans le produit eA∧eB. En raison de lapropriété1.4d’anticommutativité du produit extérieur, ces multivecteurs sont nuls.

Considérons le terme eI ∧ (∑A⊂I αAeA) = 0, car ∑A⊂I αAeA = 0 par hypothèse. Par la remarqueprécédente, nous avons : eI ∧∑A⊂I αAeA = α /0eI ∧e/0 = α /0eI , car A∩ I 6= /0 pour tout A6= /0. Or, parhypothèse, eI 6= 0. On déduit queα /0 = 0.

Supposons que tous les coefficientsαA sont nuls, pour toute sous-suite strictement croissante A deI, de longueur i≤ k, i,k∈ [1;n[. Montrons qu’ils sont nuls pour toute sous-suite de longueur k+1.

Soit B une sous-suite de I de longueur k+1. On a :

eB∧(

∑A⊂I

αAeA

)= ∑

A⊂I ,B∩A= /0

αAeB∧eAhyp= 0

Pour vérifier la propriétéB∩A = /0, il faut que tous les termes eA de la somme à droite soient delongueur l≤ k+1. Le seul terme de longueur k+1 est le terme eB, car pour toute autre sous-suiteB′ de I, de longueur k+1, nous avonsB∩B′ 6= /0. Comme les coefficients des autres termes eA (delongueur l≤ k) sont nuls par hypothèse d’induction, on déduitαBeB∧eB = ±αBeI = 0. CommeeI est non nul, on déduitαB = 0. En procédant de la même façon avec toutes les sous-suites Bde I, nous déduisons que tous les coefficients de la somme sontnuls et ainsi que les produitsei1 ∧ei2∧ . . .∧eik, 1≤ i1 < i2 < .. . < ik ≤ n sont linéairement indépendants.�

De la propriété1.5 et sa démonstration, la définition1.6 et la propriété1.4 sur le produit extérieur, ondéduit le corollaire suivant.

Corollaire 1.8 Soit n la dimension de E. L’ensemble des multivecteurs homogènes d’ordre k est un

Page 34: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

22 Chapitre 1. Introduction à la structure des algèbres géométriques

sous-espace vectoriel de∧

(E), noté∧k(E), vérifiant les propriétés suivantes :

∧i(E) =

i︷ ︸︸ ︷E∧ ·· ·∧E∧i(E) = {0} pour tout i> n

(∧i(E))∧ (

∧ j(E)) =∧i+ j(E)

∧(E) =

n⊕

i=0

∧i(E)

dim∧i(E) = Ci

n

dim∧

(E) =n

∑i=0

Cin = 2n

Par exemple, pourE = R3, de base(e1,e2,e3), une base de∧

(R3) est la famille :

(17,e1,e2,e3,e1∧e2,e1∧e3,e2∧e3,e1∧e2∧e3)

Nous avons en outre :

(17) est une base de∧0(E)

(e1,e2,e3) est une base de∧1(E)

(e1∧e2,e1∧e3,e2∧e3) est une base de∧2(E)

(e1∧e2∧e3) est une base de∧3(E)

Nous énonçons maintenant un corollaire et une définition, souvent utiles en pratique.

Corollaire 1.9 Soit l’algèbre de Grassmann∧

(E), sur l’espace vectoriel E de dimension n. Pour tout kdans[0;n], il existe un morphisme bijectif de

∧k(E) dans∧n−k(E).

DémonstrationPour tout k∈ [0;n],

∧k(E) et∧n−k(E) sont deux espaces réels de dimension Ck

n = Cn−kn .

Définition 1.7 Soit l’algèbre de Grassmann∧

(E), sur l’espace vectoriel E de dimension n. On appellepseudoscalaire, que l’on noteIn, l’unique n-vecteur, à un facteur près non nul, générateur de l’espace∧n(E) de dimension1.

La définition d’une bijection entre∧n(E) et

∧0(E)≃ R revient à fixer un pseudoscalaire unitaire.

1.2.4 Décomposabilité des multivecteurs

Comme pour l’algèbre tensorielle, il est possible de définirun critère de décomposabilité des multivec-teurs. Toutefois, ce critère possède une particularité dans l’algèbre de Grassmann : il permet d’interpréterles multivecteurs comme des sous-espaces vectoriels deE. C’est ce que nous allons démontrer dans lasuite de cette section.

Définition 1.8 Un multivecteur M estdécomposablesi et seulement s’il existe une famille de vecteurs(x1, . . . ,xp) de E, telle que M= x1∧ . . .∧xp. La famille(x1, . . . ,xp) est unedécompositionde M.

Page 35: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 23

α1x1

α2x2x1

x2

x

(a) L’ensemble des vecteursx = α1x1 + α2x2, linéaire-ment dépendant dex1 et de x2, déterminent le sous-espace vectoriel généré parx1 et x2. Ils vérifient l’équa-tion x∧x1∧x2 = α1x1∧x1∧x2 +α2x2∧x1∧x2 = 0.

x1

x2

x

(b) Le vecteurx est linéairement indépendant dex1 etde x2. Le produit x∧ x1 ∧ x2 est un 3-vecteur non nul,déterminant l’unique sous-espace généré parx, x1 et x2.

FIG. 1.1 – Expression de la dépendance linéaire à l’aide du produit extérieur. L’ensemble des vecteursxvérifiantx∧M = 0, pour tout multivecteur décomposableM, est un sous-espace vectoriel, généré par lesvecteurs contenus dans toute décomposition deM.

Représentation algébrique des sous-espaces vectoriels deE dans∧

(E)

Le critère de décomposabilité décrit l’un des intérêts principaux de l’algèbre de Grassmann en géométrie.En effet, le produit extérieur permet d’exprimer la notion de dépendance linéaire par une équation et, parextension, de représenter des sous-espaces vectoriels deE par des termes de l’algèbre. Nous donnonsdans un premier temps le théorème et sa démonstration, puis,dans un second temps, les conséquencesde ce résultat en géométrie.

Théorème 1.1Soit M= x1∧ . . .∧ xp un multivecteur décomposable de∧

(E). Si M est non nul, alorsl’ensemble des vecteurs x de E vérifiant x∧M = 0 décrit un sous-espace vectoriel de E, dont la famille(x1, . . . ,xp) est une base.

DémonstrationSoit x un vecteur de E, contenu dans le sous-espace généré parla famille (x1, . . . ,xp) (cf. fi-gure 1.1(a)). Le vecteur x peut donc s’écrire comme une combinaison linéaire ∑p

i=1 αixi desvecteurs de la famille. Par distribution du produit extérieur sur l’addition, nous avons x∧M =

∑αxi ∧M. Dans chaque termeαxi ∧M, le vecteur xi est présent deux fois, car par hypothèse,M = ∧p

i=1xi . Par anticommutativité du produit, on déduitαxi ∧M = 0 pour tout i∈ [1;p], et parconséquent x∧M = 0.Inversement, si x est linéairement indépendant des xi , pour i dans [1;p], alors la famille(x,x1, . . . ,xp) est libre et peut être complétée pour obtenir une base de E. Comme l’algèbre peutêtre générée par cette base et l’unité17, le multivecteur x∧x1∧ . . .∧xp est donc un élémentnonnul de la base des(p+1)-vecteurs (cf. figure1.1(b)). Le nouveau multivecteur x∧x1∧ . . .∧xp estalors un terme représentant l’unique sous-espace vectoriel généré par les vecteurs(x,x1, . . . ,xp).�

Ce théorème montre qu’il est possible de définir une surjection des multivecteurs décomposables nonnuls de

∧(E) dans l’ensemble des sous-espaces vectoriels deE. C’est-à-dire que les multivecteursM =

Page 36: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

24 Chapitre 1. Introduction à la structure des algèbres géométriques

λm1∧ . . .∧mp, pour toute valeur deλ ∈R\{0}, représentent l’unique sous-espace deE dont la famille(m1, . . . ,mp) est une base.

D’une autre manière, on peut voir les multivecteurs décomposables comme une généralisation des vec-teurs deE. Pour illustrer cet aspect, considérons deux vecteursa etb deE. De tels vecteurs sont habituel-lement représentés comme des portions orientées de sous-espaces vectoriels de dimension 1, c’est-à-direpar une «flèche» indiquant une direction, une orientation etune norme (figure1.2(a)). De la même façon,le multivecteura∧b, peut être vu comme une portion orientée du sous-espace de dimension 2 généré para et b. Encore une fois, nous avons une direction, qui définit de manière unique le sous-espace vectorielreprésenté, une orientation et une norme (figure1.2(b)). L’orientation est représentée par le changementde signe dea ou deb, ou encore par une permutation des vecteurs dans le produita∧b, changeant à lafois l’orientation de la portion du 2-sous-espace représenté, et le signe du multivecteura∧ b, par anti-commutativité du produit extérieur. Quant à la norme, on peut la voir comme l’aire du parallélogrammedécrit para et b. En général, un multivecteur non nul, décomposable d’ordrek, peut être représentécomme une portion orientée duk-sous-espace vectoriel deE généré par les vecteurs contenus dans unedécomposition du multivecteur.

a

(a) 1-vecteur, détermine une portionorientée de 1-sous-espace vectoriel.

a

b

a∧b

(b) 2-vecteur, détermine une portion orientée de 2-sous-espace vecto-riel.

c

b

a

a∧b∧c

(c) 3-vecteur, détermine une portion orientée de 3-sous-espacevectoriel.

FIG. 1.2 – Interprétation des multivecteurs décomposables de∧

(R3) comme des portions orientées desous-espaces vectoriels deR3.

Notion de variété de Grassmann

L’ensemble des multivecteurs non nuls, décomposables d’ordre p, représentent donc dans∧

(E) l’en-semble des sous-espaces vectoriels de dimensionp dansE, pour toutp ∈ [0;n]. Ces multivecteurs dé-

Page 37: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 25

composables donnent une représentation algébrique des variétés de Grassmann (définition1.9).

Définition 1.9 L’ensemble de tous les sous-espaces vectoriels de dimension k,0≤ k≤ n, dans un espacevectoriel réel E de dimension n, décrit une variété projective généralement non linéaire de l’espaceP(∧k(E)) (cf. annexeB.2), appeléevariété de Grassmannou grassmannienneet notée GR(k,n). Les

points de cette variété ont pour représentants homogènes les k-vecteurs décomposables non nuls de∧k(E).

Par exemple, les 1-vecteurs sont tous immédiatement décomposables. La GrassmannienneG1n(R) cor-

respond précisément à l’espace projectifPn. Cette notion de variété de Grassmann est importante. Ellessont notamment une des notions importantes du calcul de la visibilité globale présenté dans le chapitre5.

Expression de l’incidence des sous-espaces deE dans∧

(E)

La signification du théorème1.1peut être étendue, de manière plus générale, à la notion de dépendancelinéaire entre les sous-espaces deE. Ainsi, nous avons la propriété suivante.

Propriété 1.6 SoientA et B deux sous-espaces vectoriels de E, représentées respectivement par lesmultivecteurs décomposables A et B de

∧(E). Les sous-espacesA etB possède un sous-espace commun

si et seulement si le multivecteur A∧B est nul.

DémonstrationSoient(a1, . . . ,ap) et (b1, . . . ,bq), respectivement une base du sous-espaceA et du sous-espaceB.D’après le théorème1.1, nous avons A= a1∧ . . .∧ ap et B= b1∧ . . .∧ bq, à un facteur près. SiA et B ont un sous-espace commun alors la famille formée par l’union des bases deA et B estliée. Par conséquent, le produit A∧B= a1∧ . . .∧ap∧b1∧ . . .∧bq est nul. La réciproque est aussiimmédiatement vraie.�

Notons enfin que le théorème1.1et la propriété1.6représentent l’un des principaux intérêts de l’algèbrede Grassmann. Nous reviendrons sur leurs intérêts dans le paragraphe1.2.6.

1.2.5 La contraction dans l’algèbre de Grassmann

Ce paragraphe présente un opérateur de contraction dans l’algèbre de Grassmann, obtenu à partir de lacontraction de l’algèbre tensorielle et des propriétés desalgèbres quotientes. La définition qui suit estéquivalente à l’opérateur d’annihilation présenté dans [Cru90]. Nous en proposons une interprétation,ainsi qu’une démonstration qui permet de la déterminer.

À tout multivecteur décomposableM = x1∧ . . .∧ xp de∧p(E), on peut associer de manière canonique

le tenseurMσ = ∑σ εσ (xσ(1)⊗ . . .⊗ xσ(p)) de⊗

p(E). La somme précédente se fait sur l’ensemble despermutationsσ de la suite 1, . . . , p.

L’application qui àM associeMσ est linéaire et injective de∧

(E) dans⊗

(E). Nous pouvons alorsdéfinir la contraction, à partir de la contraction tensorielle (cf. §1.1.3), de la manière suivante.

Page 38: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

26 Chapitre 1. Introduction à la structure des algèbres géométriques

Définition 1.10 La contraction d’un multivecteur M= x1∧ . . .∧ xp par une forme linéaireφ de E∗ estdéfinie par :

〈φ ,M〉= ρ7

(C1

φ (Mσ ))

= ∑σ

εσ ρ7

(C1

φ (xσ(1)⊗ . . .⊗xσ(p)))

= ∑σ

εσ φ(xσ(1))xσ(2)∧ . . .∧xσ(p)

Cette définition s’étend alors à tout multivecteur par linéarité.

De la définition1.10de la contraction dans∧

(E), on peut montrer la propriété suivante.

Propriété 1.7 La contraction d’un multivecteur M d’ordre k dans∧

(E), par une forme linéaire de E∗,est un multivecteur M′ d’ordre k−1. De plus, si M est décomposable, alors M′ est aussi décomposable.

La démonstration de cette propriété fournit, de plus, l’interprétation suivante de la contraction.

Corollaire 1.10 Soient un multivecteur M, décomposable d’ordre k dans∧

(E) et représentant un k-sous-espaceM de E, et une forme linéaireφ de E∗, de noyauker(φ) = {x∈E|φ(x) = 0}. La contractionde M parφ donne, selon le cas :– Le multivecteur nul siM∩ker(φ) =M– Un multivecteur M′, décomposable d’ordre k− 1, représentant le sous-espaceM∩ ker(φ), siM∩

ker(φ) 6=M.

Démonstration de la propriété1.7Considérons le noyauker(φ) = {x∈E|φ(x) = 0} de la forme linéaireφ . Ce noyau est un hyperplande E, c’est-à-dire un(n−1)-sous-espace vectoriel de E.

Soient M un multivecteur décomposable d’ordre k etM le sous-espace vectoriel de E qu’il repré-sente. SoitB = (m1, . . . ,mk′) une base deM∩ker(φ). Comme le noyau est un hyperplan, soit k′

est égal à k siM∩ker(φ) =M, soit k′ est égal à k−1 siM∩ker(φ)⊂M. Dans le premier cas,la baseB est une base deM. Depuis le théorème1.1, on déduit M= λm1∧ . . .∧mk′, λ ∈R. Dansle second cas, on peut étendre la baseB avec un vecteur m pour obtenir une base deM, auquelcas M= λm1∧ . . .∧mk′ ∧m.

La contraction〈φ ,M〉 donne donc, selon le cas :

1. 〈φ ,λm1∧ . . .∧mk′〉= 0, car φ(mi) = 0, i = 1. . .k′, par définition.

2. 〈φ ,λm1∧ . . .∧mk′ ∧m〉= (−1)kλφ(m)m1∧ . . .∧mk′.

Ainsi, le résultat de la contraction de M par la formeφ est nul siM⊂ ker(φ), et non nul siM 6⊂ker(φ). Dans ce dernier cas, le multivecteur résultant est en outredécomposable et représentel’intersectionM∩ker(φ) entre le sous-espaceM et le noyau de l’applicationφ dans E. Enfin, demanière évidente,〈φ ,〈φ ,M〉〉 = 0.�

L’opérateur de contraction ainsi défini est proche, conceptuellement, d’unproduit internede deux mul-tivecteurs, introduit dans les textes applicatifs et appelé contraction à droite[Dor02]. Toutefois, la défi-nition du produit interne diffère de la contraction en raison d’une dépendance à une forme quadratiquesur l’espaceE. L’indépendance de la contraction présentée ci-dessus, relativement à une forme quadra-tique, peut parfois s’avérer utile. En particulier, la contraction peut être utilisée pour définir une opérationd’intersection de sous-espaces vectoriels, qui est une opération indépendante de la métrique. L’utilisa-tion du produit interne [BDP02] peut alors faire apparaître des cas particuliers pour les sous-espaces

Page 39: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.2. L’algèbre de Grassmann 27

quadratiques dégénérés (dont il existe des sous-espaces orthogonaux à tout l’espace ;cf. définitionA.26,page202).

À partir de la contraction de la définition1.10, nous définissons dans le paragraphe1.3.5, un opérateuréquivalent au produit interne que nous venons d’évoquer. Nous en donnerons alors une interprétationrigoureuse.

Enfin, à titre d’exemple d’utilisation de la contraction dans l’algèbre de Grassmann, nous démontronsune propriété à l’aide de celle-ci. Cette propriété est notamment utile à la détermination d’une base del’algèbre (cf. §1.2.3).

Propriété 1.8 Soit(e1, . . . ,en) une base de E. Les multivecteurs17∧ei1∧ . . .∧eik, 1≤ i1 < .. . < ik ≤ net k≥ 0, sont tous non nuls.

DémonstrationSelon les propriétés1.2et1.3, le 0-vecteur17 ainsi que les1-vecteurs(ei)i=1...n sont non nuls.

Supposons maintenant que les produits ei1 ∧ei2 ∧ . . .∧eik, 1≤ i1 < .. . < ik ≤ n et0≤ k≤ l sonttous non nuls, pour l< n et l≥ 1. Montrons que cette propriété est vraie pour k≤ l +1.

Soient M= ei1 ∧ei2 ∧ . . .∧eil+1, le produit de l+1 vecteurs de E,1≤ i1 < .. . < i l+1 ≤ n, et e∗i laforme linéaire définie par e∗i (ej) = 1 si i = j, e∗i (ej) = 0 si i 6= j. Il faut montrer que M est non nul.Nous avons :

〈e∗i1,M〉= e∗i1(ei1)ei2 ∧ . . .∧eil+1

Tous les autres termes de la somme sont nuls, car e∗i1(ei j ) = 0, j 6= 1, par définition. Or, e∗i1(ei1) = 1

est non nul, par définition, et ei2 ∧ . . .∧eil+1 est un produit de l vecteurs de la base de E, non nulpar hypothèse. On en déduit que M est non nul.

Ainsi, par récurrence, tous les multivecteurs17∧ei1∧ . . .∧eik, 1≤ i1 < .. . < ik≤ n et k≥ 0, sontnon nuls.�

1.2.6 Récapitulatif

Pour conclure sur l’algèbre de Grassmann, nous rappelons ces propriétés fondamentales.

L’algèbre de Grassmann permet unegénéralisationde la notion de vecteurs à desmultivecteurs. Cettegénéralisation est fondée sur un produit anticommutatif, capable de donner une description algébrique(par une équation) de la dépendance linéaire des vecteurs d’un espace vectorielE. Elle procure, par cetteinterprétation algébrique, un formalisme pour représenter et calculersur des sous-espaces vectoriels, demanière intuitive et symbolique, par des termes de l’algèbre et des opérations sur ces termes.

Cette caractéristique de l’algèbre de Grassmann est fondamentale. Elle autorise un passage efficace d’unraisonnement abstrait sur des espaces vectoriels à une expression algébrique de ce raisonnement et àsoncalcul, par évaluation des termes algébriques. Cette capacité à exprimer facilement et de manièreformelle des raisonnements sur des espaces vectoriels permettra de spécifier un calcul de visibilité entoute dimension, dans des espaces dont la dimension interdit l’utilisation d’un raisonnement fondé surl’observation(voir chapitre5).

L’algèbre de Clifford, présentée dans la section suivante,apporte à l’algèbre de Grassmann la possibilitéde définir destransformationsévoluées sur les sous-espaces vectoriels deE, comme les rotations, essen-tielles en géométrie. Toutefois, la définition de ces opérations sur les sous-espaces vectoriels nécessite

Page 40: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

28 Chapitre 1. Introduction à la structure des algèbres géométriques

de faire «cohabiter» ces deux algèbres pour à la fois représenter les sous-espaces puis les transformer.L’exposé qui suit s’efforce notamment d’expliquer commentet pourquoi cette cohabitation est possible.

1.3 L’algèbre de Clifford

L’algèbre de Clifford a été introduite par le mathématicienanglais William K. Clifford à la fin duXIXème

siècle, après les algèbres de Grassmann [Cli76]. Son intérêt en géométrie vient de la possibilité de re-présenter le groupe des transformations orthogonales (lesisométries) de tout espace quadratique (espacevectoriel muni d’une forme quadratique) par des termes inversibles dans l’algèbre [Che96, Cru90]. Cesisométries regroupent les symétries (relativement à des hyperplans3) et les rotations. Cette particularité del’algèbre de Clifford rend son utilisation intensive en cosmologie et en physique quantique notamment,où beaucoup de propriétés s’expriment par des symétries [dT05].

1.3.1 Intuition et avantages de l’algèbre de Clifford

L’utilisation de l’algèbre de Clifford en infographie est particulièrement intéressante puisqu’elle proposeune interprétation ainsi qu’une généralisation des nombres complexes et des quaternions, souvent utilisésen traitement de signaux et en modélisation géométrique pour exprimer des rotations. Cette généralisa-tion concerne autant la dimension de l’espace dans lequel sont définies les rotations que la dimension del’espace auquel s’applique la rotation.

Prenons l’exemple, à titre d’introduction, des symétries dans le plan complexeR⊕ iR, muni d’une base(1, i). Soient deux vecteursx = x1 + ix2 et y = y1 + iy2 du plan complexe (voir figure1.3). En notantc = c1− ic2 le conjugué d’un complexec = c1 + ic2, la symétrie dex par rapport ày se calcule par lesproduits de nombres complexes suivants4 :

yxyyy

=−x+2(y1x1 +y2x2)y

yy

Où yy = y21 + y2

2. Le résultat de cette expression correspond alors à la symétrie par rapport ày, dans leplan euclidien (voir définitionA.29, page203).

Considérons maintenant le plan euclidienR2, de base(e1,e2) et de produit scalaire «·». Exprimer cettesymétrie dans le plan euclidienR2, par une expression similairesy(x) = yxy

y·y , revient à définir une algèbreparticulière où le produit de deux vecteurs, que l’on noteraici ∗, est défini de la manière suivante :

e1∗e1 = 1 1∗e2 = e2∗1 = e2

e1∗e2 = −e2∗e1 = i 1∗ i = i ∗1 = ie2∗e2 = 1 i ∗e1 = −e1∗ i = −e2

1∗1 = 1 i ∗e2 = −e2∗ i = e1

1∗e1 = e1∗1 = e1 i ∗ i = −1

(1.4)

On remarque alors que le produit de deux vecteurs donne des nombres 1 eti, qui ont les mêmes propriétésque les nombres complexes et doivent être ajoutés parmi les éléments de l’algèbre, bien que ceux-ci ne

3Les symétries étudiées dans ce chapitre sont toujours définies relativement à un hyperplan. Le terme «symétrie» sera doncadmis, plutôt que «réflexion», selon la terminologie utilisée dans [Che96].

4Les calculs ne sont pas détaillés, mais peuvent être retrouvés aisément.

Page 41: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 29

x

y

R

iR

yxyyy

FIG. 1.3 – Symétries dans le plan euclidien, exprimées à partir du plan complexe. La symétrie d’unvecteurx du plan par rapport à un vecteury du plan est le vecteurx′ = yxy.

sont pas dans le plan euclidienR2. On peut voir cela comme la définition d’une algèbre surR2⊕C.On peut alors vérifier que le produityxy

y·y , avecy = y1e1 + y2e2 et x = x1e1 + x2e2, donne exactementl’expression du vecteursy(x) dans le plane1,e2.

L’algèbre ainsi définie est associative, unitaire, d’unité1, et de dimension 4. Cette algèbre correspondprécisément à l’algèbre de Clifford surR2. On remarque alors que sa définition analytique n’est pasintuitive et que la généralisation des nombres complexes aux dimensions quelconques s’avère être unetâche difficile, d’un point de vue analytique. La raison est que cette représentation est détachée de touteinterprétation : on ne sait pas la signification algébrique du nombre complexei.

La définition qui suit de l’algèbre de Clifford est générale pour tout espace quadratique (i.e. muni d’uneforme quadratique ou de manière équivalente d’une forme bilinéaire symétrique), quelque soit sa di-mension et qu’il soit euclidien ou non. Nous utilisons pour cela une algèbre quotiente de l’algèbre ten-sorielle, comme pour l’algèbre de Grassmann. Ce point de vuealgébrique, détaché des coordonnées,permettra dans le paragraphe1.3.6, une représentation algébrique générale des symétries, endimensionquelconque.

1.3.2 Définition

L’algèbre de Clifford se distingue de l’algèbre de Grassmann par l’introduction d’une forme quadratiquedeE, i.e.une applicationQ deE dansR, qui vérifieQ(λx) = λ 2Q(x) (cf. annexeA.2.3).

SoientE, unn-espace vectoriel surR, muni d’une forme quadratiqueQ, etI l’idéal bilatère de l’algèbretensorielle

⊗(E), généré par les tenseurs de la forme5 x⊗x−Q(x), pour toutx dansE. Cela correspond

à l’ensemble des tenseurs de⊗

(E) de la formeA⊗ (x⊗x−Q(x))⊗B, où A et B sont deux tenseursquelconques (cf. annexeA.3.1, définitionA.33).

Définition 1.11 L’algèbre de CliffordC(E) est le quotient de l’algèbre tensorielle⊗

(E) par l’idéal I :

C(E) =⊗

(E)/I

L’algèbre de Clifford est donc une algèbre associative unitaire. Pour se conformer aux notations standard,

5Notons l’introduction de la forme quadratiqueQ, dans les générateurs de l’idéalI, par rapport à l’idéalI7 utilisé pourdéfinir l’algèbre de Grassmann (cf. définition1.5, page18)

Page 42: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

30 Chapitre 1. Introduction à la structure des algèbres géométriques

le produit de Clifford sera utilisé en juxtaposant les deux opérandes. Par exemple, le produit de Cliffordde deux vecteursa etb deE sera notéab.

1.3.3 Propriétés immédiates

Comme dans le cas de l’algèbre de Grassmann, nous utilisons la surjection canoniqueρ de⊗

(E) dansC(E), qui associe chaque élément de

⊗(E) à sa classe d’équivalence correspondante dansC(E), pour

isoler un certain nombre de propriétés de l’algèbre et de sonproduit.

Identification de E et R dansC(E)

Propriété 1.9 La restriction de la surjectionρ à E≃⊗1(E) et àR≃⊗0(E) est bijective.

DémonstrationLa démonstration est analogue aux démonstrations des propriétés1.2et1.3.�

On en déduit alors le corollaire suivant.

Corollaire 1.11 L’espace E et l’espace des scalaires peuvent être identifiésrespectivement àρ(E) et àρ(R) dansC(E).

Propriétés du produit de Clifford

Propriété 1.10 En notantB la forme bilinéaire associée àQ dans E, le produit de Clifford vérifie, pourtout vecteur x et y de E, les équations :

x2 = Q(x), pour tout x dans E (1.5)

xy+yx = 2B(x,y) (1.6)

DémonstrationConsidérons le tenseur x⊗ x−Q(x) ∈ I. Par définition du quotient et en identifiant les scalaireset les vecteurs de E dans l’algèbre, nous avons :

ρ(x⊗x−Q(x)) = ρ(x)ρ(x)−ρ(Q(x))= xx−Q(x)= 0

On en déduit l’équation(1.5).

En remplaçant dans l’équation(1.5), x par x+y, pour tout(x,y) de E2, nous obtenons :

(x+y)2 = Q(x+y)(x+y)2 = x2 +xy+yx+y2

= Q(x)+Q(y)+xy+yx

En considérantB(x,y) = 12(Q(x+y)−Q(x)−Q(y)), la forme bilinéaire associée àQ, on déduit

l’équation (1.6).�

Page 43: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 31

De la propriété1.10, nous déduisons les propriétés immédiates du produit de Clifford dans une baseorthogonale deE.

Corollaire 1.12 Soit(e1, . . . ,en) une base orthogonale de E relativement à la forme quadratiqueQ, i.e.B(ei,ej) = 0 si i 6= j. Des équations(1.5) et (1.6), on déduit :

eiei = Q(ei) (1.7)

eiej = −ejei , si i 6= j (1.8)

Ce sont les seules propriétés immédiates du produit de Clifford. Aussi nous limitons-nous pour le momentà celles-ci, bien qu’elles ne permettent pas immédiatementune bonne compréhension des intérêts del’algèbre de Clifford en géométrie. Toutefois, celles-ci nous serviront dans le paragraphe1.3.4 pourdéterminer le lien entre l’algèbre de Clifford et l’algèbrede Grassmann, ou pour spécifier un calculdu produit de Clifford plusalgorithmique. Elles serviront également à montrer comment calculer desrotations de vecteurs et plus généralement de sous-espacesvectoriels avec le produit de Clifford.

L’espace de l’algèbreC(E)

Du corollaire1.11, nous déduisons le corollaire suivant.

Corollaire 1.13 L’algèbre tensorielle étant associative unitaire, d’unité 1⊗, générée par1⊗ et une basede E, l’algèbre de CliffordC(E) est naturellement associative unitaire, d’unité1 = ρ(1⊗), générée parl’unité 1 et une base deρ(E)≃ E.

Nous avons en outre la propriété essentielle suivante.

Propriété 1.11 Il existe un isomorphisme d’espace vectoriel entre l’espace de l’algèbre de CliffordC(E), sur l’espace E, et l’espace des multivecteurs de l’algèbrede Grassmann

∧(E).

Nous exposons ici uniquement les points principaux d’une démonstration possible de cette propriété,analogue à la démonstration de la propriété1.5, page20, dans l’algèbre de Grassmann. La démonstrationsuivante n’est valide que pour les algèbres non dégénérées (pour les espaces quadratiquesE dont la formequadratique n’est pas dégénérée). Une autre démonstrationplus générale peut être trouvée dans [Cru90].

DémonstrationSoit (e1, . . . ,en) une base orthogonale de E, relativement à la formeQ. Nous savons qu’il existeau moins une base orthogonale dans E. D’après le corollaire1.13 et le corollaire 1.12 sur lespropriétés du produit de Clifford dans une base orthogonale, nous pouvons montrer que les multi-vecteurs1ei1ei2 . . .eik, pour toute suite(i j) j=1...k, 1≤ i1 < i2 < .. . < ik ≤ n et k≥ 0, forment unebase de l’algèbreC(E). Pour cela, nous procédons de la même manière que pour la démonstrationde la propriété1.5. Dans le cas de l’algèbre de Clifford, la contraction utilisée pour démontrerque les éléments de la base sont tous non nuls est la contraction de Clifford définie dans le para-graphe1.3.5.

On déduit alors que l’applicationθ , qui associe à tout multivecteur M= ei1 ∧ei2 ∧ . . .∧eik de labase de

∧(E), l’élémentθ(M) = ei1ei2 . . .eik est un morphisme bijectif d’espace vectoriel entre

l’espace de l’algèbre∧

(E) et l’espace de l’algèbreC(E).�

Page 44: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

32 Chapitre 1. Introduction à la structure des algèbres géométriques

Nous définissons alors le morphisme canonique, défini de manière unique à partir d’une base deE.

Définition 1.12 SoitB : (e1, . . . ,en) une base de E. L’isomorphisme canoniqueΘB, déduit de la baseB, est l’isomorphisme d’espace vectoriel de

∧(E) dansC(E) défini, pour toute suite(i j) j=1...k, 1≤ i1 <

i2 < .. . < ik ≤ n et k≥ 0, par :

ΘB(17) = 1ΘB(ei1 ∧ . . .∧eik) = ei1 . . .eik

Le morphismeΘB transforme la base de∧

(E) déduite de la baseB en une base deC(E) égalementdéduite de la baseB. Il est alors étendu à tout multivecteur par linéarité.

Notons que le morphismeΘB n’est pas un morphisme d’algèbre. Il ne vérifie pasΘB(M ∧M′) =ΘB(M)ΘB(M′) pour tous multivecteursM etM′ de

∧(E).

Ainsi, suivant les notations utilisées dans la littératureapplicative, nous conviendrons que l’espace del’algèbre de Clifford est l’espace des multivecteurs de l’algèbre de Grassmann. Nous noterons les élé-ments de la base en utilisant le produit de Grassmann plutôt que le produit de Clifford et en l’absenced’ambiguïté, l’unité sera notée 1.

Dans le but d’être cohérent dans notre démarche, le paragraphe1.3.4montre comment déterminer le pro-duit de Clifford à partir d’opérations dans l’algèbre de Grassmann. À nouveau, cette manière d’exprimerle produit d’une algèbre dans l’autre est fondamentale. Elle permet d’utiliser les deux algèbres dans unmême formalisme et ainsi de bénéficier des intérêts des deux algèbres de Grassmann et de Clifford.

1.3.4 Définition d’une conjonction de∧

(E) et C(E)

Ce paragraphe présente la conjonction existante entre les deux algèbres géométriques. Cette conjonc-tion est introduite de manière différente dans la littérature mathématique et a l’avantage d’être définieindépendamment de toute base de l’algèbre [Cru90]. Notre approche utilise une telle base bien que laconjonction en soit indépendante. Elle est en particulier valide pour toute algèbre de Clifford construitesur un espace vectoriel, cas auquel nous nous limitons, et est en outre plus simple et à comprendre.

Pour définir la conjonction entre les deux algèbres de Grassmann et de Clifford, nous utilisons une baseorthogonale de l’espace générateurE. En effet, tout espace quadratique possède au moins une baseor-thogonale, dans laquelle le produit de Clifford possède despropriétés remarquables (cf. corollaire1.12).

Théorème 1.2SoientB⊥ : (e1, . . . ,en) une base orthogonale de E,Θ⊥ :∧

(E)→ C(E) le morphismecanonique déduit de la baseB⊥ (cf. définition1.12), x un vecteur de E, M un multivecteur de

∧(E) et

x∗, la forme linéaire sur E déduite de x par x∗ : y 7→ B(x,y), pour tout y∈ E.

Le produit de Clifford du vecteur x avec le multivecteur M vérifie6 :

Θ⊥(x(Θ⊥−1

(M))) = x∧M + 〈x∗,M〉 (1.9)

DémonstrationPour montrer le résultat de l’ équation(1.9), il suffit de montrer que c’est vrai pour tout vecteurei de la base orthogonaleB⊥ de E et pour tout élément de la base de

∧(E) déduite de la base

6Notons que le vecteurx ∈ E est dansC(E) à gauche de l’égalité et dans∧

(E) à droite. Comme ils sont identiques parisomorphisme, nous ne les distinguons pas.

Page 45: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 33

B⊥. En effet, le morphismeΘ⊥ est linéaire, par définition. La vérification sur une base de Eetune base de

∧(E) s’étend alors à tout vecteur de E et tout multivecteur de

∧(E).

Prenons par exemple le produit de Clifford de e2 par le multivecteur e1∧ e2∧ e3. À partir deséquations(1.7) et (1.8), la partie gauche de l’égalité dans l’équation(1.9) donne :

e2Θ⊥−1(e1∧e2∧e3) = e2e1e2e3

= −e2e2e1e3

= −B(e2,e2)e1e3

= Θ⊥−1(−Q(e2)e1∧e3)

La partie droite de l’équation(1.9) donne quant à elle le calcul suivant :

e2∧e1∧e2∧e3+ 〈e∗2,e1∧e2∧e3〉 = 0+B(e2,e1)e2∧e3−B(e2,e2)e1∧e3+B(e2,e3)e1∧e2

= −B(e2,e2)e1∧e3

= −Q(e2)e1∧e3

C’est-à-dire le même résultat que pour la partie gauche. La vérification de l’égalité est analoguepour tout type de produit entre un vecteur de la base de E et un multivecteur de la base de

∧(E).

Dans [Cru90], l’introduction du morphismeΘ⊥ est différente. Il y est défini indépendamment de toutebase deE, à partir de deux opérateurs decréationet d’annihilation. De manière équivalente, il est im-portant de noter que la définition du morphismeΘ⊥, dans notre approche, utilise une base orthogonale,mais est indépendante de celle choisie. En effet, les propriétés décrites ci-dessus sont valables pour toutebase orthogonale. Le morphismeΘ⊥ dépend en fait uniquement de la forme quadratique surE.

Crumeyrolle présente cette correspondance comme une méthodealgorithmiquequi décrit, pas à pas, lecalcul du produit de Clifford dans

∧(E) et inversement [Cru90]. On remarque effectivement que tous

les calculs à droite de l’égalité (1.9), se font dans∧

(E), tandis que les membresx et M à gauche, sonttous les deux dans

∧(E) (carx est à la fois dans les deux algèbres, par identification deE dans celles-ci).

Par conséquent, il est possible de dérouler entièrement lescalculs de l’algèbre de Clifford dans l’algèbrede Grassmann

∧(E). Cela explique pourquoi, dans la littérature applicative,les produits de Clifford

sont effectués dans∧

(E), le morphismeΘ⊥ n’apparaissant pas explicitement. Par exemple, pourM = ydansE, nous obtenons la formule que l’on retrouve comme une des propriétés principales du produit deClifford dans la bibliographie applicative :

xy= x∧y+B(x,y) (1.10)

Enfin, cette technique est essentielle pour deux raisons. D’une part, elle permet de dérouler les calculsdes deux algèbres dans une seule. Autrement dit, un seul et même cadre algébrique est nécessaire pourreprésenter des sous-espaces deE et des opérations sur ces sous-espaces, en profitant des intérêts desdeux algèbres. D’autre part, cette description du produit de Clifford de manièrecalculatoire fait des al-gèbres de Clifford un outil utilisable, praticable en informatique, ce qui est finalement un de nos objectifsprincipaux. Nous utiliserons cette propriété dans la suitepour élaborer des démonstrations.

1.3.5 Une nouvelle approche de l’orthogonalité dansE

L’équation (1.9) utilise la contraction dans l’algèbre∧

(E) à partir d’une forme linéairex∗ (cf. §1.2.5),déduite d’un vecteurx et de la forme bilinéaireB de E. Cette particularité peut être généralisée à unevariante de l’opérateur de contraction, définie comme suit.

Page 46: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

34 Chapitre 1. Introduction à la structure des algèbres géométriques

Définition 1.13 Soient deux multivecteurs X= x1∧ . . .∧xp, décomposable, et M, quelconque, de∧

(E).La contraction orthogonaledu multivecteur M par le multivecteur X est l’opérateur〈,〉⊥ :

∧(E)×∧

(E)→ ∧(E), défini par :

〈X,M〉⊥ = 〈x∗1,〈. . . ,〈x∗p,M〉 . . .〉〉 (1.11)

Où (x∗i )i=1...p sont les formes linéaires telles que :

x∗i : E → R

y 7→ B(xi ,y)

L’équation(1.11) est étendue à tout multivecteur X par linéarité de la contraction dans∧

(E).

Cet opérateur de contraction, des multivecteurs vers les multivecteurs, correspond à lacontraction àgauche(left contraction) dans [Dor02]. Cet opérateur y est introduit comme un produit interne procurantune généralisation de la forme bilinéaireB, induite par la forme quadratique surE.

Nous préférons parler ici d’un opérateur plutôt que d’un produit. En effet, celui-ci n’est pas le produitd’une algèbre et n’est pas associatif. Il s’agit de plus d’unopérateur effectuant untraitementsur unmultivecteur à partir d’un autre, et non d’un opérateur global sur deux multivecteurs, sens que nousprêtons habituellement à un produit.

Concernant l’interprétation algébrique de la contraction, celle-ci n’est pas clairement définiedans [Dor02]. Le problème provient notamment de l’introduction du produit à partir d’un ensemblede propriétés qui ne permettent pas d’expliquer cette interprétation. Nous montrons ici une interprétationprécise de cet opérateur, à partir des propriétés de la contraction dans l’algèbre de Grassmann (cf. §1.2.5).Pour cela, nous commençons par montrer la propriété suivante.

Propriété 1.12 Soient(H1, . . . ,Hk) une famille d’hyperplans dans E et(h1, . . . ,hk) la famille des vec-teurs de E tels que hi est un vecteur générateur du conjugué deHi relativement à la formeB, pour touti dans[1;k], i.e.Hi = {x∈ E|B(x,hi) = 0}.Le conjugué de l’espace

⋃ki=1 hi , généré par la famille(hi)i=1...k, dans E et relativement àB, correspond

à l’intersection des hyperplans⋂k

i=1Hi, i.e. :(

k⋃

i=1

hi

)⊥=

k⋂

i=1

Hi

DémonstrationSoit v∩, un vecteur de

⋂ki=1Hi . Par hypothèse, nous avons :B(v,h j ) = 0, ∀ j ∈ [1;k].

Par conséquent, pour tout vecteur v∪ = ∑ki=1νihi de

⋃ki=1 hi et tout vecteur v∩ de

⋂ki=1Hi , nous

avons :B(v∪,v∩) = ∑k

i=1B(νihi ,v∩)= 0

i.e. v∩ ∈(⋃k

i=1 hi

)⊥. On déduit :

(⋃ki=1 hi

)⊥⊃⋂k

i=1Hi.

Inversement, soit v◦ ∈(⋃k

i=1 hi

)⊥, un vecteur quelconque dans l’orthogonal de l’union

⋃ki=1hi des

hi . En particulier, v◦ vérifie, pour tout hi de⋃k

i=1hi : B(v◦,hi) = 0, i.e. v◦ ∈⋂k

i=1Hi . On déduit :(⋃ki=1 hi

)⊥⊂⋂k

i=1Hi .

Page 47: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 35

Nous pouvons alors montrer l’interprétation suivante de lacontraction de deux multivecteurs de∧

E.

Propriété 1.13 Soient M= m1∧ . . .∧mk, X = x1∧ . . .∧xr deux multivecteurs décomposables de∧

(E),représentant respectivement les sous-espacesM de dimension k etX de dimension r.

La contraction〈X,M〉⊥ est le multivecteur nul sidim(M∩X⊥) > k− r, et est un multivecteur repré-sentant l’intersectionM∩X⊥, entreM et le sous-espace orthogonal deX , sinon. Dans le second cas,la dimension de l’intersection vérifiedim(M∩X⊥) = k− r.

DémonstrationPar définition, nous avons :

〈X,M〉⊥ = 〈x∗1,〈. . . ,〈x∗r ,M〉 . . .〉〉.

Or, pour tout vecteur x, le noyauker(x∗) est l’hyperplan conjugué x⊥ = {y∈E|B(x,y) = 0}. Ainsi,de l’interprétation de la contraction par une forme linéaire (cf. corollaire1.10), on déduit que lerésultat de la contraction〈xi ,M〉, s’il est non nul, est un multivecteur représentant l’intersectionentre le sous-espaceM et le conjugué x⊥i , pour tout i. Par induction, on montre aisément quela contraction〈X,M〉⊥, si elle est non nulle, représente l’ensemble des vecteurs de l’intersectionM∩

(⋂ri=1x⊥i

)des sous-espaces M et des hyperplans conjugués x⊥

i , pour tout i∈ {1, . . . , r}.D’après la propriété1.12, l’intersection des x⊥i correspond au conjugué X⊥ du sous-espace Xgénéré par les xi , pour tout i∈ {1, . . . , r}. Par conséquent, le résultat de la contraction〈X,M〉⊥,s’il est non nul, représente l’intersectionM∩X⊥. Le multivecteur〈X,M〉⊥ est immédiatementd’ordre k− r, car chaque contraction〈xi ,M〉 diminue l’ordre de M d’une unité. Le sous-espaceM∩X⊥ est donc de dimension k− r.

Supposons maintenant que le résultat〈X,M〉⊥ est nul. Dans ce cas, il existe au moins un j∈[1;r] pour lequel le résultat de la contraction〈x∗j ,〈x∗j+1,〈. . . ,〈x∗r ,M〉 . . .〉〉〉 s’annule. Dans ce cas,le corollaire 1.10 indique que le sous-espace représenté par〈x∗j+1,〈. . . ,〈x∗r ,M〉 . . .〉〉 est inclus

dans x⊥j .

Supposons que chaque contraction sur les x∗i est effectuée incrémentalement, sauf celles annulant

le résultat. Il en existe au moins une par hypothèse. Le résultat est un multivecteur non nul repré-sentant également l’intersectionM∩X⊥, car les contractions annulant le résultat ne restreignentpas davantage le sous-espaceM, ce sous-espace étant complètement contenu dans le noyau del’application annulant le résultat. Moins de r contractions sont nécessaires pour calculer ce résul-tat, car certaines contractions ont été ignorées. Ainsi, l’ordre du résultat est strictement supérieurà k− r, on déduit alors quedim(M∩X⊥) > k− r.

Inversement, supposonsdim(M∩X⊥) > k− r. Cela signifie que la dimension de l’espaceM\ (M∩X⊥) est de dimension strictement inférieure à r, i.e. moins de r contractions sont né-cessaires pour trouver l’intersectionM∩X⊥. Par conséquent, sur les r contractions, il en existeau moins une pour laquelle le multivecteur résultant des précédentes contractions représente unsous-espace complètement contenu dans le noyau de l’application utilisée dans la contraction.Ainsi, le terme〈X,M〉⊥ s’annule pour cette contraction.�

Pour illustrer l’utilisation de l’opérateur de contraction, nous montrons un résultat qui sera utile à lavalidation d’un algorithme pour le calcul de visibilité (cf. §6.2.3, page140). Ce résultat peut se formulerainsi.

Page 48: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

36 Chapitre 1. Introduction à la structure des algèbres géométriques

Théorème 1.3Dans un espace quadratique E, de dimension n et non dégénéré,le conjugué d’un sous-espace vectorielF de E, de dimension m≤ n, est un sous-espace vectorielF⊥ de E de dimension n−m.

L’application φ⊥, qui associe le sous-espace F à son conjugué F⊥ est une bijection de l’ensemble desm-sous-espaces de E dans les(n−m)-sous-espaces de E. En outre, si F est un multivecteur représentantF etIE est un pseudoscalaire de

∧(E), alors un multivecteur F⊥ représentantF⊥ est déterminé par7 :

F⊥ = 〈F,IE〉⊥

DémonstrationConsidérons une base orthogonale(e1, . . . ,en) de E. Nous avons alorsB(ei ,ej) = 0 si i 6= j etB(ei,ei) = λi , avecλi non nul (car la forme est non dégénérée par hypothèse). Générons, à partirde cette base, une base de l’algèbreC(E).

On remarque alors que pour toute sous-suite croissante de longueur p, B= i1, . . . , ip, 1≤ i1 < .. . <ip ≤ n, de la suite I= 1, . . . ,n, la contraction du pseudoscalaire eI = e1 · · ·en par eB = ei1 · · ·eip

donne :〈eB,eI 〉⊥ =±(Q(ei1) · · ·Q(eip))eB 6= 0

Où B est la sous-suite croissante de I, de longueur n− p, telle que B∩ B = /0 et B∪ B = I. Lerésultat est non nul, car eB est non nul, élément de la base deC(E), et lesQ(ei j ), i ∈ [1;p] sontnon nuls, par hypothèse. La contraction du pseudoscalaire eI définit donc une bijection de la basedeC(E) dans elle-même. Comme eI est décomposable, on déduit que tout multivecteur décompo-sable M= m1∧ . . .∧mp, d’ordre p, représentant un sous-espaceM de dimension p, donne parcontraction de eI , un multivecteur décomposable non nul〈M,eI 〉⊥ = M⊥ d’ordre m− p. Notonsque le pseudoscalaire eI est un représentant de l’espace E lui-même. Le multivecteurrésultat dela contraction étant non nul, on déduit qu’il représente, d’après la propriété1.13, l’intersectionE∩M⊥ = M⊥.

Ainsi, pour tout sous-espaceM de E et de dimension p, p∈ [1;n], le sous-espace orthogonalM⊥

est de dimension n− p, où n est la dimension de E. Ce sous-espace est représenté dans∧

(E) parla contraction d’un pseudoscalaire de

∧(E) sur un représentant du sous-espaceM.

1.3.6 Groupes de Clifford, inversibilité et groupe des isométries

Dans cette section, nous présentons l’un des intérêts principaux des algèbres de Clifford. Il s’agit de lareprésentation dansC(E), des transformations du groupe orthogonalO(E) (cf. annexeA.2.3), pour toutespace quadratiqueE. Ces transformations correspondent à des multivecteurs particuliers dansC(E),appartenant à des groupes multiplicatifs (la loi de groupe est la multiplication dans l’algèbre, voir an-nexeA.1), appelés groupes de Clifford.

Par exemple, l’algèbre des nombres complexes et l’algèbre des quaternions sont limitées aux rotationset aux symétries respectivement dans le plan et dans l’espace tridimensionnel, sont des cas particuliersd’une sous-algèbre de l’algèbre de Clifford.

7En réalité, ce principe est analogue à celui utilisé pour généraliser la notion de dualité dans un espace vectoriel, permettantd’associer bijectivement un vecteur, défini à un scalaire près, à un hyperplan vectoriel. Cette généralisation est aussi appeléedualité dans la littérature applicative et est également calculée par la contraction sur le pseudoscalaire. Notons toutefois quecette définition n’est valide que si la forme quadratiqueQ est non dégénérée, ce qui n’est généralement pas précisé dans lalittérature concernée (par ex. [MD02b]).

Page 49: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 37

Tout comme les complexes et les quaternions, l’algèbre de Clifford permet de décrire des compositionset des interpolations de transformations orthogonales [WL04]. Nous ne parlerons néanmoins pas icides interpolations. Nous discuterons en revanche, dans le chapitre suivant, d’un modèle d’interprétationgéométrique des algèbres où un grand nombre de transformations (rotations, symétries, translations ethomothéties) s’expriment par des symétries et des rotations, augmentant ainsi l’éventail des transforma-tions que l’on peut composer, interpoler et appliquer aux objets géométriques.

Nous donnons ici la définition du principal groupe de Clifford et la forme des éléments représentant desisométries. L’exposé qui suit reprend les définitions de [Cru90, Che96] puis complète les démonstrationsafin de rendre la lecture plus simple.

Le groupe de Clifford

Théorème 1.4Soient E un espace quadratique, de forme quadratiqueQ non dégénérée et de formebilinéaire associéeB, etC(E) l’algèbre de Clifford sur E. Soit G l’ensemble des éléments gdeC(E), telsque :

φg(x) = gxg−1 ∈ E, ∀x∈ E

est un automorphisme de E, i.e. une application linéaire bijective de E dans E. L’ensemble G est ungroupe multiplicatif deC(E) appelégroupe de Clifford.

DémonstrationMontrons queφg est un automorphisme de E, puis que G est un groupe multiplicatif dansC(E).

Clairement, par bilinéarité du produit de Clifford,φg est une application linéaire sur x. Pardéfinition, g−1g = gg−1 = 1. On a alors g−1gxg−1g = (φg−1 ◦ φg)(x) = 1x1 = x. On déduitφg(x) = 0⇒ x = 0, i.e. ker(φ) = {0}. L’application φg est donc une bijection de E dans E, etφg−1 = φ−1

g est l’application inverse.

Ainsi,φg est un automorphisme de E et g−1 est un élément de G, pour tout g dans G.

Soit g′ ∈G. On a immédiatement gg′g′−1g−1 = 1. Ainsi, gg′ possède un inverse(gg′)−1 = g′−1g−1,et gg′xg′−1g−1 = gyg−1 ∈ E, avec y= g′xg′−1 ∈ E par définition. On en déduit que gg′ et g′g, dela même manière, appartiennent à G.

Ainsi, l’ensemble G est un groupe pour la multiplication dans l’algèbre de CliffordC(E), dontl’élément neutre est l’unité1 de l’algèbre.�

Représentation des isométries deE dansC(E)

À partir de la définition du groupe de Clifford, on montre facilement la propriété suivante.

Propriété 1.14 L’automorphismeφg, pour tout élément g du groupe de Clifford G, est une isométrie deE, i.e. une transformation orthogonale deO(E) (cf. annexeA.2.3).

DémonstrationLes transformations orthogonales deO(E) sont, par définition, les transformations linéaires bi-jectivesφ , de E dans E, tels que pour tout x de E,Q(φ(x)) =Q(x).

Page 50: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

38 Chapitre 1. Introduction à la structure des algèbres géométriques

Or, d’après la définition de l’applicationφg, nous avons, pour tout g∈G :

Q(φg(x)) = Q(gxg−1)= (gxg−1)2 d’après l’équation(1.5)= gxg−1gxg−1

= gxxg−1

= x2gg−1

= Q(x)

Ainsi, pour tout g de G, l’applicationφg est une transformation deO(E).�

Rappelons que le groupe orthogonalO(E) contient l’ensemble des symétries et des rotations définiessurE. Nous montrons alors la propriété suivante.

Propriété 1.15 Tout vecteur a non isotrope de E, i.e.Q(a) 6= 0, est un élément de G. Son inverse est levecteur a−1 = a

Q(a) de E, et l’application−φa est la symétrie de E par rapport à l’hyperplan conjugué

a⊥ = {x∈ E|B(a,x) = 0}.DémonstrationSoit a un vecteur de E tel queQ(a) 6= 0. D’après l’équation(1.5) (§1.3.3, page30), nous avonsa2 =Q(a), ce qui équivaut à aa

Q(a) = 1. On en déduit que a−1 = aQ(a) .

De même, nous avons ax+xa= 2B(a,x) (équation(1.6)). L’application−φa vérifie [Cru90] :

−φa(x) = − axaQ(a)

= −a(2B(a,x)−ax)Q(a)

= −−a2xQ(a)

−a2B(a,x)Q(a)

= x−2B(x,a)

Q(a)a ∈ E

Ce qui correspond à l’expression de la symétrie par rapport au conjugué de a (cf. définitionA.29).Ainsi, a est un élément de G, son inverse est le vecteura

Q(a) , et−φa est la symétrie par rapport à

l’hyperplan a⊥, conjugué de a relativement à la formeQ.�

Il est alors facile de déterminer l’ensemble des multivecteurs représentant une transformation orthogo-nale, en utilisant le théorème de Cartan et Dieudonné [Che96], qui stipule que toute isométrie deE estla composition d’un nombre fini de symétries par rapport à deshyperplans dont le conjugué contient desvecteurs non isotropes. Nous avons alors le corollaire suivant.

Corollaire 1.14 À toute isométrieφ de E correspond un multivecteur de la forme g1g2 . . .gk dans legroupe de Clifford G⊂ C(E), où(g1,g2, . . . ,gk) est une famille de vecteurs non isotropes de E. L’isomé-trie φ est la composée des symétries par rapport aux conjugués(g⊥i )i=1...k. Elle est déterminée par :

φ = (−1)kφg1...gk : x 7→ (−1)kg1g2 . . .gkxg−1k . . .g−1

1

En particulier, sik est pair, l’isométrie est une rotation. On peut montrer, dans l’espace euclidienRn

(i.e. un espace quadratique dont la formeQ est strictement positive pour toutx 6= 0 deRn), que siθ estl’angle entre deux vecteurs non isotropesg1 et g2, la rotationφg1g2 est une rotation d’angle 2θ dans leplan généré parg1 etg2 [MD02b].

Page 51: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.3. L’algèbre de Clifford 39

Symétrie et rotation des sous-espaces deE

L’intérêt d’utiliser l’algèbre de Grassmann et l’algèbre de Clifford dans un même formalisme est no-tamment de pouvoir généraliser la transformation (une symétrie ou une rotation) d’un vecteur à la trans-formation d’un sous-espace vectoriel de dimension quelconque. Ceci est immédiat dans les algèbresgéométriques, depuis la propriété1.16.

Propriété 1.16 SoientM un sous-espace vectoriel de dimension m dans E, représenté par le multi-vecteur décomposable M d’ordre m dans

∧(E), et φA, la transformation orthogonale correspondant au

multivecteur A= a1 . . .ap ∈G dansC(E).

L’application φA transforme le sous-espaceM en un sous-espaceM′ = φA(M) de dimension m, repré-senté par le multivecteur M′ suivant :

M′ = AMA−1

DémonstrationTout sous-espace vectoriel de E, espace quadratique, possède une base orthogonale. Soit(x1, . . . ,xk) une base orthogonale deM, telle que M= λx1∧ . . .∧ xk. En utilisant la correspon-dance entre les algèbres de Grassmann et les algèbres de Clifford (§1.3.4, page32), nous avonsdirectement M= λx1 . . .xk, car les(xi)i=1...k sont orthogonaux entre eux par hypothèse.Soit a un vecteur non isotrope de E. Montrons que la propriétéest vraie pourφa. On a :

aMa−1 = λax1 . . .xka−1

= λax1a−1 . . .axka−1

⇔ λ (ax1a−1)∧ . . .∧ (axka−1)

La dernière ligne permet de retourner dans l’algèbre de Grassmann. Pour que cette identificationsoit juste, il faut et il suffit que(ax1a−1, . . . ,axka−1) soit une base orthogonale. En effet, d’aprèsl’équation (1.6), page30, on déduit pour tout(i, j) ∈ [1;k]2 :

2B(axia−1,axja−1) = (axia−1)(axja−1)+ (axja−1)(axia−1)= axix ja−1 +axjxia−1

= a(xix j +x jxi)a−1

= a(2B(xi ,x j))a−1

= 2B(xi ,x j)aa−1

= 2B(xi ,x j)

Autrement dit, φa transforme une base orthogonale en une base orthogonale. Labase(ax1a−1, . . . ,axka−1) est donc également orthogonale, d’où l’identification de ax1a−1 . . .axka−1

et (ax1a−1)∧ . . .∧ (axka−1).Cela se généralise alors immédiatement à toute transformation φA, représentée par un produitA = a1 . . .ap dansC(E), par composition des symétries(ai)i=1...p.�

La propriété1.16montre qu’appliquer une transformation orthogonale à l’ensemble des vecteurs d’unsous-espace vectoriel revient, dans l’algèbre de Clifford, à appliquer la transformation directement aumultivecteur représentant ce sous-espace vectoriel.

Pour les besoins de la démonstration, nous avons utilisé unebase orthogonale deM, mais cette basen’a pas besoin d’être déterminée en pratique. Le produit peut s’appliquer, par linéarité, à un multivec-teur quelconque, sans que cela ne change le résultat. Déterminer une base orthogonale pourM revient

Page 52: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

40 Chapitre 1. Introduction à la structure des algèbres géométriques

finalement à faire un changement de base dans l’algèbre. Or, les opérations sont définies indépendam-ment de la définition d’une telle base. Il s’agit ici uniquement de spécifier une opération et de montrer laconsistance de son interprétation en faisant un changementde base. L’évaluation de cette opération, pourtout multivecteurM représentant un sous-espaceM, est un problème annexe dont nous parlerons dansle chapitre2.

Inversibilité dans C(E) des multivecteurs décomposables dans∧

(E)

Sur le même principe, nous montrons la propriété suivante, souvent utile en pratique (voir par ex. §2.1.2,page45et §6.2.5, page146).

Propriété 1.17 Tout multivecteur décomposable M= m1∧ . . .∧mk de∧

(E) représentant un sous-espaceM est inversible dansC(E) à condition de ne pas être dégénéré, i.e. la restriction de laforme quadra-tiqueQ de E au sous-espaceM est non dégénérée (voir annexeA.2.3). Son inverse est le multivecteur

M−1 =mk∧ . . .∧m1

(m1∧ . . .∧mk)(mk∧ . . .∧m1), avec(m1∧ . . .∧mk)(mk∧ . . .∧m1) ∈ R.

DémonstrationSoient M un multivecteur décomposable de

∧(E), représentant un sous-espace vectorielM, et

(x1, . . . ,xk) une base orthogonale deM. On déduit qu’il existe un scalaireγ tel que M= γx1∧·· ·∧xk ≡ γx1 · · ·xk. Dans ce cas, nous avons :

M−1 =γxk · · ·x1

γx1 · · ·xkγxk · · ·x1

=xk · · ·x1

γx21 · · ·x2

k

et :MM−1 = γx1 · · ·xk

xk · · ·x1

γx21 · · ·x2

k

=x1 · · ·xkxk · · ·x1

x21 · · ·x2

k

=x2

1 · · ·x2k

x21 · · ·x2

k= 1

Ainsi, le multivecteur décomposable M est bien inversible,à condition que le sous-espaceM nesoit pas dégénéré, c’est-à-dire, xi 6= 0 pour tout i∈ [1;k].

Dans∧

(E), l’inverse correspond de manière immédiate au multivecteur M−1 =mk∧...∧m1

(m1∧...∧mk)(mk∧...∧m1). Le terme (m1 ∧ . . . ∧ mk)(mk ∧ . . . ∧ m1) = γ2x1 · · ·xkxk · · ·x1 est alors

un scalaire égal au produitγ2Πki=1x2

i = γ2Πki=1Q(xi).

1.3.7 Récapitulatif

Pour résumer les algèbres de Clifford, nous rappelons les notions que nous avons montrées dans cettesection, ainsi que leurs implications.

Premièrement, nous avons présenté une méthode pour calculer le produit de Clifford en mettant enévidence ses propriétés dans une base orthogonale. Cette technique permet d’une part de définir une

Page 53: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

1.4. Conclusion 41

connexion entre les algèbres de Grassmann et de Clifford surE, permettant leur utilisation commune,tout en assurant une interprétation algébrique consistante des opérations. Elle permet d’autre part de défi-nir une méthode «algorithmique» pour calculer le produit deClifford de tout multivecteur, en exprimantce produit à partir d’opérations simples dans l’algèbre de Grassmann.

Deuxièmement, nous avons indiqué comment représenter les transformations orthogonales dans l’al-gèbreC(E), généralisant les nombres complexes et les quaternions, correspondant aux combinaisonsd’un scalaire et d’un 2-vecteur respectivement deC(R2) et deC(R3).

En reprenant l’exemple décrit dans le paragraphe1.3.1, soient(1,e1,e2,e1e2) la base des multivecteursde l’algèbreC(R2), déduite de la base orthonormée(e1,e2) deR2. Le produit de Clifford possède, danscette base, les mêmes propriétés que le produit défini dans l’équation (1.4), page28, où les nombrescomplexes 1 eti sont respectivement identifiés, dansC(R2), au multivecteur 1 ete1e2. Cette identifi-cation est analogue pour l’algèbre des quaternions. Les quaternions classiques(1, i, j,k) correspondentalors, dans l’algèbreC(R3), aux multivecteurs(1,e2e3,e3e1,e1e2), où (e1,e2,e3) est une base orthonor-mée deR3. Ces deux formalismes apparaissent donc comme une représentation analytique d’une partied’une algèbre de Clifford. Ce point de vue analytique est ce qui explique la difficulté de leur généralisa-tion à toute dimension. Cette généralisation est au contraire immédiate dans l’algèbre de Clifford, où ladéfinition des isométries ne fait aucune référence à la dimension de l’espace deC(E).

Enfin, nous avons mis à profit l’interaction des deux algèbresgéométriques pour montrer comment trans-former uniformément des sous-espaces deE, à partir de la représentation des isométries dansC(E).Ainsi, il est possible de définir des symétries de sous-espaces deE, de les composer et d’en faire desinterpolations, de manière complètement transparente (voir par ex. [WL04]).

Mais l’intérêt des algèbres de Clifford, dans ce cadre, est aussi de généraliser la notion d’orthogonalitéet la notion d’inversibilité des vecteurs deE. Nous montrons, dans le paragraphe2.1.2du chapitre2, quel’inversibilité peut notamment être utile pour simplifier la résolution de certaines équations algébriqueset ainsi trouver des solutions à certains problèmes géométriques.

1.4 Conclusion

Ce chapitre est une synthèse de textes mathématiques sur lesalgèbres tensorielles, les algèbres de Grass-mann et les algèbres de Clifford. L’intérêt de cette présentation est de révéler la structure des algèbres etles propriétés classiques qu’elles vérifient, à partir de leurs fondements.

Cette approche a permis de définir un outil algébrique permettant de représenter et transformer unifor-mément les sous-espaces vectoriels d’un espace quadratique E. Cette représentation inclut un certainnombre de relations entre ces sous-espaces, comme les relations d’incidences ou d’orthogonalité. Lestransformations concernent quant à elles les transformations du groupe orthogonal.

Ces notions correspondent, dans les algèbres géométriques, à des équations algébriques simples, oùaucun système de coordonnées n’est explicitement référencé. Cela autorise des formulationssymboliquesdes opérations ou des relations sur les sous-espaces, qui apparaissent par conséquent plus synthétiques,intuitives et générales. Ainsi, il est difficile de déterminer analytiquement la rotation d’un sous-espace dedimensionk, dans un espace de dimensionn, pourk,n∈N,k≤ n. Ce type de transformation est immédiatdans le formalisme des algèbres géométriques.

Mais ce chapitre apporte également un cadre pour raisonner et démontrer des résultats d’algèbres sur cessous-espaces. C’est le cas, par exemple, de la démonstration du théorème1.3. Ce type de raisonnement

Page 54: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

42 Chapitre 1. Introduction à la structure des algèbres géométriques

nécessite une connaissance fine des structures des algèbres. Les démonstrations réalisées dans la partieIIde ce mémoire, pour le calcul de visibilité, montreront qu’une telle connaissance est essentielle pourtrouver des solutions aux problèmes concrets.

Toutefois, cette connaissance ne suffit pas à faire des algèbres géométriques un outil effectif en géométrieet en informatique graphique. Le chapitre suivant présenteune synthèse des approches pragmatiques,concernant l’interprétation géométrique, la programmation et l’évaluation des termes exprimés dans cesalgèbres.

Page 55: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 2

Application des algèbres géométriques :présentation et analyse

Ce chapitre étudie les concepts utiles à l’application des algèbres de Grassmann et de Clifford. Ceux-ci viennent compléter les définitions de ces algèbres, données dans le chapitre1, afin d’en faire unoutil efficace, permettant de formuler des solutions pratiques à des problèmes géométriques et de lesprogrammer pour les utiliser en informatique graphique. Lasection2.1s’intéresse d’abord aux principesd’interprétation géométrique des termes abstraits exprimés dans les algèbres géométriques. La section2.2considère ensuite les techniques de représentation informatique et d’évaluation de ces termes. L’étude deces deux concepts commence par une présentation des principes généraux, suivie d’une discussion desprocédés existants, permettant d’en discerner les spécificités et les avantages.

2.1 Application des algèbres en géométrie : les modèles d’interprétation

Cette section introduit les concepts nécessaires à l’utilisation des algèbres de Grassmann et de Clif-ford en géométrie. Afin de mieux appréhender les problèmes que suppose une telle application, le pa-ragraphe2.1.1rappelle de manière générale ce qu’induit mathématiquement l’étude de la géométrie àpartir de structures algébriques. Le paragraphe2.1.2donne alors une introduction auxmodèles d’inter-prétationoumodèles de géométrie, sur lesquels sont fondées l’interprétation et l’application des algèbresen géométrie.

2.1.1 Utilisation des structures algébriques en géométrie

Historiquement, la géométrie n’est pas une science apparentée aux structures algébriques. L’utilisationde l’algèbre linéaire en géométrie fut essentiellement motivée par la nécessité de définir un cadre simpleet général notamment capable de combler les déficits d’une approcheaxiomatiquede la géométrie, telleque la concevait Euclide [Del65]. Il s’agit par exemple de la représentation d’objets complexes, de lacaractérisation de certains phénomènes en mécanique (les forces, la dynamique, etc.) ou simplement del’extension des géométries à toute dimension. L’essor des méthodes algébriques a permis de grandesavancées en géométrie, avec notamment la géométrie différentielle, qui étudie la courbure de surfacescontinues, et la géométrie algébrique, qui permet une étudeprécise des surfaces algébriques (surfaces

43

Page 56: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

44 Chapitre 2. Application des algèbres géométriques : présentation et analyse

T2

T1

FIG. 2.1 – Rotation d’un triangleT1 dans le plan. Le triangle transforméT2 a conservé les angles et leslongueurs de ses segments par rapport à l’original. Ces propriétés sont invariantes par rotations.

déterminées par une équation polynomiale, comme les quadriques). Avant de décrire l’utilisation desstructures d’espaces vectoriels en géométrie, rappelons ce que l’on entend par géométrie.

La géométrie est l’étude mathématique des propriétés invariantes des objets de l’espace, par un ensemblede transformations8. Par exemple, le triangleT2, obtenu par rotation du triangleT1 (cf. figure2.1), pré-sente certaines propriétés communes àT1 : angles, longueur des arêtes, incidences des arêtes. Ces pro-priétés sont invariantes par rotation, symétrie, translation et toutes compositions de ces transformations.

L’espace dont il est question dans l’étude de la géométrie n’est pas unique. Il peut s’agir par exempled’un espace métrique, affine ou encore projectif [Del65]. Ces espaces se distinguent notamment par lagéométrie qu’on y étudie : géométrie euclidienne, non euclidienne, affine ou projective. Cependant, cesespaces sont toujours des ensembles de points [Cas65]. Le point est l’entité élémentaire de la géométrie :tout objet géométrique peut être décrit par un ensemble de points.

L’étude de la géométrie consiste donc avant tout à définir un espace de points, appelé par la suiteespacegéométrique. L’utilisation de structures algébriques en géométrie trouve son intérêt dans la descriptionde ces ensembles de points et de leurs transformations par des équations algébriques, généralement plussimples à manipuler et à évaluer qu’une définition purement intuitive ou axiomatique. Cette utilisationest fondée sur la définition des espaces géométriques à partir de ces structures algébriques. Par exemple,un espace affine admet une définition algébrique, établissant une correspondance entre les points de l’es-pace affine et les vecteurs d’un espace vectoriel sous-jacent, appelé espace directeur. Lorsque cet espaceest muni d’un produit scalaire, il décrit un espace métriqueeuclidien [Cas65], utilisé en géométrie eu-clidienne. Autre exemple, l’espace projectif est également souvent défini à partir d’un espace vectoriel,comme l’ensemble des 1-sous-espaces vectoriels de celui-ci. Chaque point de l’espace projectif cor-respond alors à un sous-espace vectoriel de dimension 1. Cesdeux types d’espaces géométriques sontdéfinis plus en détail dans l’annexeB.

La notion de modèle d’interprétation des algèbres géométriques repose précisément sur ces définitionsd’espaces géométriques à partir d’espaces vectoriels : l’interprétation des algèbres dans un espace vecto-

8Pour être plus précis, la géométrie fait référence à la notion de groupe de transformations sur un espace donné, comme legroupe des isométries, pouvant être représenté dans l’algèbre de Clifford (cf. §1.3.6). Une géométrie est alors complètementdéterminée comme l’ensemble des propriétés invariantes del’espace pour les transformations de ce groupe. Bien que l’étudede la géométrie soit antérieure à la théorie des groupes, cette dernière est fondamentale, dans le sens où elle permet de mieuxdéfinir le concept de géométrie. Une introduction à la théorie des groupes en géométrie peut être trouvée dans [Del65].

Page 57: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.1. Application des algèbres en géométrie : les modèles d’interprétation 45

b

b

O p = P−O

P = O+ p

FIG. 2.2 – Définition d’une bijection deAn dans~An, à partir d’une origine fixéeO. Cette bijection permetd’interpréter un vecteurp quelconque de~An comme un pointP = O+ p deAn.

riel permet une interprétation de certains termes et opérateurs de l’algèbre par des points, des ensemblesde points et des opérations sur ces points.

2.1.2 Les trois modèles d’interprétation géométrique usuels

Ce paragraphe présente trois modèles d’interprétation usuels, que l’on rencontre souvent dans la littéra-ture spécialisée [HFPD04, DFM07]. Le premier modèle présenté ci-dessous est aussi le plus simple, ilest donc présenté plus en détail. En particulier, un exemplepermettra d’illustrer les principes générauxde définition puis d’utilisation des modèles d’interprétation. L’étude de ces trois modèles a pour objetd’en présenter les principes puis d’en faire ressortir les spécificités et les intérêts de chacun.

Le modèle euclidien

Le modèle d’interprétation euclidienne (vector space model[DFM07]) consiste à représenter les pointsd’un espace affine euclidien de dimensionn, à partir des vecteurs d’un espace vectoriel appeléespacedirecteur. La géométrie résultante de ce modèle est euclidienne,i.e. vérifiant les postulats énoncés dansla construction de la géométrie par Euclide [Euc93]. Cette interprétation suppose la définition de l’espaceaffine à partir de l’espace directeur (cf. annexeB.1) :

Soit(An, ~An,+) l’espace affine euclidien de dimensionn donné par un ensemble de pointsAn, un espacevectoriel ~An muni du produit scalaire et appelé espace directeur, et de l’application :

+ : An× ~An → An

(P,x) 7→ P+x

Par abus de notation et en l’absence d’ambiguïté, l’espace affine est seulement notéAn dans la suite.Considérons dansAn un point O quelconque. À tout vecteurp de ~An, peut être associé de manièrebijective le pointP tel queP = O+ p. S’agissant d’une bijection, par définition de l’espace affineAn, onretrouve alors le vecteurp = P−O =

−→OPdepuis le pointP (voir figure2.2).

Ainsi, la définition d’une origineO dansAn, détermine une unique bijection entre l’ensemble des pointsdeAn et l’espace directeur~An, ce qui permet d’interpréter les vecteurs de ce dernier comme des pointsdeAn.

En pratique, cette interprétation est souvent utilisée, engéométrie analytique, par l’introduction d’unrepère cartésien. Par exemple, une courbe du planA2 peut être associée à une fonctiony = f (x), enintroduisant un repère cartésien d’origineO et de base directrice(i, j) (voir figure2.3). L’ensemble despoints de la courbe correspond alors à l’ensemble des vecteurs xi+ f (x) j , i.e.aux points de coordonnées

Page 58: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

46 Chapitre 2. Application des algèbres géométriques : présentation et analyse

y = f (x)

O

j

i

FIG. 2.3 – Courbe du plan affineA2 dans un repère cartésien(O, i, j), donnée par une fonctionf surR. À chaque valeur dex est associée une valeury = f (x), déterminant un point unique de la courbe, decoordonnées(x,y) dans le repère. Ce point est associé de manière bijective au vecteurxi+y j de l’espace

directeur~A2.

(x, f (x)) dans le repère(O, i, j). La différence entre la bijection précédemment définie, seulement à par-tir d’une origine dans l’espace, avec la définition d’un repère cartésien, est qu’aucune base de l’espacedirecteur n’est explicitement définie dans la première : seule une origineO est fixée arbitrairement. L’in-térêt est de pouvoir raisonner et formuler des expressions algébriques, indépendamment de ce systèmede coordonnées.

L’interprétation des vecteurs de~An s’étend facilement aux sous-espaces vectoriels de~An. Soit p un vec-teur de~An. L’ensemble des vecteursx appartenant au sous-espace généré parp détermine un ensemble depoints dansAn, correspondant à la droite passant par l’origineO et le pointP = O+ p (cf. figure2.4(a)).Dans l’algèbre de Grassmann

∧( ~An), cela correspond à l’ensemble des 1-vecteursx vérifiantx∧ p = 0.

De la même façon, le plan affine passant par l’origineO et deux pointsP et Q deAn correspond dans~An au sous-espace vectoriel généré par les vecteursp =

−→OPetq =

−→OQ (figure2.4(b)). Dans l’algèbre de

Grassmann, il s’agit du 2-vecteurp∧q. Ceci s’étend à toute variété linéaire deAn (point, droite, plan,hyperplan, etc.) passant parO. En revanche, les variétés ne passant pas parO ne correspondent pas àdes sous-espaces vectoriel de~An. Bien qu’elles n’aient pas de représentants directs dans l’algèbre deGrassmann, elles peuvent être paramétrées autrement, comme le montre l’exemple suivant.

Afin d’illustrer l’utilisation concrète du modèle euclidien, la suite de ce paragraphe décrit commentdéterminer la solution au calcul d’intersection entre une droite et un plan quelconques, dans l’algèbregéométrique sur l’espace euclidienR3≃ ~A3 (l’espace est muni du produit scalaire usuel). Pour simplifierles notations, nous utilisons implicitement la bijection entreA3 et ~A3 en désignant des points ou desdirections deA3 par des vecteurs de~A3. Les points sont notés par des lettres latines minuscules etlesdirections par des lettres latines minuscules surmontées par une flèche.

Soient la droiteD passant par le pointd1 et de direction~d, et le planP, passant par le pointp1, et de direc-tion ~p1 et~p2 (voir figure2.5). Pour trouver une solution au problème, l’ensemble des points appartenantà la droite et celui des points appartenant au plan sont d’abord caractérisés à l’aide d’équations algé-briques. La solution géométrique du problème revient alorsà l’interprétation de la solution du systèmedes deux équations.

Une manière de définir l’ensemble des points de la droiteD est de considérer un paramètreλ ∈ R tel

Page 59: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.1. Application des algèbres en géométrie : les modèles d’interprétation 47

b

b

b

b

O

p

O+2p

O− p

P = O+ p

{X = O+x|x∧ p = 0}

(a) Interprétation d’un sous-espace vectoriel de dimen-

sion 1, généré par un vecteurp dans ~A3, par une droiteaffine passant par l’origineO et le pointP = O+ p. Lesous-espace généré parp contient l’ensemble des vec-teursx = λ p,λ ∈ R. Ces vecteurs correspondent géomé-triquement aux pointsO+ λ p de la droite(OP) et algé-briquement aux vecteurs vérifiantx∧ p = 0.

b

b

b

b

O+ p+q

Q = O+q

O

pq

P = O+ p

{X = O+x|x∧ p∧q = 0}

(b) Interprétation d’un sous-espace vectoriel de dimen-

sion 2, généré par deux vecteursp et q dans ~A3, par unplan affine passant par l’origineO et les pointsP= O+ petQ= O+q. Les vecteursx = λpp+λqq du sous-espacevectoriel généré parp et q, correspondent géométrique-ment aux pointsO+ λpp+ λqq du plan(OPQ) et algé-briquement aux vecteursx tels quex∧ p∧q = 0.

FIG. 2.4 – Interprétation des sous-espaces vectoriels de~A3 par des variétés linéaires (points, droites,plans, etc.) passant par l’origineO dansA3.

D

P

d1

~d

p1

xλi

~p1~p2

b

b

b

FIG. 2.5 – Intersectionxλientre une droiteD, donnée par un pointd1 et une direction~d, et un plan, donné

par un pointp1 et deux directions~p1 et~p2, dansA3.

Page 60: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

48 Chapitre 2. Application des algèbres géométriques : présentation et analyse

quexλ = d1 + λ ~d est un vecteur représentant un point de la droite. Pour le plan, une représentation del’ensemble de ses points peut être donnée par l’ensemble desvecteursx vérifiant l’équation suivante :

(x− p1)∧ ~p1∧ ~p2 = 0

Cette équation signifie que le vecteurx− p1 appartient au sous-espace directeur du plan, généré par~p1

et~p2.

Le point d’intersection de la droite avec le plan correspondà un point de la droitexλivérifiant l’équation

du plan(xλi− p1)∧ ~p1∧ ~p2 = 0. Nous avons alors :

{xλi

(xλi− p1)∧ ~p1∧ ~p2

==

d1 + λi~d

0⇔ (d1 + λi ~d− p1)∧ ~p1∧ ~p2 = 0⇔ λi ~d∧ ~p1∧ ~p2 = (p1−d1)∧ ~p1∧ ~p2

⇔ λi = ((p1−d1)∧ ~p1∧ ~p2)(~d∧ ~p1∧ ~p2)−1

Le paramètreλi permet de déterminer de façon unique le vecteur représentant le point d’intersectionentre la droite et le plan affine. Sa valeur est donnée par le produit géométrique entre un 3-vecteur etl’inverse d’un 3-vecteur. Cela requiert donc que le terme~d∧ ~p1 ∧ ~p2 soit inversible. Il l’est d’aprèsla propriété1.17, page40, indiquant que tout multivecteur décomposable non dégénéré est inversible.L’espace étant euclidien, le multivecteur ne peut être dégénéré.

On remarque alors que si la droite est parallèle au plan, la direction~d est contenue dans le plan directeurdu plan. Autrement dit, le vecteur~d est linéairement dépendant des vecteurs~p1 et~p2 et immédiatement~d∧ ~p1∧ ~p2 = 0. Cela signifie que le paramètreλi et la solution au problème ne sont pas définis dans cecas. Cette singularité est conforme aux postulats de la géométrie euclidienne qui permettent de déduire,entre autres, qu’une droite et un plan parallèles ne se rencontrent jamais.

Finalement, nous avons déterminé une expression algébrique de la solution au problème donné. Nousavons également montré sa cohérence, comme l’existence de l’inverse du multivecteur~d∧ ~p1∧ ~p2, etdéterminé les conditions géométriques où la solution n’estpas définie,i.e. quand la droite est parallèleau plan. Cette expression possède un avantage : elle est indépendante du système de coordonnées (elle n’yfait pas référence) et en particulier de l’origineO choisie. L’intérêt est de pouvoir assurer que l’opérationest valide et calculable, quelque soit l’origine choisie. En particulier, les conditions de validité de lasolution ne dépendent pas de la méthode utilisée pour évaluer l’expression algébrique, mais uniquementde propriétés géométriques : la solution n’est pas définie pour un plan et une droite parallèles, parcequ’elle n’est pas modélisée dans l’espace affine. Le paragraphe suivant montre qu’il est toutefois possibled’éviter le traitement de ce cas particulier, en modifiant l’espace de définition du problème.

Autres exemples de modèles d’interprétation

Le modèle présenté ci-dessus est un modèle de géométrie euclidienne. Certains concepts géométriquesne s’expriment cependant pas de manière convenable dans cette géométrie, comme l’infini qui n’est pasmodélisé. L’absence d’intersection entre une droite et un plan parallèles, dans l’espace affineA3, en estun exemple. Cette singularité dans l’espace affine nécessite en pratique un traitement de cas particulier.Éviter cette étude de cas requiert d’autres géométries danslesquelles de telles singularités n’apparaissentpas.

Page 61: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.1. Application des algèbres en géométrie : les modèles d’interprétation 49

H

e0

e1

e2

p∧q

b qQ

b

P

p

FIG. 2.6 – Plan projectifP2, obtenu deR3. Les sous-espaces deR3 correspondent à des points ou desdroites deP2.

Nous présentons ci-dessous les principes et spécificités dedeux modèles d’interprétation fréquemmentrencontrés dans la littérature et permettant d’éviter les problèmes dus à l’utilisation du modèle eucli-dien [DFM07, HLR99a, HFPD04]. Ces principes sont similaires à ceux du modèle euclidien,exceptéque l’espace vectoriel considéré est une somme directe de l’espace directeur avec un autre espace vecto-riel supposé orthogonal au premier.

Le modèle projectif

Le modèle projectif (homogeneous model) revient à interpréter les algèbres géométriques dans un espaceprojectif, afin de déterminer un modèle de géométrie projective. Cette géométrie est plus générale que lagéométrie affine. Elle permet notamment d’exprimer des théorèmes de géométrie affine de manière plussimple [RS97], ou encore de définir des concepts que ne modélise pas de manière consistante l’espaceaffine, comme le principe de dualité entre les points et les hyperplans (cf. annexeC.1.3).

L’espace projectif, utilisé pour ce modèle d’interprétation, peut être défini algébriquement, en dimensionn, comme l’ensemble des sous-espaces vectoriels de dimension 1 d’un espace vectoriel de dimensionn+ 1 (voir annexeB.2). Le principe du modèle projectif est alors d’interpréter les sous-espaces vecto-riels deRn+1, représentés par des multivecteurs décomposables de l’algèbre de Grassmann

∧(Rn+1),

comme des points et ensembles de points dans un espace projectif réel Pn. Elle permet de représenterde manière homogène toutes les variétés linéaires de l’espace projectif : les points, droites, plans, hy-perplans, etc. Pour simplifier, ces variétés peuvent être visualisées en coupant les sous-espaces deRn+1

avec un hyperplanH dansRn+1, ne contenant pas le vecteur nul~0 (voir figure2.6, pourn = 2). Cetteinterprétation est définie comme suit : par définition, tout point P de l’espace projectifPn correspond àun sous-espace de dimension 1 dansRn+1. Ce sous-espace peut être représenté dans

∧(Rn+1) par un 1-

vecteurp non nul. De la même manière, la droite passant par deux pointsP etQ correspond dansRn+1 ausous-espace de dimension 2 généré par les deux vecteursp et q représentant ces points. Ce sous-espacepeut être représenté dans

∧(Rn+1) par le 2-vecteur décomposablep∧q. Ce concept se généralise alors à

l’espace généré park points(p1, . . . , pk) en position générale,i.e. les points sont indépendants, que l’onreprésente par lek-vecteurp1∧ . . .∧ pk. L’ensemble des pointsX de cet espace correspond dans l’algèbreaux 1-vecteursx vérifiantx∧ (p1∧ . . .∧ pk) = 0.

Page 62: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

50 Chapitre 2. Application des algèbres géométriques : présentation et analyse

En pratique, ce modèle d’interprétation est toutefois souvent introduit comme un modèle de géométrieeuclidienne augmentée [DFM07], en considérant l’espace affine euclidien fermé par un hyperplan àl’infini : les propriétés d’incidences sont celles de l’espace projectif, mais les propriétés métriques sontcelles de l’espace euclidien. L’avantage est par exemple depouvoir modéliser l’infini dans un espaceaffine et ainsi de s’abstraire de certaines singularités comme le problème des droites parallèles se coupanten un point à l’infini. Notamment, la solution du problème de l’intersection entre une droite et un plande l’espace y est toujours définie. Sa programmation s’en trouve alors simplifiée, ne nécessitant pas detraitement de cas particuliers. Pour introduire cette interprétation de l’espace projectif, il suffit de définirun produit scalaire dansRn+1, puis de faire correspondre les points de l’espace affineAn avec les vecteursdeRn+1 coupant l’hyperplanH sur la figure2.6(les pointsP etQ), puis en supposant les points à l’infinilorsque les vecteurs sont parallèles à l’hyperplanH (les points représentés par les vecteurs~e1 et~e2).L’espace obtenu est aussi appeléespace arguésien(cf. annexeB.2).

De manière générale, l’interprétation des algèbres géométriques dans le modèle projectif s’applique idéa-lement aux problèmes de géométrie projective, où les propriétés d’incidences jouent un rôle central. Ellepeut être par exemple utilisée de manière avantageuse, pourdémontrer simplement certains théorèmes degéométrie projective, comme les théorèmes de Désargues et de Pappus [HZ91]. Elle est également utili-sée dans des problèmes concrets, par exemple en vision par ordinateur, en architecture ou en constructionde quadriques «à la règle» (voir par ex. [HC01, JHM04, DFM07]).

Le chapitre5propose une présentation plus détaillée de l’interprétation des algèbres géométriques dans lemodèle projectif, afin de l’appliquer au calcul de visibilité en dimension quelconque. Ce calcul constitued’ailleurs un exemple d’application où la géométrie projective est indispensable.

Le modèle conforme

Le modèle conforme (conformal model[Hes01, WLL04]) est certainement le modèle le plus étudiédans la littérature. Une première définition de ce modèle apparaît en mathématique, dans le cadre del’étude du groupe conforme de déplacement en géométrie abstraite [Ang80] ; mais son utilisation faitaujourd’hui souvent référence aux travaux d’Hestenes [HLR99b].Comme pour le modèle projectif, celui-ci est introduit pour représenter les objets d’un espace affine euclidien. Il permet de représenter lesvariétés linéaires (droites, plan, hyperplans, etc.) deAn ainsi que les sphères de toute dimension (cercles,sphères, hypersphères, etc.), par des sous-espaces vectoriels, i.e. des multivecteurs décomposables.

Pour représenter les points de l’espace affineAn, ce modèle utilise les vecteurs de l’espace quadratiqueRn+1,1 = Rn⊕R1,1. Par hypothèse,Rn est un espace euclidien (muni d’un produit scalaire), identifié àl’espace directeur~An deAn, tandis que l’espaceR1,1 est un plan hyperbolique, défini par deux direc-tions orthogonalese+ et e− telles queQ(e+) = +1 etQ(e−) = −1. Ainsi, si (e1, . . . ,en) est une baseorthonormée deRn et (e+,e−) est une base orthonormée deR1,1, alors(e1, . . . ,en,e+,e−) est une baseorthonormée deRn⊕R1,1. Dans cette base, la forme quadratiqueQ est définie par :

Q(ei) = 1 pour touti ∈ [1;n]Q(e+) = 1Q(e−) = −1

L’ensemble des vecteursx tels quex2 =Q(x) = 0 sont les vecteurs isotropes. Ils décrivent un ensembleappelécône isotropede la formeQ. Ce cône correspond à une quadrique dansRn+1,1 (cf. figure2.7).

La correspondance avec les points affines deAn est définie dansRn+1,1 sur les vecteurs homogènesisotropes,i.e. les 1-sous-espaces vectoriels du cône isotrope. La figure2.7 illustre cette approche dans

Page 63: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.1. Application des algèbres en géométrie : les modèles d’interprétation 51

e+

e1

e−

a

be∞

b

b

cône isotrope

FIG. 2.7 – Modèle conforme de la droite affineA1, donnée par l’espace directeur~A1≃ R, de base(e1)et le plan hyperboliqueR1,1 de base(e+,e−). Les vecteursa et b, contenus dans le cône isotrope (enbleu), sont interprétés comme des points de la droite affine.Le vecteure∞ est interprété comme un pointà l’infini.

l’espaceR2,1, correspondant à une droite affine. Pour faciliter l’interprétation, ce schéma montre unecoupe du cône isotrope, dessinant ainsi une courbe hyperbolique. Chaque point de la courbe correspondà un point de la droite affine. Ainsi, tout 1-sous-espace vectoriel deR2,1 généré par un vecteur isotropecorrespond à un unique point deA2 ; c’est le cas pour les vecteursa et b. Le vecteure∞ contenu dans leplan hyperbolique est quant à lui interprété comme un point àl’infini : il est « projeté à l’infini » sur lacourbe.

La particularité du modèle conforme est d’augmenter l’espace affine euclidien d’un point à l’infini, tan-dis que le modèle projectif l’augmente d’un hyperplan. Outre la possibilité de modéliser des sphèreset des variétés linéaires de toute dimension, l’un des intérêts principaux de ce modèle est de pouvoirreprésenter les transformations du groupe conforme de l’espaceAn par les transformations orthogo-nales deRn+1,1, que l’on représente aisément dans l’algèbre de Clifford (cf. §1.3.6). Les transformationsconformes regroupent en particulier les symétries par rapport à des hyperplans, les rotations, les transla-tions, les homothéties et toutes compositions de ces quatretypes de transformations. L’avantage est ici depouvoir représenter ces transformations par des multivecteurs particuliers, puis de les composer en ap-pliquant le produit de Clifford. Cela représente un intérêtconséquent en terme d’efficacité et de calculs.Pour illustrer cela, prenons l’exemple du calcul de rotations de vecteurs. De telles rotations sont usuelle-ment représentées en trois dimensions, par des matrices ou encore des quaternions. Le modèle conformepropose une solution équivalente pour composer de la même manière des rotations, des translations etdes homothéties. Il est en outre possible de calculer des interpolations de ces transformations [WL04]et d’appliquer celles-ci directement à des points, des droites, des sphères ou autres, à partir d’un seulopérateur. La programmation est donc plus efficace, mais aussi plus générale et plus simple.

Toutefois, ce modèle est assez délicat d’utilisation en pratique, notamment parce qu’il fait intervenir unespace vectoriel supérieur de deux dimensions, dont une négative, à la dimension de l’espace affine àmodéliser. En conséquence de cette dimension, tout vecteurdeRn+1 ne représente pas un point affine, oude manière équivalente, tous les vecteurs appartenant à un sous-espace vectoriel deRn+1 ne représententpas un point de la variété représentée par ce sous-espace, cequi peut être difficile à appréhender danscertaines situations pratiques. Par exemple, trouver une décomposition quelconque d’un multivecteur

Page 64: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

52 Chapitre 2. Application des algèbres géométriques : présentation et analyse

représentant une variété ne suffit pas nécessairement à déterminer des points de cette variété, ce qui peutpourtant être utile et est possible dans les autres modèles comme le modèle projectif.

D’un point de vue pratique, ce modèle s’avère très efficace pour un grand nombre de problèmes oùinterviennent à la fois des espaces métriques de dimensionsquelconques, leurs propriétés d’incidence etleurs propriétés métriques (voir par ex. [HFPD04, PF06, WCL04]).

2.1.3 Réflexions sur l’utilisation des modèles d’interprétation

Pour conclure sur les modèles d’interprétation des algèbres géométriques, on notera qu’il n’y a pas demodèle à privilégier par rapport aux autres, bien que le modèle conforme semble l’être habituellement.En effet, ils possèdent tous des propriétés intrinsèques qui ne font pas d’eux des modèles universels.

Par exemple, en reprenant le problème du calcul d’intersection entre une droite et un plan, on montre quela solution est plus ou moins intéressante selon le modèle utilisé :– Dans le modèle euclidien, nous avons vu que la solution est simple à définir, mais contient une singu-

larité géométrique si la droite est parallèle au plan.– Dans le modèle projectif, la solution revient à calculer une intersection entre deux sous-espaces. Celle-

ci est toujours définie, même si la droite est parallèle au plan, et peut être obtenue simplement à partirde l’opérateur de contraction dans l’algèbre de Grassmann.

– Dans le modèle conforme, il n’existe pas de solution simpleà ce problème du fait que la droite possèdeune ou deux intersections avec le plan, le point à l’infini étant commun aux deux variétés dans tous lescas. La solution la plus simple est alors de revenir au modèleprojectif à partir du modèle conforme, en«factorisant» le modèle par le vecteur représentant le point à l’infini (cf. par ex. [DFM07]), mais celanécessite des manipulations supplémentaires qui peuvent être évitées si le modèle projectif est utiliséà la place.

Cet exemple illustre le fait que l’utilisation des modèles de géométrie dépend principalement de l’ap-plication visée. En effet, les propriétés de chacun des modèles de géométrie peuvent être utiles dans uncontexte particulier et superflues ou difficiles d’utilisation dans un autre. Nous montrons notamment dansla partieII que le modèle projectif est celui qui convient le mieux pour définir un calcul de la visibilitéglobale qui soit général, indépendant de la dimension et également de la métrique.

2.2 Programmation des algèbres géométriques

Programmer une solution algébrique d’un problème géométrique, induit nécessairement une méthode dereprésentation des multivecteurs (i.e. une structure de données) et une méthode d’évaluation des termesalgébriques selon la représentation choisie (i.e.des algorithmes). De manière générale, l’implantation deces algorithmes doit vérifier trois critères d’efficacité :

1. La réalisation de l’implantation doit être rapide.

2. Elle doit être évolutive et doit assurer un passage simpled’une expression abstraite de l’algèbre àun algorithme.

3. Elle doit aussi être optimisée par rapport à l’utilisation de la mémoire et par rapport aux temps decalcul.

Cette section propose pour commencer une introduction intuitive à la programmation des algèbres géo-métriques et à ses difficultés. Les différents types d’implantations existantes des algèbres géométriquessont ensuite présentés, avant de discuter de leurs avantages et de leurs possibles améliorations.

Page 65: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 53

2.2.1 Intuition de l’implantation des algèbres géométriques

Dans un cadre d’utilisation générale, une bibliothèque surles algèbres géométriques doit présenter lesfonctionnalités suivantes :– Représentation des multivecteurs– Programmation des opérations sur les multivecteurs, principalement :

– Produit extérieur et produit de Clifford– Différentes contractions– Addition, soustraction

Pour implanter ces fonctionnalités, deux propriétés des algèbres sont utilisées :

1. Le fait qu’elles sont définies sur des espaces vectoriels réels, ce qui implique l’existence de bases.

2. Les opérateurs sont tous linéaires ou bilinéaires, ou obtenus à partir de tels opérateurs.

Les sous-sections suivantes montrent comment utiliser cesdeux remarques pour programmer les algèbresgéométriques.

Représentation analytique d’un espace vectoriel et d’une algèbre

Le principe de la géométrie analytique est de représenter les objets (points et ensembles de points) par descoordonnées et des équations sur ces coordonnées. Les opérations appliquées sur ces objets consistentalors en des calculs élémentaires (addition, multiplication, division) sur les coordonnées. Ce principeest notamment largement utilisé en informatique graphique, où il est facile de représenter et de calculersur des coordonnées. Il s’utilise en outre efficacement dansune «représentation algébrique» de la géo-métrie, il suffit pour cela de fixer une base de l’espace vectoriel sous-jacent à la définition de l’espacegéométrique.

Par exemple, un système de coordonnées cartésiennes de l’espace affineAn est complètement déterminépar la définition d’un point deAn et d’une base de l’espace directeur~An. De la même façon, un systèmede coordonnées homogènes dans un espace projectif réelPn est déterminé par la définition d’une base deRn+1 (cf. annexesB.1.2etB.2.2).

Illustrons ce propos à l’aide d’un exemple. Soient un pointP, une droiteD, donnée par un pointA et unvecteur directeur~d, et le pointQ, projeté orthogonal deP sur D dansA3 (cf. figure 2.8). Le but est dedéterminer la distance euclidienned = |PQ| entre le pointP et la droiteD. Celle-ci est donnée par :

d = |AP|sinPAQ

=|~d||AP|sinPAQ

|~d|

=|~d×−→AP||~d|

Cette expression algébrique de la distance est générale. Elle ne donne pas la valeur de cette distance,mais plutôt un moyen de la calculer. La méthode classique pour évaluer cette distance en pratique estde définir un système de coordonnées (par exemple un repère cartésien) où il est possible de représenterles points par des coordonnées. La définition de ce système est arbitraire, car l’expression algébrique dela solution en est indépendante. Généralement, on considère pour cela un point arbitraireO et une baseorthonormée(e1,e2,e3) de ~A3. Le point A est par exemple donné par les coordonnées(α1,α2,α3) duvecteur

−→OA= α1e1 + α2e2 + α3e3 dans la base deR3.

Page 66: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

54 Chapitre 2. Application des algèbres géométriques : présentation et analyse

b

b

b

A

P

Qd

D

FIG. 2.8 – Distance euclidienned d’un pointP à une droiteD dansA3.

La distance du pointP à la droite est alors évaluée en exprimant les opérations surles vecteurs de la base(e1,e2,e3) puis en étendant cette expression à tout vecteur par linéarité des produits (le produit vectorielet le produit scalaire). Par exemple, pour

−→AP= a1e1 +a2e2 +a3e3 et ~d = d1e1 +d2e2 +d3e3, nous avons

~d×−→AP= (d2a3−d3a2)e1 +(d3a1−d1a3)e2 +(d1a2−d2a1)e3, tandis que la norme de~d est donnée par√~d · ~d =

√d2

1 +d22 +d2

3.

En informatique, nous considérons les vecteurs à partir de leurs coordonnées :−→AP = [a1,a2,a3] et

~d = [d1,d2,d3]. Les opérations sont alors obtenues par des calculs sur ces coordonnées, à partir desexpressions de celles-ci dans la base choisie. Pour le calcul de la distance du pointP à la droiteD, nousobtenons :

|~d×−→AP||~d|

=

√(d2a3−d3a2)2 +(d3a1−d1a3)2 +(d1a2−d2a1)2

d21 +d2

2 +d23

La programmation d’une telle opération est alors immédiate.

Une remarque importante concernant ce principe, est que la définition du repère cartésien est unique-ment utilisée afin d’évaluer le résultat : elle ne sert pas à ladétermination de l’expression algébrique de

la solution du problème. En effet, l’expression|~d×−→AP||~d| est indépendante de la définition d’un système de

coordonnées, ce qui assure sa validité et sa calculabilité quelque soit le repère choisi. C’est précisémentce qui différencie la représentation «symbolique» et la représentation «concrète» des calculs. La premièrepermet de trouver simplement une expression générale de la solution au problème posé mais ne permetpas d’évaluer cette solution. La deuxième, au contraire, permet d’évaluer facilement l’expression algé-brique de la solution à partir de calculs sur des coordonnées, mais permet difficilement de trouver cetteexpression, du fait du manque d’intuition géométriquedu raisonnement reposant sur les coordonnées.

Le principe est le même pour les algèbres géométriques. Tandis que le chapitre1 et la première partie dece chapitre ont décrit le formalisme qui permettait de déterminer des expressions algébriquessymboliquesdes solutions de problèmes géométriques, les sous-sections suivantes montrent comment représenterconcrètementdes multivecteurs pour évaluer ces expressions.

Représentation des multivecteurs

La manière la plus simple de représenter un multivecteur quelconque est de l’exprimer par une combi-naison linéaire unique dans une base de multivecteurs préalablement choisie. Cette méthode équivaut àla définition d’un système de coordonnées, comme dans l’exemple donné ci-dessus, et est actuellement

Page 67: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 55

utilisée dans presque toutes les bibliothèques de calculs connues sur ces algèbres9. Les expressions algé-briques que l’on souhaite évaluer dans une implantation étant indépendantes du système utilisé, celui-cipeut être choisi arbitrairement. Il existe également d’autres manières de représenter ces multivecteurs, enutilisant par exemple une forme «factorisée» [Fon07]. Nous reviendrons brièvement sur cette représen-tation alternative à la fin de ce paragraphe ; nous nous concentrons pour le moment sur la représentationclassiquement utilisée, qui est à la fois simple à comprendre et à mettre en œuvre.

Pour introduire un système de coordonnées et ainsi avoir unereprésentation concrète des multivecteurs,il suffit de préciser une base de l’espace générateurE des algèbres géométriques, ainsi qu’une formebilinéaire sur les vecteurs de cette base. À partir de ces données, il devient possible de déduire une basedes multivecteurs (cf.§1.2.3), puis d’exprimer tous multivecteurs et toutes opérationsde l’algèbre à partirde cette base.

Par exemple, supposons que(e1,e2,e3) soit une base deR3, non nécessairement orthogonale ;(1,e1,e2,e3,e1∧e2,e1∧e3,e2∧e3,e1∧e2∧e3) est alorsunebase des multivecteurs. SoitM = 5+3e1−2e3+8e1∧e2∧e3 un multivecteur de

∧(R3). Une représentation par coordonnées de ce multivecteur est

donnée par le tableau suivant :

5 3 0 −2 0 0 0 8

Cette manière de représenter des multivecteurs dans les algèbres géométriques est assez naturelle. Elleest équivalente à la représentation des points d’un espace affine ou projectif par l’introduction d’unsystème de coordonnées. Les algèbres géométriques étendent ce concept à la définition d’un système decoordonnées pour représenter des droites, plans, etc., selon le modèle d’interprétation utilisé.

Implantation des opérations sur les multivecteurs

Exprimer une opération sur des multivecteurs représentés par des coordonnées dans une base revientà définir des opérations algébriques (addition et multiplication) sur ces coordonnées. Programmer unopérateur dans l’algèbre consiste alors à déterminer les opérations à appliquer aux coordonnées. Lesopérateurs qui nous intéressent ici sont les produits (extérieur et de Clifford) et la contraction. De cesopérateurs, dérivent ceux définis dans la littérature [MD02a, D0199] (inverse, dualité, union et intersec-tion, etc.). L’intérêt des produits et de la contraction estla propriété de bilinéarité. Cette propriété estdirectement exploitée pour déterminer l’expression de cesopérateurs dans une base donnée.

Soient(ei)i=1...2n une base de multivecteurs de l’algèbre géométrique de dimensionn, et «⋆» un opérateurbilinéaire de l’algèbre (pouvant être l’un des produits extérieur ou de Clifford ou encore la contraction).Cet opérateur vérifie par bilinéarité :

(2n

∑i=1

αiei

)⋆

(2n

∑j=1

β jej

)=

2n

∑i=1

2n

∑j=1

αiβ j(ei ⋆ej) (2.1)

Cette équation montre que le calcul de l’opérateur «⋆» sur deux multivecteurs exprimés dans une basedonnée (à droite de l’égalité) se résume à déterminer l’expression des termesei ⋆ej , pour tousei ,ej surla base des multivecteurs. Ainsi, pour déterminer l’expression de tout opérateur linéaire ou bilinéaire,

9À quelques détails près. Il peut s’agir en effet de tableaux ou de matrices de coordonnées. Ces données peuvent êtreégalement représentées partiellement (nous reviendrons sur cela dans le paragraphe2.2.2). Ces représentations sont équivalenteset utilisent toutes des coordonnées dans une base. Pour simplifier cet exposé, nous utiliserons ici des tableaux.

Page 68: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

56 Chapitre 2. Application des algèbres géométriques : présentation et analyse

il suffit d’exprimer cet opérateur sur chaque élément de la base des multivecteurs puis d’étendre cetteexpression à tout multivecteur par linéarité sur les arguments10.

Illustrons l’utilisation de l’équation (2.1) pour exprimer le produit extérieur de l’algèbre∧

(R3), muniede la base définie dans la sous-section précédente.

Considérons pour commencer le produit extérieur de deux 1-vecteurs de la base. Celui-ci est expriméparei ∧ej si i < j, 0 si i = j et−ej ∧ei si i > j, par anticommutativité du produit. Ces trois règles sontdéterminées de façon à obtenir, à partir du produit de deux éléments de la base, un résultat exprimé dansla même base. À partir de celles-ci, on obtient facilement, par bilinéarité, le produit de deux 1-vecteursquelconques. Par exemple, poura = α1e1 + α2e2 + α3e3 et b = β1e1 + β2e2 + β3e3, on obtient :

a∧b = (α1β2−α2β1)e1∧e2 +(α1β3−α3β1)e1∧e3 +(α2β3−α3β2)e2∧e3

Ainsi, les éléments de départa et b sont bien des combinaisons linéaires d’éléments de la base de l’al-gèbre, de même que le résultata∧ b. En effectuant la même opération sur tous les couples d’élémentsde la base de

∧(R3), il est possible d’exprimer le produit extérieur de cette algèbre, sur des tableaux de

coordonnées :

α /0

α1

α2

α3

α12

α13

α23

α123

β /0

β1

β2

β3

β12

β13

β23

β123

7→

α /0β /0

α1β /0 + α /0β1

α2β /0 + α /0β2

α3β /0 + α /0β3

α12β /0 + α /0β12+ α1β2−α2β1

α13β /0 + α /0β13+ α1β3−α3β1

α23β /0 + α /0β23+ α2β3−α3β2

α123β /0 + α /0β123+ α1β23−α2β13+ α3β12+α12β3 + α13β2 + α23β3

Cette méthode possède l’avantage d’être à la fois simple et immédiatement généralisable à toute algèbreet à tout opérateur linéaire ou bilinéaire, comme le produitde Clifford et la contraction.

Représentation «factorisée» des multivecteurs

Une représentation alternative des multivecteurs dans unealgèbre géométrique est proposéedans [Fon07]. Cette représentation, appeléeforme multiplicativeou forme factorisée(multiplicativeoufactorized form), consiste à considérer les multivecteurs décomposables comme des matrices contenantune décomposition du multivecteur. Par exemple, unk-vecteur décomposablev1∧ . . .∧ vk de

∧(Rn),

vk ∈ Rn, est donné, dans cette représentation, par la matricek×n suivante, où les colonnes(v1i , · · · ,vn

i ),pour i = 1. . .k, sont les coordonnées du vecteurvi dans une base deRn :

v11 . . . v1

k...

. . ....

vn1 . . . vn

k

10Il existe également des «opérateurs» non linéaires dans lesalgèbres géométriques [DFM07]. Ils consistent cependant endes algorithmes obtenus à partir des produits et de la contraction, et ne posent donc pas de difficultés d’implantation enpratique.

Page 69: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 57

Cette représentation est assez classique en géométrie, pour représenter des sous-espaces vectoriels pardes vecteurs qui génèrent ces sous-espaces. Elle s’avère particulièrement intéressante en pratique, pourles algèbres de grandes dimensions (environ 9 et plus) :– elle réduit la mémoire utilisée pour stocker un multivecteur (O(n2)), celle-ci devenant importante dans

la représentation classique (O(2n)) ;– elle réduit la complexité des algorithmes de calculs de certaines opérations comme les produits (O(n3)

maximum, au lieu deO(22n) pour une représentation classique, voir ci-dessous).En revanche, le principal inconvénient de cette représentation est qu’elle ne permet pas de calculer etreprésenter simplement la somme de deux multivecteurs dontle résultat n’est pas un multivecteur dé-composable [Fon07] : ce type de représentation est mieux adapté à la manipulation des multivecteursdécomposables et de leurs produits. Plus généralement, l’implantation des opérations sur les multivec-teurs est plus difficile que dans la représentation classique à partir d’une base de l’algèbre. C’est le caspar exemple du calcul de l’exponentiel, qui n’est pas proposée dans [Fon07] pour tout multivecteur, ou dela définition d’optimisations, qui sont moins immédiates que dans la représentation classique précédente.

Difficultés liées à l’implantation efficace des algèbres géométriques

Il existe des difficultés inhérentes à l’implantation efficace des algèbres géométriques, selon les critèresfixés au début de cette section. Afin de mieux comprendre ces difficultés, nous déterminons la complexitéd’un produit de l’algèbre, dans le cas général et pour une représentation classique des multivecteurs,i.e.par leurs coordonnées dans une base de l’algèbre. Cette complexité est évaluée à partir du nombre deproduits effectués sur ces coordonnées.

Soit E, un espace vectoriel réel de dimensionn. La dimension de l’espace des multivecteurs est alors2n (cf. §1.2.3). Il s’en suit que l’implantation d’un produit induit exactement 2n× 2n = 22n produitsélémentaires différents : un pour chaque couple de multivecteurs de la base.

Pour le produit extérieur et pourE de dimension 3, il existe donc potentiellement 64 produits élémentairesdifférents. En réalité, seuls 27 produits apparaissent dans l’exemple, les autres produits élémentairesdonnant le multivecteur nul 0. C’est le cas, par exemple, du produit α1e1∧β1e1 = α1β10.

Il se dégage alors trois difficultés :– L’utilisation d’une structure générale pouvant représenter tous les multivecteurs utilise 2n coordon-

nées, pour une géométrie de dimensionn seulement, augmentant leur représentation mémoire de façonconséquente.

– L’expression des opérations requiert un nombre importantde calculs sur les coordonnées, impliquantun coût CPU également important.

– Déterminer chacune des opérations sur les coordonnées, pour implanter une opération, est fastidieuxen raison de leur grand nombre, et peut ainsi mener à des erreurs d’inattentions souvent délicates àdétecter.

Nous avons vu précédemment qu’une représentation factorisée permettait de réduire ces coûts mémoireet temporel, pour les différents produits et certains autres opérateurs. Mais nous avons vu aussi qu’unetelle implantation est plus difficile et ne permet pas de calculer simplement certaines opérations usuelles,comme l’addition de multivecteurs.

Enfin, aux difficultés précédentes s’ajoute une autre plus générale : comme l’algèbre dépend d’un espacequadratiqueE, l’expression d’un produit et la représentation des multivecteurs changent selonE. Autre-ment dit, il est nécessaire de définir une implantation de l’algèbre

∧(E) ouC(E), pour chaque espaceE

nécessaire à la résolution d’un problème.

Page 70: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

58 Chapitre 2. Application des algèbres géométriques : présentation et analyse

En pratique, ces problèmes peuvent être circonscrits. Le paragraphe2.2.2présente un certain nombred’outils logiciels proposant des implantations des algèbres géométriques. Ces bibliothèques offrent dessolutions partielles ou complètes à ces différents problèmes.

2.2.2 Bibliothèques de calculs dans les algèbres géométriques

Dans cette section, nous nous intéressons aux outils proposant des implantations des algèbres géomé-triques, permettant leur utilisation en informatique graphique. Il peut s’agir de bibliothèques proposantdirectement une structure de multivecteurs et des implantations d’opérations multivectorielles, ou biend’outils permettant la génération ou la détermination de ces bibliothèques. Il est possible de partager cesoutils en quatre classes :

1. Les bibliothèques de calculs symboliques.

2. Les bibliothèques spécialisées, offrant une implantation d’une algèbre en particulier, souvent spé-cifique à un problème.

3. Les générateurs de bibliothèques, permettant de générerdu code en fonction de différents para-mètres (optimisations, langage, etc.).

4. Les bibliothèques génériques, autorisant le calcul dansune algèbre quelconque à partir de la spé-cification de l’espace d’origineE et de sa forme quadratique.

La suite présente les spécificités de chacune de ces classes d’outils, accompagnées de quelques exemplesd’implantations.

Bibliothèques de calculs symboliques

Les bibliothèques de calculs symboliques ne peuvent pas être, à proprement parler, utilisées dans unprogramme informatique. Leur intérêt est de permettre de déterminer rapidement, facilement et sansfaute l’expression d’un produit ou d’un autre opérateur entre deux multivecteurs généraux.

Il existe différentes bibliothèques de calculs symboliques [AF05, GARG]. Toutes ces bibliothèques uti-lisent des logiciels de calculs formels tels que Maple ou MatLab. Outre les différences de syntaxe etd’utilisation propres au logiciel support, le fonctionnement de ces bibliothèques reste sensiblement lemême. Ces bibliothèques proposent de définir un espaceE, pour obtenir des calculs sur les algèbres gé-nérées parE. La définition de cet espace utilise sa dimension et l’expression d’une forme quadratique,ou directement de la forme bilinéaire associée, dans une de ses bases. S’il s’agit de la forme quadratique,la base est supposée orthogonale.

Le paquetage Clifford [AF05], fonctionnant avec Maple, semble la plus aboutie de ces bibliothèques.Son utilisation en devient, de ce fait, plus délicate, en raison du nombre élevé de produits et d’opérateursdéfinis. Néanmoins, son avantage, par rapport aux autres bibliothèques de calculs symboliques, vientde la possibilité de définir la forme bilinéaire plutôt que laforme quadratique, ce qui permet notam-ment d’utiliser une base deE non nécessairement orthogonale. Cela peut avoir un intérêten pratique,par exemple pour l’utilisation du modèle conforme (cf. §2.1.2), qui utilise généralement une base nonorthogonale afin de faciliter l’interprétation des multivecteurs (voir par ex. [DFM07]).

Ces paquetages peuvent servir à définir rapidement des implantations d’algèbres géométriques. Le pro-cédé est simple et très avantageux. Pour illustrer celui-ci, prenons l’exemple vu dans le paragraphe2.2.1,où il s’agit d’exprimer le produit extérieur de l’algèbre deGrassmann

∧(R3), sur l’espaceR3.

Page 71: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 59

La suite d’instructions suivante correspond (aux différences de syntaxe propres au paquetage près) àl’instanciation de deux multivecteursA etB, exprimés dans une base de multivecteurs obtenue à partir dela base (e[1℄,e[2℄,e[3℄) deR3. L’instruction A^B permet de calculer symboliquement le résultat duproduit extérieur entre les deux multivecteursA etB.|> A:=alpha[0℄*1 + alpha[1℄*e[1℄ + alpha[2℄*e[2℄ + alpha[3℄*e[3℄ +alpha[12℄*e[1℄^e[2℄ + alpha[13℄*e[1℄^e[3℄ +alpha[23℄*e[2℄^e[3℄ + alpha[123℄*e[1℄^e[2℄^e[3℄;|> B:=beta[0℄*1 + beta[1℄*e[1℄ + beta[2℄*e[2℄ + beta[3℄*e[3℄ +beta[12℄*e[1℄^e[2℄ + beta[13℄*e[1℄^e[3℄ + beta[23℄*e[2℄^e[3℄ +beta[123℄*e[1℄^e[2℄^e[3℄;|> A^B;Le résultat de cette évaluation donne alors :

A := α0 + α1e1 + α2e2 + α3e3 + α12e1∧e2+ α13e1∧e3+ α23e2∧e3 + α123e1∧e2∧e3

B := β0 + β1e1 + β2e2 + β3e3 + β12e1∧e2 + β13e1∧e3 + β23e2∧e3+ β123e1∧e2∧e3

α0β0 +(α1β0 + α0β1)e1 +(α2β0 + α0β2)e2 +(α3β0 + α0β3)e3+(α12β0+ α0β12+ α1β2−α2β1)e1∧e2 +(α13β0 + α0β13+ α1β3−α3β1)e1∧e3+

(α23β0 + α0β23+ α2β3−α3β2)e2∧e3 +(α123β0 + α0β123+ α1β23−α2β13+α3β12+ α12β3 + α13β2 + α23β3)e1∧e2∧e3

Les dernières lignes sont le résultat de l’évaluation de l’expressionA∧B. Il suffit alors de recopier cetteévaluation pour obtenir un algorithme calculant le produitextérieur recherché. Cette technique nous anotamment permis de définir une bibliothèque spécifique au calcul de visibilité dans l’algèbre de Grass-mann (cf. chapitre6). De manière immédiate, elle permet de répondre, pour le moins, au premier critèred’efficacité d’une implantation de l’algèbre géométrique :la rapidité de la réalisation de la bibliothèque.Nous verrons, dans le paragraphe2.2.3, qu’elle fournit également des pistes de réponses aux deux autrescritères d’efficacité.

Bibliothèques spécifiques

Une bibliothèque spécifique est l’implantation d’une algèbre propre à une application particulière. Ellen’est donc pas générale et est rarement réutilisable.

L’inconvénient majeur de développer une bibliothèque propre à une application,i.e.sans utiliser d’outilsexistants, est qu’elle peut engendrer un coût de développement conséquent (cf. le paragraphe2.2.1).On peut cependant modérer ce propos, du fait qu’une bibliothèque de calculs symboliques, habilementutilisée, permet de remédier partiellement à ce problème.

En pratique, beaucoup d’applications des algèbres géométriques utilisent une implantation spécifique.C’est le cas du calcul de visibilité présenté dans ce mémoire. En effet, ces implantations possèdent cer-tains avantages sur les bibliothèques générales, comme la possibilité de définir des optimisations propresaux calculs requis par l’application visée. Il est en effet généralement plus avantageux d’optimiser le

Page 72: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

60 Chapitre 2. Application des algèbres géométriques : présentation et analyse

calcul global d’un terme, exprimé sur les coordonnées, plutôt que d’optimiser de manière indépendantele calcul de chaque opérateur utilisé dans ce terme. Les bibliothèques générales ne peuvent effectuerce type d’optimisation. Or, celles-ci peuvent être conséquentes en pratique, rendant ces bibliothèquesspécifiques généralement plus efficaces que les bibliothèques générales, optimisées ou non.

Générateurs de bibliothèques

Actuellement, il n’existe qu’un seul générateur de bibliothèques d’algèbres géométriques : Gai-gen [FDB03]. Simple d’utilisation, il permet, à partir de la spécification d’une base deE et d’une formebilinéaire sur cette base, de produire le code d’une bibliothèque C++ pour calculer sur l’algèbre corres-pondante.

Son intérêt principal provient de la possibilité d’incluredeux types d’optimisations dans le code généré.Le premier permet de réduire l’occupation mémoire d’un multivecteur. Le second concerne l’efficacitédes fonctions implantant les produits des algèbres géométriques et les différents opérateurs. Le but est icide minimiser les calculs sur les coordonnées pour obtenir une implantation efficace en temps de calculs.

Ces optimisations sont fondées sur la remarque suivante : enpratique, les multivecteurs utiles à l’ex-pression de la solution d’un problème sont généralement homogènes (d’un ordre unique). Il s’agit desprincipaux multivecteurs que l’on peut interpréter. Du fait de leur homogénéité, ils exploitent un nombreréduit de coordonnées : seules les coordonnées correspondant à l’ordre du multivecteur sont potentiel-lement non nulles. Cette remarque est à l’origine de toutes les optimisations utilisées dans les diversesbibliothèques (y compris, évidemment, les bibliothèques spécifiques évoquées précédemment). Nousprésentons par conséquent quelques détails sur ces optimisations.

Optimisation de la structure de données: Un multivecteur généralM peut toujours être décomposécomme une somme∑n

i=0Mi de multivecteurs homogènesMi d’ordre i. Si M est homogène, il existe ununiquei tel queMi est non nul. Il devient alors inutile de représenterM par les coordonnées correspondantaux parties homogènes d’ordrej 6= i, celles-ci étant toutes nulles.

Optimiser la structure de données des multivecteurs consiste à réduire l’utilisation de la mémoire enreprésentant chaque partie homogène d’un multivecteur indépendamment des autres, afin de le décrireuniquement par ses parties homogènes non nulles.

Par exemple, dans l’algèbre∧

(R3) de dimension 23 = 8, un 1-vecteur aura au plus trois coordonnéesnon nulles, celui-ci correspondant de manière équivalenteà un vecteur deR3. Ainsi, trois coordonnéessuffisent à le représenter, tandis que huit sont nécessairespour un multivecteur général. En représentantuniquement les coordonnées des parties homogènes non nulles, seules les trois coordonnées sont néces-saires à la représentation du 1-vecteur. Cela permet, dans ce cas précis, une réduction d’utilisation de lamémoire de 62,5%.

La structure de données utilisée dans Gaigen se compose d’untableau de coordonnées réduit aux partieshomogènes non nulles du multivecteur et d’un champ additionnel indiquant quelles parties homogènessont représentées dans le tableau. La figure2.9 illustre cette structure pour un multivecteurM = e1 +2e2−3e1∧e2∧e3, dans l’algèbre

∧(R3). Le premier champ (usage) indique queM est la somme d’un

1-vecteur et d’un 3-vecteur. Le tableau qui suit donne alorsles coordonnées deM, exprimée dans la basedes 1-vecteurs et des 3-vecteurs seulement.

Toutefois, l’utilisation d’une telle structure de donnéesnécessite de gérer la donnée supplémentaireusage, permettant d’indiquer les parties contenues dans le tableau de coordonnées. L’utilisation de cetableau dans une opération implique de faire des tests dynamiques afin de déterminer quelles opérations

Page 73: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 61

1-vecteur+ 3-vecteur

e1 e2 e3 e1∧e2∧e3

usage 1 2 0 -3

FIG. 2.9 – Illustration de la structure de données optimisée, utilisée dans les bibliothèques généréespar Gaigen, pour le multivecteurM = e1 + 2e2− 3e1∧ e2∧ e3 de

∧(R3). La donnéeusage permet de

connaître l’ordre des parties homogènes représentées dansle tableau de coordonnées.

sur les coordonnées sont nécessaires pour calculer le résultat de l’opération. En pratique, nous avonsmontré dans [CFA05] que ce coût supplémentaire pouvait être conséquent sur lestemps d’exécution.

Optimisation des opérations: La restriction des coordonnées utiles à la représentationdes multivecteurspermet également de réduire le nombre de calculs effectués.En effet, si les calculs des opérations se fontsur des multivecteurs contenant des parties homogènes nulles, beaucoup d’opérations élémentaires surles coordonnées reviennent à faire des multiplications parzéro. L’idée est ici de définir des fonctionsoptimisées, particulières au calcul d’une opération entredeux multivecteurs dont les parties homogènesnon nulles sont connues.

Ces fonctions propres peuvent être ajoutées lors de la génération de la bibliothèque, pour chaque couplede multivecteurs de types différents.

En reprenant l’exemple de l’algèbre∧

(R3) sur R3, la bibliothèque générée peut inclure une fonctionpropre au calcul du produit extérieur de deux 1-vecteurs. Dans ce cas, le résultat nécessite seulement3×3= 9 multiplications élémentaires sur les coordonnées, au lieu de 8×8= 64 opérations potentielles.Comme la dimension de l’algèbre croît exponentiellement avec la dimension de l’espace générateur,cette optimisation peut éviter une grande quantité de calculs élémentaires inutiles.

Actuellement, les bibliothèques générées par Gaigen semblent être les implantations générales les plusefficaces et aussi les plus utilisées. Cela ne prend pas en compte les implantations spécifiques, déve-loppées pour un problème précis. Nous avons cependant montré dans [CFA05] que l’implantation debibliothèques optimisées dans un langage fonctionnel pouvait être plus intéressant.

Gaigen 2: La seconde version du générateur Gaigen [Fon07, Fon06, FD07] est conceptuellement diffé-rente de la première version du logiciel. L’objectif principal est de réduire l’utilisation des coordonnées,comme le fait son prédécesseur, mais en évitant tous les tests dynamiques engendrés par cette compres-sion des coordonnées. L’idée n’est plus alors, de générer lecode complet d’une bibliothèque, mais plutôtde générer le code spécifique, selon les types de multivecteurs et les opérations utilisées dans l’applica-tion.

Les paramètres de génération du code sont :– Une spécification de l’algèbre utilisée (forme bilinéaireet dimension de l’espace générateur).– Un ensemble de fonctions sur les multivecteurs, pouvant être des algorithmes évolués utilisant des

calculs sur les multivecteurs, mais aussi des structures comme des conditionnelles ou des boucles.– Éventuellement un «profile», contenant des informations sur les fonctions qui pourraient être optimi-

sées pour des types d’arguments spécifiques.Le troisième paramètre est optionnel ; il permet au générateur de déterminer quelles opérations peuvent

Page 74: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

62 Chapitre 2. Application des algèbres géométriques : présentation et analyse

ou doivent être optimisées.

La première différence notable avec Gaigen 1 est la possibilité de définir des types spécialisés, en in-diquant quelles coordonnées doivent être représentées dans ce type. En reprenant la base de l’algèbresurR3, un 1-vecteur pourra être représenté par un type spécifiqueve teur, contenant trois coordonnéesassociées aux élémentse1, e2 ete3 de la base des multivecteurs.

La seconde différence concerne les fonctions générées. Elles peuvent être spécifiées par des algorithmescomplets utilisant les différents opérateurs de l’algèbre. Elles peuvent être de deux types : générales,i.e. appliquées aux multivecteurs quelconques, ou spécifiques,i.e. appliquées aux multivecteurs parti-culiers représentés dans un type approprié. L’applicationd’un type particulier à une fonction généralede l’algèbre requiert donc une conversion de ce type à un typegénéral représentant les multivecteursquelconques. Les fonctions sont spécifiées à l’aide d’un DSL[Fon06] (domain-specific langage). Pourchaque spécification de fonction, une fonction générale à tout multivecteur est générée, puis des fonctionsoptimisées sont ajoutées, selon celles indiquées dans le DSL.

La génération d’une fonction se fait de la façon suivante : les opérations algébriques utilisées dans lesfonctions sont d’abord lues puis exprimées en terme de calculs sur les coordonnées. Les expressions deces calculs sont ensuite simplifiées, afin d’obtenir des expressions optimisées, finalement utilisées dansla génération du code de la fonction. Cette génération des fonctions revient, d’une certaine manière, àautomatiser l’utilisation des bibliothèques de calcul symbolique pour obtenir des fonctions spécifiquesoptimisées (voir ci-dessus). Ceci explique principalement pourquoi Gaigen 2 offre, d’après ses premièresévaluations, des performances proches des bibliothèques spécifiques à un problème.

Bibliothèques génériques

L’implantation de bibliothèques générales sur les algèbres géométriques, comme celles générées par Gai-gen, étant assez complexe, il en existe relativement peu. Ceci est aussi lié au fait que les bibliothèquesgénérées par Gaigen sont particulièrement efficaces dans cedomaine. En revanche, les implantationsgénériques sont plus nombreuses [Per, nosiad05, Leo, CFA05]. Il s’agit, en quelque sorte, de biblio-thèquesparamétréespar l’espace générateur des algèbres. Le comportement de l’implantation est alorsdépendant de la définition de l’espace générateur et de sa forme quadratique.

L’idée de départ de ces bibliothèques est la suivante : les algèbres géométriques possèdent la mêmestructure, à la dimension de l’espace générateur et à la définition d’une forme quadratique près.

Ainsi, beaucoup de bibliothèques sur les algèbres géométriques se sont intéressées à la généricité ducode. La raison est que les algorithmes donnant l’expression d’un produit sont facilement généralisables,établis pour tout multivecteur de toute algèbre à partir de règles simples (principalement l’anticommuta-tivité et l’application de la forme bilinéaire associée à laforme quadratique). Il est alors plus simple demettre en œuvre ces règles dans le cas général plutôt que de définir le code spécifique à un produit dansune algèbre particulière.

Ces bibliothèques utilisent généralement destemplatesC++. Nous avons également développé une bi-bliothèque générique en utilisant les foncteurs du langageObjective Caml [CFA05]. Les foncteurs sontdes unités modulaires paramétrées par d’autres modules. Dans notre cas, les algèbres géométriquesconsistent en un module paramétré par un module spécifiant unespace vectoriel muni d’une forme qua-dratique.

Le premier avantage de ces bibliothèques est qu’elles permettent d’obtenir une implantation des algèbresgéométriques utilisable rapidement, pour n’importe quel espace quadratique. De plus, cela ne nécessite

Page 75: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.2. Programmation des algèbres géométriques 63

qu’une seule bibliothèque, pouvant être instanciée avec différents paramètres si plusieurs algèbres sontnécessaires pour calculer la solution à un problème géométrique.

En revanche, l’inconvénient majeur de ces bibliothèques est leur faible efficacité. La généricité empêche,dans ce cas, d’optimiser les implantations. En effet, la structure de données de ces bibliothèques doitêtre capable de représenter tout multivecteur pour toutes algèbres géométriques. Une telle généralisationnécessite des tests dynamiques ainsi que des manipulationsde données augmentant de manière consé-quente les temps de calculs. Leur utilisation est par conséquent limitée aux applications ne nécessitantpas de calculs intensifs.

2.2.3 Réflexions sur la programmation des algèbres géométriques

Avantages et spécificités des outils existants

L’avantage des outils actuels est de donner une réponse immédiate au premier critère d’efficacité d’uneimplantation des algèbres géométriques. C’est également le cas des bibliothèques de calculs symbo-liques, puisque celles-ci permettent de déduire rapidement et sans faute, l’expression générale d’un opé-rateur dans les algèbres. De même, toutes ces bibliothèquespermettent un passage rapide d’une expres-sion algébrique à un algorithme, puisqu’elles implantent toutes les principaux opérateurs des algèbresintervenant dans ces expressions.

En revanche, à l’exception des bibliothèques de calcul symboliques, n’entrant pas dans le cadre desbibliothèques utilisables dans un programme, du code généré par Gaigen2, faute d’informations suffi-santes, aucune des bibliothèques ne permet de répondre au critère d’évolution. Enfin, en ce qui concernel’efficacité d’utilisation en temps et mémoire, seul le codegénéré par Gaigen 2 semble se détacher desautres.

En particulier, bien que la première version de Gaigen ait été conçue pour générer des bibliothèquesrépondant à ces critères, elles y répondent de manière insuffisante. En effet, le traitement indépendantdes parties homogènes d’un multivecteur engendre un coût qui reste trop important.

Implantations spécifiques contre bibliothèques générales

La spécialisation des calculs fait suite à une remarque similaire à celle qui a amené aux optimisations desbibliothèques générées par Gaigen puis par Gaigen 2. En effet, la solution à un problème géométriquenécessite généralement des calculs sur des multivecteurs dont le type est connu, c’est-à-dire que l’onconnaît précisément quelles sont les parties homogènes nonnulles des multivecteurs intervenant dans lasolution. De plus, ce nombre de calculs sur des multivecteurs de types différents est souvent réduit.

Le but d’une implantation spécialisée est donc de définir lesmêmes types d’optimisations utilisés dansles bibliothèques existantes, tout en évitant au maximum les tests dynamiques que ne peuvent éviterles implantations générales. Pour cela, il est nécessaire de spécialiser les types autant que possible puisd’écrire une fonction pour chaque opération atomique de la solution du problème. Comme les typesd’entrée et de sortie de la fonction sont connus, déduits du problème, il est possible d’optimiser le codeaussi bien vis-à-vis de l’utilisation de la mémoire que du temps d’exécution.

Pour illustrer cette spécialisation des calculs, anticipons quelque peu sur la partie suivante. Le calcul devisibilité requiert un calcul d’enveloppe convexe (cf. §6.2.2). Pour la visibilité dans l’espace tridimen-sionnel, ce calcul est exprimé dans l’algèbre

∧(R6). Cette opération nécessite de pouvoir représenter des

Page 76: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

64 Chapitre 2. Application des algèbres géométriques : présentation et analyse

k-vecteurs, pour toutk dans[0;6]. En revanche, nous savons que tous les multivecteurs nécessaires sonthomogènes. La seule opération utile pour le calcul de cette enveloppe convexe est le produit extérieurentre unk-vecteur,k∈ [0;6], et un 1-vecteur.

Du point de vue de la structure de donnée, au plusC36 = 20 coordonnées sont utiles à la représentation

des 3-vecteurs, au lieu des 26 = 64 coordonnées pour représenter un multivecteur général.

Du point de vue des opérations, une seule fonction est utile :le produit extérieur entre unk-vecteur et un1-vecteur. Le nombre d’opérations atomiques sur les coordonnées dépend de l’ordrek du k-vecteur enparamètre. SiCk

6 est le nombre de ces coordonnées, etC16 = 6, le nombre de coordonnées du 1-vecteur

donné en argument, le nombre maximal d’opérations élémentaires potentielles est de 6×Ck6. Soit, au

maximum, 6× 20 = 120 produits de coordonnées, pour le produit extérieur d’un3-vecteur et d’un 1-vecteur. Pour indication, une bibliothèque non optimisée nécessiterait potentiellement 64× 64 = 4096opérations de ce type.

Le gain qu’apporte une implantation spécifique au problème de visibilité est immédiat. Elle permet deréduire considérablement les coûts mémoires et le nombre d’opérations sur les coordonnées. Ce typed’implantation est aussi beaucoup plus intéressant que lesbibliothèques optimisées générées par Gaigen1, puisqu’il réduit conséquemment les tests dynamiques, principale faiblesse des bibliothèques générées.

L’expérience montre que beaucoup d’applications des algèbres géométriques peuvent bénéficier de cetype d’optimisations. Il est donc plus intéressant de développer une implantation spécifique pour cesproblèmes. Ce principe est d’ailleurs celui utilisé par la deuxième version de Gaigen, celle-ci proposantde définir des types spécifiques ainsi que des fonctions spécifiques à ces types. Ainsi, les premièresévaluations du code généré par Gaigen 2 montrent une nette amélioration comparé à celui généré parGaigen 1, avec des résultats semblables aux bibliothèques spécifiques.

2.3 Conclusion

Ce chapitre a présenté les deux méthodes générales d’application des structures des algèbres géomé-triques, proposées au chapitre1, en informatique graphique. La première d’entre elles concerne l’inter-prétation géométrique de ces structures, permettant leur application à la géométrie. Différentes manièresusuelles d’interpréter ces algèbres ont été décrites, afin d’en montrer les différences et les spécificités.La seconde méthode est relative aux techniques de programmation des structures algébriques, permet-tant d’appliquer celles-ci à l’outil informatique. Cette présentation est accompagnée d’une analyse desdifficultés inhérentes à la programmation efficace des algèbres géométriques, puis d’une description desméthodes actuelles permettant de remédier de manière plus ou moins complète à ces différents pro-blèmes.

À l’issue de la présentation de ces méthodes, nous avons formulé différentes remarques concernant l’uti-lisation des différentes techniques existantes.

Concernant les modèles d’interprétation, nous avons montré que l’utilisation d’un modèle se fait essen-tiellement en fonction de la géométrie que l’on souhaite modéliser. Par exemple, bien que l’intérêt dumodèle conforme ait déjà été montré en pratique [HFPD04], nous avons également montré que celui-ciétait le moins intéressant pour calculer une opération simple comme l’intersection entre une droite et unplan dans l’espace tridimensionnel.

En ce qui concerne l’implantation des algèbres, nous avons relevé qu’une implantation générale ne pou-vait être efficace en raison de l’impossibilité d’optimiserfinement les algorithmes utilisant ces biblio-

Page 77: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

2.3. Conclusion 65

thèques. Notamment, l’utilisation d’une implantation spécifique des algèbres, pour le calcul de visibilitéglobale tridimensionnelle (cf. chapitre6), a permis une réduction des temps de calculs d’un facteur su-périeur à 5, comparé à une bibliothèque optimisée générée par Gaigen 1. Ainsi, les implantations spéci-fiques, obtenues à l’aide d’une bibliothèque de calcul symbolique ou bien depuis le logiciel Gaigen 2,apparaissent actuellement comme les implantations des algèbres géométriques les plus efficaces.

La partieII de ce mémoire présente nos travaux sur le calcul de la visibilité globale en dimension quel-conque, où ces remarques nous ont été utiles pour déterminerles solutions les mieux adaptées à laformulation du calcul ainsi qu’à son implantation. En particulier, nous expliquons dans le chapitre5 quele calcul de la visibilité globale peut s’exprimer comme un problème de géométrie projective, ce quimontre que le modèle projectif est celui qui convient le mieux pour résoudre ce problème.

Page 78: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

66 Chapitre 2. Application des algèbres géométriques : présentation et analyse

Page 79: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 3

Conclusions sur l’approche didactique desalgèbres géométriques

L’étude des algèbres géométriques présentée dans cette partie est le fruit d’un travail de compréhensionet de synthèse des différentes présentations des algèbres de Grassmann et de Clifford, en mathématiquesou en ingénierie. Nous souhaitons que cette synthèse apporte une connaissance globale des algèbresgéométriques et de leurs méthodes d’application.

Pour conclure cette présentation didactique des algèbres,nous rappelons d’abord les principes fonda-mentaux d’utilisation des algèbres géométriques. Nous résumons ensuite les concepts évoqués dans cettepartie, apportant les connaissances utiles à l’application de ces principes. Nous mettons alors en évidenceles similarités puis les différences de notre approche didactique avec les précédentes. Enfin, nous propo-serons des perspectives en conséquence des concepts qui n’ont pu être abordés dans cette présentation.

3.1 Synthèse sur l’utilisation des algèbres géométriques

Dans cette partie, les algèbres géométriques sont présentées comme un formalisme algébrique à la foiscapable de représenter, de déterminer puis d’évaluer des notions algébriques ou géométriques. Ces troisaspects fondamentaux sont la base de la méthode générale de résolution d’un problème géométriqueou algébrique dans ce formalisme. Ils font des algèbres géométriques un outil utilisable concrètement,notamment en informatique graphique.

Représenter

Grâce à leur interprétation algébrique et par la suite, à leurs interprétations géométriques, les algèbresgéométriques procurent un formalisme capable de représenter, sous forme d’un terme ou d’une équa-tion, des concepts géométriques ou algébriques de haut niveau. Il s’agit par exemple de la propriété dedépendance linéaire (cf. §1.2.4, page22), permettant de représenter également les relations d’incidencesgéométriques (cf. propriété5.3, chapitre5).

Nous avons mis en évidence, à travers les définitions présentées dans le chapitre1, que cette représenta-tion est indépendante de la dimension et est «symbolique»,i.e.elle ne fait pas référence à un quelconquesystème de coordonnées. Une telle représentation n’est pastoujours possible à partir des outils clas-

67

Page 80: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

68 Chapitre 3. Conclusions sur l’approche didactique des algèbres géométriques

siques : l’algèbre des quaternions, par exemple, est définiedans un système de coordonnées particulierqui restreint sont utilisation aux rotations de l’espace tridimensionnel, de la même façon que les nombrescomplexes sont limités aux rotations du plan. La représentation symbolique dans les algèbres géomé-triques permet précisément la formulation de solutions et d’opérations générales, comme les rotations,valides pour toute dimension et tout système de coordonnées.

Déterminer

Les solutionsalgébriquesdes équations représentant des contraintes géométriques sont les représen-tations des solutionsgéométriquesà ces contraintes. Déterminer la solution à un problème concerneprécisément la résolution de ces équations. Cette résolution repose bien souvent sur une connaissancesolide de la structure des algèbres géométriques et de leurspropriétés.

Nous avons notamment montré l’importance de connaître cette structure, pour permettre un raisonne-ment à la fois abstrait de l’interprétation, de la dimensionet encore une fois d’un système de coordon-nées. Ce type de raisonnement est utile pour simplifier la résolution des équations, et par conséquent ladémonstration de certains résultats, comme le théorème1.2de la conjonction entre les algèbres de Grass-mann et de Clifford. Cette abstraction offre également une capacité de raisonnement dans des espacesde grandes dimensions, où l’observation et l’intuition géométrique sont délicates. L’expression du calculde la visibilité globale, décrite dans le chapitre5 à partir des algèbres géométriques, en est un exempleparticulièrement convainquant.

Évaluer

Enfin, les algèbres géométriques permettent également la définition d’un cadre analytique permettant de«calculer» et d’évaluer les termes exprimés dans ces algèbres. Sans cette possibilité de calculer concrè-tement ces solutions, leur intérêt en informatique graphique serait largement restreint.

3.2 Résumé

Au cours de cette partie, nous avons présenté quatre aspectsdes algèbres géométriques qui en permettentl’utilisation selon les principes rappelés ci-dessus :

1. Leurs définitions et leurs structures mathématiques (chapitre 1).

2. Leur interprétation algébrique dans un espace vectoriel(chapitre1).

3. Les techniques permettant leur interprétation géométrique (chapitre2, section2.1).

4. Leurs techniques de programmation (chapitre2, section2.2).

Dans un premier temps, nous avons défini les algèbres de Grassmann et de Clifford comme des algèbresquotientes de l’algèbre tensorielle. Cette définition mathématique classique a permis de faire ressortirles liens existants entre ces algèbres. Nous avons notamment pris soin de re-démontrer certains résultats,souvent de manière plus simple que dans la littérature mathématique, afin de familiariser le lecteur avecces structures.

Dans un second temps, nous avons expliqué l’interprétationdes termes et des opérateurs des algèbres(produits et contractions) dans un espace vectoriel. Il s’agit par exemple des relations d’incidences entre

Page 81: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

3.3. Discussions et positionnement 69

les sous-espaces vectoriels (propriété1.6, page25), de l’orthogonalité (propriété1.13) ou des isométriespar le produit de Clifford (§1.3.6).

Nous avons ensuite expliqué dans le chapitre2 comment ces termes pouvaient également s’interprétercomme des points ou ensembles de points dans des espaces géométriques (affine ou projectif). Cetteinterprétation est le fondement des applications des algèbres de Grassmann et de Clifford en géométrie.Notre introduction aux modèles d’interprétations est par ailleurs complétée d’une discussion dont le butest de mieux discerner les spécificités de chaque modèle et demieux appréhender les présentations quisont faites de ces concepts dans la littérature.

Enfin, nous avons décrit de manière générale comment définir un cadre analytique et algorithmique àpartir des algèbres géométriques, afin de rendre leur application possible en informatique graphique.Cette présentation explore également les différentes méthodes existantes pour obtenir des implantationsefficaces selon l’application visée.

3.3 Discussions et positionnement

Cette section revient sur les raisons qui ont motivé notre synthèse des différentes présentations des al-gèbres afin de la positionner avec ces dernières.

Connaissance de la définition et de la structure des algèbresgéométriques

Une approche pragmatique difficilement généralisable

Simplifier la présentation des algèbres géométriques dans un but pédagogique est important. Mais il estdifficile de le faire sans délaisser certains concepts fondamentaux, augmentant alors le risque de rendreleur application concrète difficile ou limitée.

Comme ce fut notre cas, les présentations pragmatiques usuelles ont également été confrontées à ceproblème. Dans ces présentations, les algèbres sont définies à partir de propriétés obtenues à partir deleur interprétation algébrique ou géométrique, sans indication sur leur origine algébrique : ces propriétéssont posées comme des axiomes d’un système déductif (voir par ex. [PH03, MD02a, Hes88, HFPD04,DFM07]). L’intérêt de cette approche est de pouvoir éviter l’exposé des algèbres quotientes ou des al-gèbres tensorielles, qui sont des concepts purement abstraits, non rattachés à une quelconque interpréta-tion. L’objectif est alors de permettre une approche synthétique de la géométrie, qui s’intéresse à l’étudedes propriétés géométriques par des constructions déduites d’un système d’axiomes défini à partir del’observation et de l’intuition.

Cette approche est très utile en pratique. Néanmoins, nous pensons que l’utilisation des algèbres géomé-triques dans un problème concret peut aussi nécessiter des propriétés non exposées dans ces présenta-tions : les propriétés du système ne sont pas toujours suffisantes pour déduire une solution. Ces connais-sances ne peuvent être retrouvées vu que celles-ci nécessitent de connaître les définitions mathématiqueset les structures des algèbres.

Afin d’apporter cette connaissance et ce moyen de démontrer de nouvelles propriétés, notre approchedes algèbres géométriques s’est intéressée, dans le chapitre 1, à la définition mathématique des algèbresde Grassmann et de Clifford. La définition de ces structures algébriques a permis de familiariser lelecteur avec les calculs multivectoriels, à l’aide de démonstrations essentielles et d’exemples intuitifs.

Page 82: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

70 Chapitre 3. Conclusions sur l’approche didactique des algèbres géométriques

Il en résulte une meilleure connaissance de la structure, aidant à démontrer de nouveaux résultats ou denouvelles propriétés. Par exemple, la séparation des définitions des algèbres de Grassmann et des algèbresde Clifford a permis d’exposer les relations existantes entre ces algèbres et ainsi de faciliter l’utilisationconjointe des deux produits dans un même contexte. Elle a également permis, dans le paragraphe1.3.5,la définition d’une interprétation cohérente de l’opérateur de contraction.

À plusieurs reprises, la connaissance des fondements de cesalgèbres a permis de vérifier la cohérence decertaines opérations et interprétations, ce que l’approche pragmatique autorise plus difficilement. Celaévite notamment d’utiliser des propriétés semblant générales dans des cas où celles-ci ne sont pas vé-rifiées. Par exemple, la démonstration de l’inversibilité dansC(E) d’un multivecteur décomposable de∧

(E) (cf. propriété1.17, page40), utilise une propriété algébrique connue sur les sous-espaces quadra-tiques deE et permet de mettre en évidence un cas de non inversibilité pour les sous-espaces dégénérésdeE.

Toutefois, notre exposé des algèbres géométriques s’est intéressé aux propriétés et opérateurs principaux(produits des algèbres et contraction), afin d’en permettreune application immédiate dans nombre deproblèmes (notamment le calcul de visibilité présenté au chapitre5). Mais, faute de temps principale-ment, d’autres opérateurs introduits dans les présentations applicatives sont manquants dans cette partie(opération d’intersection entre sous-espaces, dualité, l’inversion de multivecteurs évoquée dans le para-graphe1.3.6mais pas approfondie, exponentiation, différenciation),bien que ceux-ci sont intéressantsen pratique. Nous reviendrons sur cette remarque dans les perspectives présentées ci-dessous.

Une approche mathématique inadaptée à l’informatique

La présentation de la structure abstraite des algèbres de Grassmann et de Clifford, ainsi que de leursfondements, peuvent être trouvés dans les textes mathématiques (par ex. [Che96, Cru90]).

Toutefois, ces textes sont généraux et parfois succincts sur certaines explications, et sont par conséquentparticulièrement peu accessibles aux non-mathématiciens. Notre synthèse de ces présentations a consistéentre autres à les simplifier, en nous limitant notamment auxespaces vectoriels quadratiques non dégé-nérés, sur des corps de caractéristiques 0. Cette simplification a permis d’établir des propriétés à partirde raisonnements plus simples et intuitifs, comme la conjonction des algèbres

∧(E) et C(E) (cf. §1.3.4,

page32). Cette limitation est adaptée aux différentes utilisations que l’on souhaite faire de ces algèbresen informatique graphique.

Connaissance de l’interprétation géométrique des algèbres

Subséquemment à la définition des structures algébriques, la présentation des modèles d’interprétationet des techniques d’évaluation et de programmation des algèbres géométriques a permis de comprendrecomment interpréter et utiliser concrètement cette structure en géométrie.

Ces concepts sont notamment amplement étudiés dans les textes pragmatiques, qui s’intéressent auxapplications des algèbres en géométrie et en informatique.Bien que très succincte sur ces sujets, notresynthèse s’est efforcée d’apporter à ces présentations unemeilleure mise en évidence des spécificitésdes différentes manières d’interpréter ou de programmer les algèbres géométriques. Nous avons noté,par exemple, qu’un problème géométrique simple pouvait avoir une solution simple dans le modèleeuclidien et moins simple dans le modèle conforme, tandis qu’une opération plus complexe serait difficileà exprimer dans le modèle euclidien, mais accepterait une expression simple dans le modèle conforme.

Page 83: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

3.4. Perspectives 71

Notre exposé apporte ainsi un recul utile pour aborder les présentations plus détaillées de ces modèlesd’interprétation [DFM07, PH03].

3.4 Perspectives

Comme nous l’avons relevé précédemment, cette partie n’a puexplorer en détail les différents aspectsdes algèbres géométriques. Un travail de recherche reste à accomplir concernant la définition de certainsopérateurs dans la structure de l’algèbre ainsi que la connaissance du modèle conforme d’interprétation.Pour chacun de ces points, nous pouvons proposer les perspectives suivantes.

Définition d’opérateurs et structure des algèbres

Dans le chapitre1, un certain nombre d’opérateurs, introduits dans la bibliographie pour leur intérêt engéométrie, n’ont pas été étudiés ou seulement évoqués. Il s’agit par exemple de l’opérateur de dualité,de l’interpolation des transformations orthogonales [WL04], des opérateurs de projection et d’intersec-tion [BDP02], ou encore la différenciation dans l’algèbre géométrique[Hes93, Hes86] afin d’étudier lescourbes et surfaces lisses.

Pour permettre une meilleure compréhension de ces opérateurs et en dégager de nouvelles propriétés,nous souhaitons étudier ces notions, comme nous l’avons fait avec la contraction.

Étude approfondie des modèles de géométrie

Concernant l’étude des modèles d’interprétation géométrique des algèbres, celle présentée dans le pa-ragraphe2.1.2est assez incomplète concernant le modèle projectif et le modèle conforme. Le modèleprojectif fait notamment le sujet d’une analyse plus poussée dans le paragraphe5.1.2du chapitre5 etdans l’annexeB.2.

Concernant le modèle conforme, sa définition habituelle manque de détails. Ce manque est illustré par lenombre insuffisant de démonstrations mathématiques, ce quin’en permet pas une connaissance appro-fondie (voir par ex. [HLR99b, Hes01, HLR99a, DLL02]). Plus récemment, l’étude de ce modèle a faitapparaître de nouvelles interprétations géométriques desmultivecteurs [DFM07], augmentant ainsi la ri-chesse de ce modèle du point de vue de la représentation de concepts géométriques ; mais ces définitionsmanquent toujours, à notre avis, d’un cadre mathématique qui en permette une analyse plus poussée,notamment à propos de la consistance générale de ces définitions et interprétations. Pour ces raisons, untravail d’étude plus poussée sur ce modèle semble nécessaire. La définition mathématique initiale de cemodèle par Anglès [Ang80], longtemps ignorée parce qu’écrite en français11, semble être un bon pointde départ à cette étude.

11Les travaux d’Anglès sur les groupes conformes en géométrieont depuis fait l’objet d’un livre en anglais [Ang07].

Page 84: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

72 Chapitre 3. Conclusions sur l’approche didactique des algèbres géométriques

Page 85: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Deuxième partie

Calcul exact de la visibilité globale endimension quelconque

73

Page 86: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 87: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

75

Dans cette partie, nous nous intéressons au sujet central dece mémoire. Il s’agit de définir un cadrealgébrique pour représenter puis calculer de manière robuste et efficace, une information de visibilitéglobale, dans un espace projectif de dimensionn quelconque. Utilisé dans un contexte hors-ligne, lecalcul proposé est capable de représenter une information de visibilité dans un espace projectifPn, où ilest possible, par exemple, de fournir rapidement des réponses aux questions suivantes :– Deux points pris sur deux faces dansPn sont-ils visibles l’un de l’autre ?– Soit un point pris sur une face dePn, quelle est la portion visible d’une autre face depuis ce point ?Nous présentons, dans le chapitre4, une introduction aux travaux existants sur le calcul de visibilitéglobale, puis discutons de leurs intérêts et de leurs limites. Notre calcul de la visibilité globalen-dimensionnelle, reposant sur un cadre théorique permettant d’exprimer le phénomène de visibilité pardes termes algébriques, est exposé dans le chapitre5. À partir de cette théorie, nous proposons dans lechapitre6 un ensemble d’algorithmes afin de calculer la visibilité globale entre deux faces convexes, demanière robuste et efficace. Nous montrerons alors que ces algorithmes, outre leur généricité, améliorentsignificativement les méthodes existantes dans le cas tridimensionnel.

Page 88: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

76

Page 89: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 4

Introduction à la visibilité globale

La visibilité globaleest une information de visibilité obtenue de manière globale sur un ensemble infinide points correspondant à une région ou une surface de l’espace. Concrètement, elle vise à regrouperles couples de points mutuellement visibles dans des ensembles appelés cellules, en fonction des ob-jets sur lesquels ils se trouvent. L’étude et la représentation de cette information reposent sur la notiond’évènements visuels, qui décrit les lieux de changement dela visibilité.

Ce chapitre introduit la visibilité globale, les concepts sur lesquels elle s’appuie et les problèmes liésà sa représentation. La section4.1 présente une définition des évènements visuels, apparaissant commeune première théorie décrivant lephénomène de visibilité. La section4.2exposera alors les travaux exis-tants qui utilisent cette théorie pour calculer une représentation de la visibilité globale. Cette présentationdistinguera un ensemble de travaux sur le calcul d’occultation reposant sur les coordonnées de Plücker,apparaissant comme les premières méthodes efficaces de calcul de visibilité globale. Ces travaux pose-ront les bases de notre approche du calcul de visibilité. La section4.3 revient plus en détail sur ceux-ci,afin d’en dégager les principaux avantages et inconvénients. Enfin, la section4.4 discute des limitesde ces méthodes puis motive l’intérêt d’une théorie algébrique de la visibilité globale, qui offre unemeilleure connaissance des concepts mis en œuvre et permet d’exprimer et de calculer efficacement uneinformation de visibilité globale en dimension quelconque.

4.1 Étude globale de la visibilité

Il existe différentes études bibliographiques récentes qui abordent la visibilité globale (par ex. [BW03,Dur00]) et ses applications dans différents domaines des sciences pour l’ingénieur.

Ces différentes études bibliographiques font apparaître un grand nombre de questions liées à la visibilitéglobale. De manière non exhaustive, nous pouvons citer :– Le rendu d’ombres douces.– Le calcul des facteurs de formes, qui consiste à modéliser les échanges d’énergies entre deux éléments

de surfaces (par exemple deux polygones).– Plus généralement l’illumination globale, où chaque polygone de la scène est une source de lumière

indirecte par réflexion depuis les véritables sources.– Le calcul d’ensembles d’objets potentiellement visiblesdepuis une région de l’espace (potentially

visible setou PVS), généralement utilisé pour accélérer le rendu de grandes scènes.

77

Page 90: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

78 Chapitre 4. Introduction à la visibilité globale

Ces questions ne sont pas des plus récentes, mais sont néanmoins toujours le sujet d’actives recherches.

Beaucoup des techniques développées pour trouver une solution à ces problèmes consistent à résoudreun problème plus simple où aucun calcul de visibilité globale n’intervient. Il s’agit par exemple desméthodes de Monte-Carlo ou des méthodes reposant sur les hémicubes. Ces simplifications sont parfoismotivées pour des raisons d’efficacité, comme pour le rendu temps réel, ou parfois simplement parcequ’une méthode globale semble trop complexe. Mais ces simplifications impliquent également des ré-sultats approximatifs.

Pourtant, certaines applications requièrent un résultat exact ou bien ne peuvent s’exprimer par un pro-blème plus simple. Il s’agit d’applications critiques où laprécision du calcul est essentielle, comme enimagerie médicale ou en CAO, pour la conception de pièces mécaniques soumises à des contraintes devisibilité, d’applications souhaitant un rendu plus réaliste de certains phénomènes, comme les ombresdouces, et de problèmes fondamentalement liés à une information de visibilité globale, comme le calculde vues que nous évoquerons dans la section4.2. Ces problèmes sont à l’origine de travaux sur la carac-térisation, la représentation et le calcul de visibilité globale. La caractérisation de la visibilité s’appuiedans ces travaux sur la notion d’évènements visuels. Le paragraphe suivant introduit cette notion, afinde donner une intuition de la caractérisation du phénomène visuel et donc de la visibilité globale. Cetteprésentation est également utile pour comprendre certainstermes utilisés dans la suite de ce chapitre.

4.1.1 Caractérisation du phénomène de visibilité par les évènements visuels

La représentation et le calcul d’une information globale dela visibilité nécessitent une compréhension duphénomène de visibilité. Les premiers travaux visant à donner une description théorique de la visibilitéet des phénomènes visuels se sont intéressés auxlieux où changeait la visibilité et à lamanièredont ellechangeait. Un tel changement dans la visibilité est appeléévènement visuel.

Cette notion d’évènement visuel a été introduite par Koënderink dans ses travaux sur le graphe d’as-pect [KvD76], présentés dans la section4.2. Elle s’appuie sur la théorie des singularités appliquée à lagéométrie, plus connue sous le nom dethéorie des catastrophesde Thom [Tho72]. Cette théorie étanthors du contexte de notre étude, nous n’en parlerons pas davantage. Celle-ci permet toutefois de généra-liser la notion d’évènement visuel pour les objets lisses. Une introduction de cette théorie dans le cadrede l’étude des silhouettes des objets peut être trouvée dansl’ouvrage de Koënderink [Koe90].

De manière générale, un évènement visuel correspond à un ensemble de droites tangentes à un ou plu-sieurs objets. Un déplacement par rapport à ces droites correspond alors à un changementbrusquede la«fonction» de visibilité, caractérisant un changement qualitatif de la visibilité. Ce changement soudaincorrespond à une singularité, du point de vue de la théorie des singularités. Il existe différentes présen-tations de ces évènements dans la littérature (voir par ex. [Dur00, Nir03, Mor06]), souvent limitées auxsingularités de dimensions 0 et 1 dans l’espace tridimensionnel. La sous-section suivante est une syn-thèse de ces présentations. Elle est suivie d’une réflexion sur les évènements visuels de dimension 2 et 3,souvent ignorés mais néanmoins utile pour la compréhensiondu phénomène visuel.

Les 0 et 1-évènements visuels

La figure 4.1(a) représente une scène polygonale constituée de deux polygones P1 et P2. Lorsqu’unobservateur regarde le sommetV de P1 et se déplace de la position 1 vers la position 3, ce sommetdisparaît «soudainement» derrière le polygoneP2 (position 2). Ce changement de la visibilité est un

Page 91: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.1. Étude globale de la visibilité 79

b

b

b

1

2

3

b

P1

P2

VE

1

2

3

(a) Évènement visuel généré par un sommetV et une arêteE. Lorsquel’observateur se déplace de haut en bas, le sommet disparaîtderrièrela face, au passage de l’arêteE.

b

P1

P2

VE

(b) L’évènementEV correspond à une sur-face plane générée par l’ensemble desdroites prises entre le sommetV et les pointsde l’arêteE.

FIG. 4.1 – Évènement visuelEV, généré par une arête et un sommet. Le sommetV disparaît derrièrela faceP2 dés que l’observateur passe en dessous du plan généré par l’arête et le sommet. Ce plancorrespond au faisceau de droites passant par le sommetV et un point quelconque de l’arêteE.

évènement visuel.

Si l’observateur regarde ce point disparaître depuis différents endroits, la surface limite où se produit lechangement correspond au plan généré par le faisceau des droites prises entre le sommet et l’ensembledes points de l’arête (figure4.1(b)). Cette surface correspond à l’évènement visuel généré parl’arêteEet le sommetV. Cet évènement est appelé évènementEV (pourEdge-Vertex). Il s’agit d’un évènementde dimension 1, selon la dimension de l’ensemble des droitesdu faisceau déterminé par le sommet etl’arête. Cette dimension peut être vue comme le degré de liberté du point se déplaçant sur l’arêteE etdéterminant, avec le sommetV, une unique droite du faisceau.

Un autre type d’évènement visuel de dimension 1 est l’évènement EEE (pour Edge-Edge-Edge), quiapparaît à partir de trois arêtes (cf. figure 4.2). Il correspond à la disparition d’un objet (l’arêteE1 dupolygoneP1 de la figure4.2) derrière deux autres. Cette disparition s’effectue lorsque l’observateurtraverse une quadrique correspondant à la surface réglée déterminée par les droites passant par les troisarêtesE1, E2 et E3.

Enfin, la dernière catégorie d’évènements visuels étudiés dans la bibliographie sont ceux de dimension 0.Ils correspondent à une seule droite, passant par deux sommets (évènementVV), un sommet et deuxarêtes (évènementEEV) ou encore quatre arêtes à la fois (évènementEEEE). La droite correspondant àun tel évènement visuel est appelée droite extrême de visibilité ou ESL (extremal stabbing line), c’est unedroite n’ayant aucun degré de liberté. À nouveau, si l’observateur se trouve sur l’ESL puis s’en éloigne,il verra un premier sommet disparaître derrière le second oubien derrière les deux arêtes à la fois.

Dégénérescences

Les cas présentés ci-dessus concernent des arêtes enposition générale. Mais il existe des configurationsparticulières où un évènement visuel est généré par des arêtes et sommets en positions dites dégénérées.La figure4.3montre un exemple d’évènementEEV dégénéré, dans lequel les droites incidentes au som-met et aux deux arêtes forment un ensemble de dimension 1 : lesdroites n’ont qu’un seul degré de liberté.

Page 92: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

80 Chapitre 4. Introduction à la visibilité globale

b

1

2

3

123

P3

P1

P2

E1

E2

E3

FIG. 4.2 – Évènement visuelEEE, généré par trois arêtes. L’arêteE1 disparaît complètement derrière lesfacesP2 etP3 dès que l’observateur passe derrière la surface réglée générée par les droites tangentes auxtrois arêtesE1, E2, etE3 (adapté de [Mor06]).

b

V

E1

E2

FIG. 4.3 – Évènement visuel dégénéré, obtenu par les droites incidentes à un sommet et deux arêtescoplanaires. L’évènement correspond à un faisceau de droite (dimension 1), et non à une ESL (dimension0), comme précédemment.

Page 93: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.2. Travaux précédents sur le calcul de visibilité globale 81

Cela revient au même évènement généré par le sommet et l’une des arêtesE1 ou E2, sans la seconde.

Nous verrons dans la suite l’importance de ces cas, concernant la robustesse,i.e. la capacité à traiter lescas dégénérés, des approches de la visibilité globale.

Les2 et 3-évènements visuels

Les présentations usuelles [Dur00, Mor06, Nir03] des évènements visuels considèrent principalement lesévènements de dimension 0 ou 1 (cf. ci-dessus),i.e. correspondant à des ensembles de droites possédantrespectivement 0 ou 1 degré de liberté. Lorsqu’une droite n’est soumise à aucune contrainte d’incidence,elle possède 4 degrés de liberté. Les évènements de dimension 2 et 3 existent donc également : lespremiers sont générés par deux arêtes ou un sommet, tandis que les seconds sont générés par une seulearête.

La différence entre ces évènements et ceux de dimension 0 ou 1est qu’ils ne décrivent pas une surfaceréglée, mais unvolumede droites. Autrement dit, contrairement aux 0 et 1-évènements visuels, un chan-gement de point de vue ne suffit plus à observer le changement visuel dans le cas des 2 et 3-évènementsvisuels. Cela signifie que la notion de point de vue ne suffit pas à caractériser complètement la visibilité.Prenons par exemple deux polygonesP1 etP2, et un point de vueε (voir figure4.4). La limite de vue dupolygoneP1 relativement à l’observateur placé enε est située sur l’arêteE du polygoneP2. Si la direc-tion de vue s’éloigne de cette arête, alors le point vu par l’observateur sera soit surP1, soit surP2. De lamême manière, le changement du point de vueε change également les directions de vues permettant devoir le polygoneP1. Ce changement est la conséquence de l’évènement visuel de dimension 3, générépar l’arêteE.

Ce qu’illustre cet exemple est que l’étude du phénomène de visibilité ne peut se réduire à l’étude d’unensemble de points de vues. Elle nécessite l’association d’un ensemble de directions à chacun des pointsde vues. C’est seulement à partir d’une telle association que les évènements visuels de dimension 2 et 3prennent tout leur sens.

Cette remarque explique pourquoi la visibilité tridimensionnelle semble compliquée : c’est parce qu’ellel’est visuellement. Durand [Dur99] note justement l’échec d’une approche de la visibilité globale tridi-mensionnelle, dans l’espace géométrique où sont définis lesobjets de la scène,i.e. l’espace objet selonla terminologie de Durand. Elle justifie au contraire l’approche de la visibilité à partir d’ensembles derayons ou de droites (cf. section4.2), qui sont la donnée de points et de directions.

Ainsi, parvenir à caractériser la visibilité globale nécessite avant toute chose de comprendre les en-sembles de droites : l’espace des droites semble être naturellement l’abstraction essentielle à la carac-térisation de la visibilité. Nous verrons, en particulier,que tout évènement visuel, quelle que soit sadimension, correspond à une variété dans l’espace des droites.

4.2 Travaux précédents sur le calcul de visibilité globale

Cette section présente une synthèse des travaux existants sur la représentation globale de la visibilité.Celle-ci reprend en partie celles de Mora [Mor06] et de Durand [Dur00], que nous complétons pardes réflexions personnelles. Elle présente également des travaux actuels sur l’application du calcul deSchubert à l’étude de la visibilité, que nous pensons particulièrement intéressants et comparables, surcertains points, à notre approche.

Page 94: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

82 Chapitre 4. Introduction à la visibilité globale

b

b

b

12

3

b

b

b

b

P2

E

ε

P1

123

FIG. 4.4 – Évènement visuel généré par une arêteE. L’évènement correspond à un volume de droitestangentes à l’arêteE. Cet évènement signifie que pour un point de vue donné, la limite de vue du polygoneP1 est l’arêteE du polygoneP2.

Partition des vues

Les premières techniques ayant trait à une caractérisationde la visibilité globale concernent les graphesd’aspects. Ces méthodes ont été introduites initialement en vision par ordinateur pour la reconnaissanced’objets à partir des différentes vues possibles de celui-ci [KvD76, KvD79]. D’abord définis sur desobjets polygonaux, leur construction fut par la suite étendue pour des objets lisses [Pet92].

Un graphe d’aspect est une représentation de toutes les vuesd’un objet, regroupées en cellules dansun espace de vues pouvant être représenté par la sphère des directionsS2. Chaque cellule correspond àl’ensemble des vues pour lesquelles l’aspect de l’objet reste le même. Le bord de ces cellules correspondimmédiatement aux évènements visuels de dimension 0 et 1 : ils’agit des intersections entre la sphèreS2 et les surfaces générées par les droites correspondant aux évènements visuels.

Les applications des graphes d’aspects sont assez limitées. Les raisons sont principalement un manquede robustesse pour la construction du graphe dans certains cas dégénérés, la taille du graphe en mémoire,ainsi que la difficulté d’en extraire une information pertinente. Il n’est pas possible, à partir d’un graphed’aspect, de déterminer par exemple si deux points sont mutuellement visibles.

Platinga et Dyer [PD90] proposent une structure, l’asp (pouraspect representation), pour construire legraphe d’aspect d’un objet polyédrique. Ils utilisent pourcela une paramétrisation des droites ou desrayons de l’espace. Leur structure correspond, pour un objet, à une représentation de l’ensemble desdroites traversant cet objet. Le calcul de l’occlusion d’unobjet par un autre revient à soustraire l’aspde l’objet générant l’occlusion à l’asp de l’objet occulté.Malheureusement, l’asp est en pratique luiaussi limité par une structure complexe et difficile à représenter : aucune implantation de celle-ci n’estmentionnée.

Un problème récurrent apparaissant dans ces méthodes de représentation des vues des objets est l’inca-pacité d’en extraire certaines informations élémentairesconcernant la visibilité. Par exemple, un graphed’aspect ne permet pas de savoir si deux points sont mutuellement visibles. Ainsi, ces méthodes, bienque représentant une information de visibilité, ne suffisent pas à caractérisertoutela visibilité.

Représentation de la visibilité globale : le complexe de visibilité et le squelette de visibilité

Le complexe de visibilité 2D de Pocchiola et Vegter [Poc93] apparaît comme la première structure per-mettant la description et l’étude de la visibilité globale dans le plan. Sa définition s’appuie sur une notion

Page 95: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.2. Travaux précédents sur le calcul de visibilité globale 83

de rayons équivalents,i.e. des rayons ayant la même droite support et dont leurs origines sont mutuelle-ment visibles.

Cette première étude est étendue au cas tridimensionnel parDurandet al. [DDP97a]. La définition ducomplexe de visibilité 3D de Durand s’appuie en revanche surla notion de segment libre maximal,i.e.un segment borné par deux objets et ne rencontrant aucun autre objet en son milieu. Cela correspondà un couple de points mutuellement visibles, chacun sur la surface d’un objet. Les notions de rayonséquivalents et de segments libres maximaux sont expliquéesplus en détail puis comparées dans [Goa04].Nous rappelons ici le principe du complexe de visibilité dans ces espaces.

Un complexe de visibilité est une partition de l’espace des segments libres maximaux (ou bien des rayonséquivalents), en fonction des objets vus par ceux-ci. Le résultat est un complexe cellulaire où chaquecellule représente l’ensemble des segments ou rayons atteignant les deux mêmes objets à leurs extrémités.

Les faces du complexe (de dimension 0 à 4 dans le cas tridimensionnel) sont définies en fonction dunombre d’objets auxquels les segments ou droites qu’elles représentent sont tangents. Cela correspondde manière équivalente au degré de liberté de ces droites. Ainsi, dans le cas tridimensionnel, les facesde dimension 4 représentent des droites non contraintes tandis que les faces de dimension 0 à 3 corres-pondent aux évènements visuels de la scène.

Tous les évènements visuels sont représentés dans le complexe de visibilité. En ce sens, il s’agit d’unestructure représentant la visibilité globale : elle contient une information complète sur toutes les singu-larités apparaissant dans la visibilité. Durand note par ailleurs que l’information du graphe d’aspect estimplicitement contenue dans le complexe de visibilité.

Toutefois, la construction du complexe de visibilité 3D de Durand n’est pas robuste aux dégénéres-cences et est particulièrement gourmande en ressources tant mémorielles que temporelles. Récemment,Goaoc [Goa04] a proposé un nouvel algorithme robuste de construction du complexe de visibilité 3D, no-tamment pour des objets courbes ou des polygones en positions quelconques. Son travail sur le complexede visibilité repose principalement sur la paramétrisation de Plücker (voir section4.3et annexeC.2). Ceformalisme est, selon Goaoc, plus approprié que toute autreparamétrisation des droites de l’espace tridi-mensionnel, en raison de ses propriétés algébriques [Goa04]. Cela lui permet de montrer des propriétéssur la complexité théorique du complexe de visibilité.

Pour palier les défauts du complexe de visibilité liés à l’occupation mémoire, Durandet al. proposentla structure de squelette de visibilité [DDP97b], une restriction du complexe de visibilité aux 0-faceset 1-faces (les sommets et les arêtes), que Duguet améliore par une construction robuste aux dégéné-rescences [DD02]. Cette structure s’avère plus effective, mais représenteune information incomplètede la visibilité. Cette simplification est toutefois suffisante pour son application en radiosité hiérar-chique [DDP99].

Pour résumer, le complexe de visibilité est une structure intéressante du point de vue théorique essentiel-lement. Celle-ci a permis des avancées considérables dans l’étude du phénomène visuel tridimensionnel,notamment sur la complexité probabiliste de ce phénomène, où Goaoc montre que la taille du complexecroît linéairement en fonction du nombre d’objet [Goa04]. Celle-ci est de plus la première structure àpermettre une représentation concrète de la visibilité globale tridimensionnelle. Concernant le squelettede visibilité, cette structure à l’avantage d’être plus facilement utilisable en pratique, mais représentecependant une information de visibilité incomplète.

Page 96: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

84 Chapitre 4. Introduction à la visibilité globale

Le calcul de Schubert en géométrie algorithmique

Une branche de la géométrie algorithmique s’intéresse aux problèmes des droites tangentes à des objetsdans des espaces de dimensions quelconques, principalement des sphères et des quadriques (voir parex. [SBDL07, ST02, The02, ST07]). L’intérêt de ces travaux est qu’ils sont les seuls à s’intéresser auphénomène visuel dans des espaces de dimensions supérieures à 3, pour certains problèmes en mécaniqueou en visualisation de données [GT05].

Leur approche fondamentale est celle ducalcul de Schubert(Schubert calculus), une branche de lagéométrie énumérative, introduite au 19ème siècle par Hermann Schubert [Sch79]. Ce calcul est utilisédans un but théorique, afin d’étudier la complexité du phénomène visuel en dimension quelconque. Ilconsiste, dans ce contexte, à déterminer le nombre fini de droites incidentes à un ensemble de varié-tés linéaires, à l’aide de structures combinatoires déduites d’équations sur des coordonnées de Plückergénéralisées [Sot03] (cf. annexeC.2.2). Algébriquement, cela revient à énumérer le nombre de pointsd’intersection entre une variété, représentant les contraintes d’incidences à l’ensemble des variétés li-néaires, et une grassmannienne,i.e.une variété correspondant à l’ensemble de droites dans un espace dedroites (voir définition1.9, page25 et chapitre5).

Ces travaux nous semblent particulièrement intéressants parce qu’ils reposent sur un formalismealgé-briquementéquivalent à celui que nous utilisons dans le chapitre5. Il s’agit en outre des seuls travauxutilisant une représentation générale des droites en toutedimension. Toutefois, leur point de vue est dif-férent du nôtre, car ils ne s’intéressent pas à la représentation de la visibilité. Pour cette raison, leurapproche ne nous satisfait pas directement.

Calculs d’occultation fondés sur les coordonnées de Plücker

Les travaux sur le calcul d’occultation dans l’espace des droites [TH91, Pel93, Pu98, Nir03, Bit02,Mor06], utilisant la paramétrisation de Plücker, représentent la première solution algorithmique permet-tant de calculer puis d’utiliser dans un contexte applicatif une information de visibilité globale. L’étudeprésentée dans ce mémoire s’appuie essentiellement sur cesméthodes.

Les coordonnées de Plücker sont une paramétrisation analytique des droites de l’espace tridimensionneldans un espace projectifP5, appelé espace des droites ou encoreespace de Plückerpar abus de langage(cf. section4.3 et annexeC.2, page222). Elles procurent un cadre analytique pour faire des calculs surdes droites et des ensembles de droites. Il s’agit précisément du cas tridimensionnel des coordonnées dePlücker utilisées dans le calcul de Schubert (voir ci-dessus).

Teller utilise la paramétrisation de Plücker afin de déterminer l’ensemble des droites passant par unesuite de polygones [TH91]. Il applique ensuite cette méthode pour accélérer le calcul d’illuminationdans des scènes intérieures [TH94]. Ce travail constitue une première forme d’information devisibilitéglobale, mais ne permet pas immédiatement de calculer l’occultation, c’est-à-dire une représentation dela visibilité en prenant en compte l’occultation de la visibilité d’un polygone par d’autres polygones.

Pellegrini [Pel93] propose la construction d’un arrangement d’hyperplans dansP5, i.e. l’espace projectifdans lequel sont plongées les droites de l’espace tridimensionnel. Le résultat est une subdivision decet espace en un ensemble de cellules, représentant chacuneles droites passant par une même suitede polygones. Cet arrangement est étudié afin de déterminer une solution au problème du lancer derayons enO(logn), oùn est le nombre d’hyperplans (d’arêtes de la scène). Cette solution reste cependantinexploitable en pratique, en raison de la taille importante de l’arrangement, de complexitéO(n4 logn).

Page 97: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 85

À partir de ces deux premiers travaux, Pu [Pu98] définit un premier calcul d’occultation à partir de laparamétrisation de Plücker. Il parvient alors à déterminerune représentation exacte de la visibilité de lascène depuis un polygone, en construisant un arrangement similaire à celui de Pellegrini. Toutefois, pourla même raison que précédemment, cette méthode s’avère inefficace en pratique, limitée à des scènescontenant une quinzaine de polygones.

Nirensteinet al. [NBG02] et Bittner [Bit02] réutilisent le même principe puis l’améliorent pour le calculde PVS (ensemble des polygones visibles depuis une région del’espace). La principale différence entreces deux méthodes est l’information calculée et représentée : Bittner calcule une représentation complètede la visibilité de la scène depuis une face polygonale, tandis que Nirenstein détermine seulement un pré-dicat d’existence de visibilité entre des couples de polygones. En conséquence, la méthode de Nirensteinest plus efficace en pratique, mais ne constitue pas une représentation de la visibilité globale.

Mora [Mor06] utilise les avantages de ces deux dernières méthodes pour calculer la visibilité exacteentre des couples de polygones convexes. Ses travaux apparaissent comme la première méthode efficacepour calculer la visibilité globale pour des polygones en positions quelconques (ou encore«soupe depolygones») dans l’espace tridimensionnel. Pris sur tous les couples de polygones d’une scène, le résultatde ce calcul représente la même information qu’un complexe de visibilité pour une scène polygonale.

Toutefois, les travaux sur le calcul d’occultation, reposant sur la paramétrisation de Plücker, possèdentégalement des limites, concernant par exemple le traitement de certains cas dégénérés (cf. §4.3.3). D’unpoint de vue théorique ensuite, ceux-ci n’ont pas cherché à améliorer la connaissance du phénomène devisibilité, ni de l’espace de droites permettant la représentation de ce phénomène. Enfin, ces méthodes,ainsi que les travaux sur le complexe de visibilité, ne semblent pas directement généralisables à toutedimension, bien que cela représente un intérêt, comme le montre l’étude du calcul de Schubert pour lavisibilité (voir ci-dessus).

En raison de leur intérêt pratique, puisqu’ils correspondent à la première méthode de calcul de visibilitéglobale réellement exploitable, ces différents travaux sur les coordonnées de Plücker constituent le prin-cipal point de départ des nôtres, qui visent alors à résoudreleurs principaux problèmes. La section4.3présente plus en détail les méthodes algorithmiques de chacun de ces travaux et met en évidence lesraisons de leur efficacité ainsi que leurs faiblesses.

4.3 Les coordonnées de Plücker et le calcul de visibilité globale

Dans cette section, nous détaillons les principes du calculd’occultation à partir de la paramétrisation dePlücker et les différentes techniques existantes pour effectuer ce calcul. La description de ces techniquesservira notamment à comparer celles-ci avec notre approchepratique du calcul de visibilité globale,reposant sur ces travaux.

Le paragraphe4.3.1explique les principes généraux du calcul d’occultation. Le paragraphe4.3.2metensuite en valeur les différences de ces différents travauxafin de déterminer quelles sont les techniquesrendant ces méthodes efficaces et quels sont les points critiques pouvant être améliorés.

Page 98: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

86 Chapitre 4. Introduction à la visibilité globale

Avant propos

Rappels sur les coordonnées de Plücker

Nous rappelons ici les principales notions de la paramétrisation de Plücker, afin de comprendre les prin-cipes du calcul d’occultation à partir de celle-ci. Plus de détails peuvent être trouvés dans l’annexeC.2.

Les coordonnées de Plücker d’une droitel , passant par les pointsP : (p1, p2, p3) etQ : (q1,q2,q3), est le6-uplet homogèneΠl : (q1− p1,q2− p2,q3− p3, p2q3− p3q2, p3q1− p1q3, p1q2− p2q1), correspondantà un unique point de l’espace projectifP5.

L’ensemble des points deP5, dont la représentation homogène correspondant aux coordonnées de Plü-cker d’une droite, décrit une quadrique notéeQ et appelée quadrique de Plücker. Les pointsΠ decette quadrique vérifient l’équationΠ⊙Π = 0, où «⊙» est l’opérateurside, défini pour tout couple(Π1 : (π1

i )i=0...5,Π2 : (π2j ) j=0...5) de 6-uplets de coordonnées homogènes, par l’équation suivante (cf.

équation (C.1), page223) :

Π1⊙Π2 = π10π2

3 + π11π2

4 + π12π2

5 + π13π2

0 + π14π2

1 + π15π2

2

Cet opérateur peut être interprété pour déterminer l’orientation relativede deux droites de l’espace :soient l et l ′ deux droites associées respectivement aux pointsΠl et Πl ′ , sur la quadriqueQ dansP5.Nous avons trois cas possibles :

1. Si Πl ⊙Πl ′ > 0, alors la droitel ′ n’est pas incidente, ni parallèle à la droitel et tourne autour decelle-ci dans le sens «positif» (figure4.5(a)).

2. SiΠl ⊙Πl ′ = 0, alors la droitel ′ est incidente ou parallèle à la droiteΠl (figure4.5(b)).

3. Si Πl ⊙Πl ′ < 0, alors la droitel ′ n’est pas incidente, ni parallèle à la droitel et tourne autour decelle-ci dans le sens «négatif» (figure4.5(c)).

ll ′

(a) Πl ⊙Πl ′ > 0 : la droite l ′ tourneautour de la droitel , dans le sens «po-sitif».

ll ′

(b) Πl ⊙Πl ′ = 0 : la droitel ′ est inci-dente ou parallèle à la droitel .

ll ′

(c) Πl ⊙Πl ′ < 0 : la droite l ′ tourneautour de la droitel , dans le sens «né-gatif».

FIG. 4.5 – Calcul de l’orientation relative de deux droites à partir de l’opérateursideet de leurs coordon-nées de Plücker.

En réalité, nous verrons dans le chapitre5 que l’opérateursidecorrespond à l’expression d’une formebilinéaire symétrique non dégénérée. Cela signifie que l’ensembleΠ⊥l = {x ∈ P5|Πl ⊙ x = 0}, associébijectivement à la droitel , représente toujours un hyperplan dansP5. De cette manière, le calcul del’orientation relative de deux droites à partir de l’opérateursideest équivalent, dansP5, à une classifica-tion point/hyperplan : la valeur de l’expressionΠl ⊙Πl ′ indique de quel côté est le pointΠl ′ par rapportà l’hyperplanΠ⊥l . En particulier, la notion de droite orientée, dans ce cas, ne se réfère pas précisément àune orientation géométrique, mais à une orientation que nous qualifions d’algébrique(cf. annexeB.3) :

Page 99: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 87

le point ou 6-upletΠl représente la droite orientée dans un sens, tandis que son opposé−Πl représentela même droite, orientée dans l’autre sens. Les méthodes de calcul de la visibilité globale décrites danscette section s’appuient précisément sur l’utilisation del’opérateursidecomme d’une classification desdroites entre elles.

La paramétrisation de Plücker et les évènements visuels dansP5

Les évènements visuels correspondent à l’ensemble des droites tangentes à une ou plusieurs arêtes ousommets (cf. §4.1.1). Leur représentation dans l’espace des droitesP5, à partir de la paramétrisation dePlücker, est assez intuitive.

Soit une arêteE, déterminant une unique droitee. Cette droite correspond au pointΠe dansP5, ou demanière équivalente, à l’hyperplanΠ⊥e = {x∈ P5|Πe⊙x = 0}. D’après la propriété de l’opérateurside,l’ensemble des droites incidentes à la droiteecorrespond dansP5 à l’ensemble{x∈P5|x∈Q et Πe⊙x=0} des points appartenant à la quadriqueQ et à l’hyperplanΠ⊥e .

Cette remarque s’étend alors à l’ensemble des droites incidentes à plusieurs arêtes ou droites : les droitesincidentes àk droites(l j) j=1...k correspondent dansP5 à l’intersection entre la quadriqueQ et l’inter-section des hyperplans

⋂kj=1(Π⊥l j

). En considérant les sommets comme l’intersection de deux arêtes, il

est possible de représenter tous les évènements visuels d’une scène dansP5, par intersection entre laquadriqueQ et une variété linéaire deP5, déduite de l’intersection d’hyperplans.

De cette manière, tous les évènements visuels sont représentés dansP5 et correspondent à une sous-variété de la quadriqueQ.

Définitions préalables

Les définitions suivantes se rapportent aux notions abordées dans cette section et utilisées dans la suitedu document.

Définition 4.1 Pour le calcul de visibilité entre un polygoneA et un polygoneB, un occulteur O estun polygone ou un objet quioccultepotentiellement la visibilité entre les deux polygonesA et B. Ilssont caractérisés par les polygones dont au moins une partieest contenue dans l’enveloppe convexe dessommets de A et de B.

Définition 4.2 Un polytope convexe12 est un ensemble défini dans un espace de dimension n, par l’en-veloppe convexe d’un ensemble fini de points ou bien par l’intersection d’un ensemble fini de demi-espaces. [BY98]

Définition 4.3 La description d’un polytope convexe par l’ensemble de ses sommets, i.e. le plus petitensemble des points dont le polytope est l’enveloppe convexe, est appeléeV-représentationdu polytope(cf. figure 4.6(a)). De manière équivalente, la description d’un polytope convexe par les hyperplansde son bord, i.e. le plus petit ensemble d’hyperplans délimitant les demi-espaces dont le polytope estl’intersection, est appeléeH-représentationdu polytope (cf. figure4.6(a)).

12Le terme «polytope», utilisé dans la suite, fait toujours référence aux ensembles convexes représentant la visibilitédansl’espace des droites, tandis que le terme «polygone»,i.e. un polytope de dimension 2, fait référence aux faces de l’espacegéométrique entre lesquelles la visibilité est calculée.

Page 100: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

88 Chapitre 4. Introduction à la visibilité globale

s2

s3

s4

s1

b

b

b

b

(a) V-représentation du polytope : il est l’enveloppeconvexe des sommetss1, s2, s3 et s4

H1

H2

H3

H4

(b) H-représentation du polytope : il est l’intersection desdemi-espaces positifs associés aux hyperplansH1, H2, H3etH4.

FIG. 4.6 – V-représentation et H-représentation d’un 2-polytope du plan

4.3.1 Principes généraux du calcul d’occultation à partir de la paramétrisation de Plü-cker

Nous noterons dans la suitestab(A1 . . .An), l’ensemble des droites passant par une suite de poly-gones(A i)i=1...n. En particulier,stab(A1 . . .An) =

⋂ni=1 stab(A i).

Étant donnés un ensemble de polygones(Si)i=1...s et un ensemble d’occulteurs(O j) j=1...o, calculer l’oc-cultation entre ces polygones consiste à représenter dans l’espace des droites l’ensemble

⋂si=1stab(Si)\⋃o

j=1stab(Oj ), représentant les droites traversant les polygones(Si)i=1...s mais ne traversant pas les oc-culteurs(O j) j=1...o.

Ce paragraphe étudie les principes généraux de ce calcul. Celui-ci se déroule en deux étapes. D’une part,il s’agit de représenter l’ensemble

⋂si=1 stab(Si) des droites passant par tous les polygonesSi . D’autre

part, il s’agit de retrancher à cet ensemble les droites passant par chaque occulteur⋃o

j=1stab(Oj ).

Droites passant par un ou plusieurs polygones convexes

Telleret al.définissent, dans [TH91], une méthode algorithmique pour caractériser l’ensembledes droitespassant par un ou plusieurs polygones.

Ce calcul est assez immédiat dans l’espace des droitesP5, à partir de l’interprétation de l’opérateurside.Soit un triangleT (ou tout autre polygone convexe), d’arêtese1, e2 ete3 (voir figure4.7(a)). En orientantle triangle,i.e. tel que ses arêtes sont orientées de sorte que la seconde extrémité d’une arête coïncideavec la première extrémité de l’arête suivante, alors toutes les droites traversant le triangle sont orientéesde la même manière relativement à chaque arête du triangle.

Autrement dit, soitΠei le point deP5 représentant la droite support de l’arêteei dansP5. Une droiteltraverse le triangleT si et seulement si elle vérifie la propriété suivante :

signe(Πe1⊙Πl ) = signe(Πe2⊙Πl) = signe(Πe3⊙Πl) (4.1)

Selon le sens de traversée du triangle par la droitel , le signe deΠe1⊙Πl sera positif ou négatif pour touti dans{1,2,3}.

Page 101: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 89

l ′

l

e1

e2

e3

T

(a) Deux droites,l et l ′ passant dans le triangle dans deuxsens différents. Leurs orientations sont opposées relative-ment aux droites déduites des arêtes orientées du triangle.

~0

⋂3i=1

(Π∗+ei

)

Π∗e3

Π∗e2

Π∗e1

Πl

⋂3i=1

(Π∗−ei

)Πl ′

(b) Coupe 3D de l’espace vectorielR6 où sont représen-tées les coordonnées de Plücker des droites. Elle montredeux ensembles (deux cônes vectoriels) obtenus par l’in-tersection de demis espaces associés aux hyperplansΠ⊥e1

,Π⊥e2

et Π⊥e3, correspondant aux arêtese1, e2, e3 du tri-

angleT.

FIG. 4.7 – Caractérisation des droites passant par un triangleT. Ces droites sont comprises dans l’inter-section des demi-espaces positifs ou négatifs associés auxhyperplansΠ⊥e1

, Π⊥e2et Π⊥e3

déduits des arêtese1, e2 et e3 deT.

En considérant les hyperplansΠ⊥ei, l’équation (4.1) signifie que toutes les droites passant par le triangle

appartiennent à l’intersection des demi-espaces positifs⋂3

i=1

(Π⊥+

ei

), ou négatif

⋂3i=1

(Π⊥−ei

), selon le

sens de traversée du triangle. Ces intersections définissent deux «cônes» opposés dans l’espaceR6 déduitdeP5 (voir figure4.7(b)). Ces deux cônes correspondent projectivement à unpolytope convexedansP5

(voir définition4.2).

Ceci se généralise immédiatement à plusieurs polygones convexes(Si)i=1...s, en considérant toutes lesarêtes(ej) j=1,...,p orientées des polygones. Le résultat est un nouveau polytope défini par l’ensemble despointsΠ dansP5, vérifiant l’équation :

∀ j ∈ [1;p], Π⊙Πej ≥ 0

De manière immédiate, l’intersection des faces du bord du polytope avec la quadrique de PlückerQ

correspond aux droites des évènements visuels apparaissant sur les arêtes(ej) j=1,...,p des polygones(Si)i=1...s. Tous les évènements visuels sont représentés par ces intersections. Rappelons que la quadriqueQ correspond aux points deP5 représentant une droite de l’espace tridimensionnel.

Page 102: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

90 Chapitre 4. Introduction à la visibilité globale

Teller remarque que l’ensemble déduit de l’intersection des demi-espaces positifs associés aux hyper-plansΠej n’est pas toujours borné, tandis que l’intersection du polytope avec la quadriqueQ l’est tou-jours. L’intersection de cette quadrique avec le polytope correspond alors aux points représentant lesdroites

⋂si=1stab(Si) passant par l’ensemble des polygones(Si)i=1...s. À dire vrai, le polytope est tou-

jours borné car l’espace projectifP5 est géométriquement fermé. Toutefois, il n’existe pas toujours deV-représentation du polytope (voir définition4.3).

D’un point de vue algorithmique ainsi que pour des raisons d’efficacité, il est souvent préférable de pos-séder uneV-représentation du polytope. En notant que seule l’intersection du polytope et de la quadriqueQ est intéressante pour le calcul de visibilité, une telle représentation peut être obtenue en ajoutant deshyperplans au polytope, de sorte que ceux-ci ne modifient pascette intersection. Cette technique estnotamment utilisée par Bittner [Bit02] et Nirenstein [Nir03] (cf. §4.3.2). Cela leur permet d’une partd’effectuer des calculs par rapport aux sommets de laV-représentation, puis de limiter les calculs à unezone restreinte autour de la quadriqueQ.

Calculer l’occultation

Le calcul de l’occultation consiste à retirer d’un polytopePS, représentant les droites⋂s

i=1 stab(Si), lesparties représentant les droites

⋃oi=1stab(Oj ) passant par chaque occulteur. La solution revient à des

calculs de type CSG dansP5 [NBG02]. Le principe est simple et efficace (voir figure4.8) : pour unocculteurO, le polytopePS est coupé par les hyperplans associés aux arêtes deO. Cette coupe résulteen un ensemble de polytopes dont l’un représente les droitespassant par les faces(Si)i=1...s et l’occulteurO. Ce polytope peut être retiré de l’ensemble, ou bien marqué comme représentant des droites occultéesparO.

Effectué sur chaque occulteur, ce calcul résulte en une chaîne de polytopes représentant chacun unepartie des droites

⋂si=1 stab(Si)\

⋃oj=1stab(Oj ) passant par tous les(Si)i=1...s, mais pas par les occulteurs

(O j) j=1...o.

Les principaux changements entre les différentes méthodesde calcul d’occultation concernent :– La structure de données permettant de représenter les polytopes.– Les algorithmes de coupe d’un polytope par un hyperplan.– L’information du résultat final.Ces différences sont expliquées dans le paragraphe suivant.

4.3.2 Les méthodes de calcul d’occultation dans l’espaceP5

Arbres PSP de Pu [PM99, Pu98]

Pu [Pu98, PM99] propose un calcul de la visibilité depuis un polygone source (from-polygon visibility) enconstruisant un arbre PSP (Plücker Space Partition, un arbre BSP dansl’espace de Plücker) représentantdes polytopes par subdivision deP5 par des hyperplans selon le principe de Naylor [Nay90] : chaquenœud interne de l’arbre contient un hyperplan subdivisant l’espace en deux demi-espaces et chaquefeuille représente un polytope (voir figure4.9).

Pu part d’un arbre représentant toutes les droites passant par un polygone source, puis traite les hy-perplans correspondant aux arêtes des occulteurs : chaque hyperplan est inséré dans toutes les feuillesreprésentant une région découpée par celui-ci. Le résultatest l’arrangement d’hyperplans de Pelle-

Page 103: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 91

S1

O

S2

o1

o2

o3

(a) Visibilité des po-lygones S1 et S2,partiellement occul-tés par le polygoneO.

Q

(b) Intersection dansP5, du polytope représen-tant les droitesstab(S1S2) (en bleu) et du poly-tope représentant les droitesstab(O) (rouge).

Q

Π⊥o1

Π⊥o2

(c) Coupe du polytope représentant la visibi-lité (stab(S1S2)), par les hyperplans associés auxarêtes de l’occulteur, afin de déterminer puis sup-primer la partie occultée par l’occulteurO.

FIG. 4.8 – Illustration du calcul d’occultation pour deux polygonesS1 et S2 et un occulteurO. Le poly-tope initial est calculé puis découpé par les hyperplans associés aux arêtes de l’occulteur. Le résultat estune chaîne de polytopes où l’un d’eux représente la partiestab(S1OS2) des droites passant par la source,la cible et l’occulteur (adapté de [Nir03, Mor06]).

grini [Pel90, Pel93], représentant la visibilité depuis le polygone source.

L’inconvénient de cette méthode est qu’elle ne tient pas compte de la localité de l’occultation due à unocculteur : les hyperplans coupent tout l’espace et non seulement la région concernée par l’occulteur. Puobserve que sa méthode est soumise à la complexité théoriquemaximale d’un arrangement d’hyperplansdansP5, soitO(n4 logn) sur l’espaceP5, restreint à la quadriqueQ [APC93]. En pratique, cette méthodeest limitée à une quinzaine d’occulteurs, en raison d’une explosion combinatoire. Les méthodes [Nir03,Bit02, Mor06] qui ont suivi ont notamment eu pour objectif de réduire cette complexité maximale, eneffectuant des tests de rejet permettant de discriminer certaines coupes inutiles. La figure4.11sert dansla suite à illustrer les différents rejets définis dans ces méthodes.

Arbre d’occultation de Bittner [ Bit02]

Sur le même principe d’arbre BSP dans l’espace des droitesP5, Bittner [Bit02] propose une structured’arbre d’occultation(occlusion tree) pour calculer la visibilité depuis un polygone. La structure estsensiblement la même que celle de Pu, mais son calcul diffèresur plusieurs points.

L’algorithme de Bittner commence également avec un arbre représentant les droites passant par un poly-gone source. Les occulteurs sont ensuite considérés un à un,dans l’ordre de leur éloignement relatif parrapport à la source. Pour chaque occulteur, laH-représentation et laV-représentation (définition4.3) dupolytope des droites passant par la source et l’occulteur sont calculées. Ces représentations sont détermi-nées à partir des hyperplans associés aux arêtes de la sourceet de l’occulteur. Comme ces hyperplans nesuffisent pas à déterminer uneV-représentation (voir figure4.10et la remarque relative aux polytopes nonbornés dans le paragraphe4.3.1ci-dessus), Bittner ajoute deux autres hyperplans à laH-représentationdu polytope. Aucun détail n’est cependant fourni sur la détermination de ces hyperplans dans [Bit02].

Page 104: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

92 Chapitre 4. Introduction à la visibilité globale

H2

H4

H5H1

H3H7

H6P1

P2

P3

(a) Trois polygonesP1, P2 et P3 dans le plan, caractéri-sés par une partition binaire du plan par des hyperplans.L’orientation des hyperplans détermine le demi-espacepositif et le demi-espace négatif.

H1

H4 H2

H7 H5 H3

P2 H6 P1

P3

− +

− + +

− − −

(b) Arbre binaire représentant les trois polygonesP1, P2etP3 à partir d’une partition du plan. Les nœuds internescontiennent les hyperplans de la partition de l’espace, tan-dis que les feuilles représentent les polygones.

FIG. 4.9 – Caractérisation d’une chaîne de polygones par une partition binaire du plan, représentée parun arbre BSP.

Une fois ces représentations déterminées, celles-ci sont ensuite insérées dans l’arbre d’occultation. Pourcela, Bittner propose deux algorithmes :Le premier algorithme, inspiré de [NAT90], consiste à couper le polytope inséré par les hyperplanscontenus dans les nœuds de l’arbre, puis à insérer récursivement les fragments obtenus dans les sous-arbres correspondants : le fragment du côté positif (resp. négatif) de l’hyperplan dans le sous-arbre positif(resp. négatif).Le second algorithme consiste à rejeter laV-représentation du polytope par ces mêmes hyperplans,i.e.à tester les sommets du polytope à partir de l’opérateurside, sans procéder à la coupe de celui-ci. Celarevient à déterminer de quel côté d’un hyperplan sont les sommets du polytope (cf. figure 4.11(a)). Lepolytope est alors inséré globalement dans les sous-arbresoù il n’est pas complètement rejeté.Pour chacun des algorithmes, lorsqu’un polytope arrive dans une feuille, saH-représentation est ajoutéeà la place de la feuille. Cela a pour effet de simuler la coupe du polytope représenté par la feuille par leshyperplans du polytope inséré, et ainsi de permettre de déterminer la partie occultée par l’occulteur.

Ces deux algorithmes ont pour but de restreindre l’insertion des occulteurs dans la zone qu’ils occultent,réduisant ainsi conséquemment la taille de l’arbre. Pour améliorer davantage sa méthode, Bittner utiliseégalement une méthode deshaft cullingafin de subdiviser la région vue par le polygone source en sous-régions. L’algorithme est ensuite appliqué sur chaque sous-région.

L’inconvénient du premier algorithme est l’évaluation, à chaque coupe du polytope, de laV-représentation des polytopes à partir de leurH-représentation. Cela nécessite de nombreux calculs derésolution de systèmes linéaires, particulièrement sensibles aux imprécisions numériques. Le second al-gorithme ne nécessite pas ces calculs et est donc plus rapide. Il n’est en revanche pas aussi précis quele premier, vu que le polytope n’est pas découpé et que les rejets s’effectuent par conséquent sur un po-lytope plus grand que nécessaire. Par ce fait, un hyperplan peut ne pas rejeter le polytope non découpé,alors qu’il l’aurait fait sur un polytope découpé au fur et à mesure de son insertion dans l’arbre.

Page 105: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 93

S

C

s1

c1

R3

P5

QΠ⊥s1

Π⊥c1

stab(SC)

FIG. 4.10 – Ensemble convexe déterminé, dansP5, par les hyperplans associés aux arêtes de deuxpolygonesS et C de l’espace géométrique. Cet ensemble est sous-contraint,signifiant que la donnéedes hyperplans associés aux arêtes ne suffit pas à détermineruneV-représentation du polytope (adaptéde [Nir03, Mor06]).

Preuve de visibilité de polygone à polygone (Nirenstein [NBG02, Nir03])

Parallèlement aux travaux de Bittner, Nirenstein [Nir03] définit un calcul de visibilité entre un polygonesourceS et un polygone cibleC (polygon-to-polygon visibility). Le but est de calculer un prédicat devisibilité, i.e. obtenir une preuve de l’existence de visibilité entre deux polygones.

La principale différence avec les méthodes précédentes (Puet Bittner) est qu’aucune structure d’arbren’est utilisée : les polytopes sont explicitement représentés par la topologie de leurs bords, donnée par desgraphes d’incidence. Ce graphe décrit toutes les adjacences entre les faces des polytopes. Les nœuds dugraphe représentant les sommets du polytope sont associés àun plongement géométrique, correspondantà un point dansP5. La coupe des polytopes par les hyperplans est effectuée en utilisant une versionoptimisée de l’algorithme de Bajaj et Pascucci [BP96, Nir03], qui permet de couper un complexe depolytope en toute dimension.

Construction du polytope initial

L’algorithme de Nirenstein commence par construire un polytopePSC, représentant les droitesstab(SC).Comme pour Bittner, ce polytope est au départ sous-contraint (cf. figure4.10). Pour calculer ce polytope,Nirenstein commence par évaluer toutes les ESL. Celles-ci correspondent aux droites passant par unsommet deSpuis par un sommet deC (voir figure4.12(a)). Un vecteur de translation~r dansP5 est ensuitedéterminé afin de calculer les translatés des ESL dans les deux directions~r et−~r (voir figure4.12(b)).Ce vecteur~r est défini de sorte que les sommets calculés décrivent laV-représentation d’un nouveaupolytopePSC, tel que l’intersectionQ∩PSC est l’ensemble des droitesstab(SC).

Le calcul du vecteur~r dépend d’une transformation de la scène, de sorte que le polygoneS soit dans leplanxOydeR3. Pour éviter cette rotation, Haumontet al. [HMN05], définissent ce vecteur à partir de ladroite décrite par l’intersection entre les plans supportsdes polygonesS et C ; ils proposent une droiteparticulière dans le cas où les deux plans supports sont parallèles.

Page 106: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

94 Chapitre 4. Introduction à la visibilité globale

PSO

P2

Π⊥2

Π⊥1P3 Π⊥o3

Π⊥o2

Π⊥3

P1

Π⊥o1

(a) Test de rejet du polytopePSO desdroites entre la sourceS et un occul-teur O, par les hyperplansΠ⊥1 , Π⊥2et Π⊥3 contenus dans les nœuds d’unarbre BSP (Bittner [Bit02]). Permetd’éviter la coupe du polytope,P3 maispas celle du polytopeP1.

PSO

P2

Π⊥2

Π⊥1P3 Π⊥o3

Π⊥o2

Π⊥3

P1

Π⊥o1

(b) Test de rejet des polytopesP1,P2 et P3, contenus dans un complexede polytopes, par les hyperplansΠ⊥o1

,Π⊥o2

etΠ⊥o3associés aux arêtes de l’oc-

culteur O (Nirenstein [Nir03]). Per-met d’éviter la coupe du polytope,P1mais pas celle du polytopeP3.

PSO

P2

Π⊥2

Π⊥1P3 Π⊥o3

Π⊥o2

Π⊥3

P1

Π⊥o1

(c) Technique associant les deux re-jets (Mora [Mor06]). Permet d’éviterla coupe des polytopesP1 etP3 simul-tanément.

FIG. 4.11 – Résultat de la coupe d’un ensemble de polytopes pour déterminer l’occultation par unocculteurO : (a) rejet de Bittner, (b) rejet de Nirenstein, (c) association des deux rejets. En comparaison,un arrangement d’hyperplans consiste à effectuer toutes les coupes selon les hyperplansΠ⊥o1

, Π⊥o2etΠ⊥o3

.

L’intérêt du vecteur~r est double selon Nirenstein. D’une part, il permet de déterminer un graphe d’inci-dence pour le polytope initial, et ainsi d’effectuer les calculs à partir de ces sommets, comme la coupedu polytope par un hyperplan. D’autre part, il permet de réduire ce polytope à une zone proche de laquadriqueQ et limite ainsi les coupes inutiles des polytopes, lorsque l’un des deux polytopes résultantsne coupe pas la quadrique. La figure4.13illustre ce cas pour une coupe 2D du polytope.

Ordonnancement des occulteurs

Nirenstein définit également deux techniques améliorant considérablement la méthode de Pu, en rédui-sant la coupe de la visibilité. La première technique consiste à ordonner les occulteurs du plus importantau moins important, en terme d’occultation, à partir d’une heuristique sur leurs tailles. Ces occulteurssont ensuite utilisés dans l’ordre déterminé pour couper lepolytope initial. L’idée est de retirer en premierles plus gros ensembles de droites occultées avec un nombre réduit de coupes.

Rejet des polytopes

La seconde technique utilisée par Nirenstein [Nir03] est un test consistant à rejeter les sommets d’unpolytope contre les hyperplans associés à un occulteur (voir figure 4.11(b)). Si tous les sommets d’unpolytope sont du côté négatif d’un des hyperplans, alors on est assuré qu’aucune droite du polytope n’estoccultée par cet occulteur. Dans ce cas, le polytope est simplement rejeté de la coupe.

Page 107: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 95

S

C

l

s1

c1

(a) Deux polygones sourceS et cibleC dans l’espace objetR3. Les droitesextrêmes de visibilité entre ces deuxpolygones sont les droites allant d’unsommet deSvers un sommet deC.

bb

b

b

bb

b

Q

Πl

stab(SC)

~r

(b) Construction d’un polytope représentant les droitesstab(SC) dansP5. Ce po-lytope est construit à partir des hyperplans associés aux arêtes deS et C puis desESL translatées selon un vecteur~r.

FIG. 4.12 – Construction du polytope initial représentant les droitesstab(SC) passant par une face sourceS et une face cibleC. Les ESL (droites extrêmes de visibilité) sont utilisées pour ce but. Elles corres-pondent aux droites entre deux sommets deSet deC (adapté de [Nir03, Mor06]).

Q

Π⊥1Π⊥2PAB

Π⊥

(a) Coupe du polytopePAB par un hyperplanΠ⊥ dansP5.

Q

Π⊥1Π⊥2P+

AB

P−AB

Π⊥

(b) Après la coupe, le polytopeP−AB résultant ne contientpas d’intersection avec la quadriqueQ.

FIG. 4.13 – Vue 2D d’un polytope sous-contraintPAB , entre deux polygones convexesA etB. La coupedePAB par l’hyperplanΠ⊥ résulte en deux polytopes dont un n’ayant aucune intersection avec la qua-driqueQ. Cette coupe est inutile. Pour l’éviter, les contraintes ajoutées pour borner le polytope doiventêtre choisies à proximité de la quadrique.

En pratique, ce test de rejet réduit considérablement la complexité de la coupe des polytopes, comparéeaux premiers travaux de Pu. Associée à l’ordonnancement desocculteurs, cette technique est la principalesource d’efficacité de la méthode de Nirenstein.

Page 108: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

96 Chapitre 4. Introduction à la visibilité globale

Silhouettes et représentation alternative des polytopes

Haumontet al. [HMN05] améliorent les travaux de Nirenstein en proposant un traitement de la sil-houette et une représentation des polytopes à partir de leurs squelettes plutôt que de leurs graphes d’in-cidences [HMN05].

bb

bb

H3

Hc

s1

s3

H1 s2 H2

H4s4

FIG. 4.14 – Coupe d’un cube par un hyperplanHc. Quatre sommets sont créés :s1 =H1∩H4∩Hc, s2 =H1∩H2∩Hc, s3 =H2∩H3∩Hc ets4 =H1∩H4∩Hc. Les sommetss1 ets2 donnent une nouvelle arête,car l’intersection de leurs hyperplans communsH1∩Hc est de la dimension d’une arête. En revanche,s1 ets3 ne sont pas liés par une arête, car ils n’ont qu’un seul hyperplan commun,Hc.

La représentation d’un polytope par un squelette consiste en un graphe ne décrivant que les adjacencesentre les sommets, les arêtes et les hyperplans : les nœuds dugraphe sont les sommets du polytope tandisque les arcs sont ses arêtes. À chaque sommet et chaque arête est ensuite ajoutée une liste d’hyperplansincidents. Ces hyperplans sont utiles afin de mettre à jour legraphe après la coupe d’un polytope parun hyperplan (cf. figure 4.14). Cette coupe commence par déterminer les nouveaux sommetss1, s2, s3

et s4 déduits de l’intersection entre les arêtes du polytope et l’hyperplan de coupeHc, puis par ajouterl’hyperplanHc et les hyperplans incidents aux arêtes coupées à la liste d’hyperplans de chaque nouveausommet. La mise à jour du polytope consiste alors à déduire les nouvelles arêtes. Pour cela, il suffit dedéterminer tous les couples de sommets sur l’hyperplan de coupe, dont l’intersection des hyperplansincidents aux deux sommets est de la dimension d’une arête (de dimension 1). Les hyperplans incidentsà la nouvelle arête sont alors ceux communs aux deux sommets.Sur la figure4.14, le couple de sommets(s1,s2) correspond à une nouvelle arête, car l’intersectionH1∩Hc des hyperplans communs aux deuxsommets est de la dimension d’une arête (le raisonnement estle même pour les autres couples(s2,s3),(s3,s4) et (s4,s1)). En revanche, les sommetss1 et s3 n’ayant qu’un seul hyperplanHc en commun, ilsne déterminent pas de nouvelle arête.

Calcul de visibilité globale de polygone à polygone

Mora et al. [MAM05] utilisent les avantages des méthodes proposées par Nirenstein et Bittner afin dedécrire la visibilité globale entre deux polygones convexes. Il utilise pour cela l’arbre binaire de Bittner,utile à l’extraction de l’information de visibilité, et la représentation explicite des polytopes par desgraphes d’incidences pour calculer les coupes. Cette information est ensuite utilisée en rendu d’ombresdouces [MA05], puis en simulation de propagation d’onde [Mor06].

Mora [Mor06] utilise également la complémentarité de l’association des deux tests de rejets proposés par

Page 109: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.3. Les coordonnées de Plücker et le calcul de visibilité globale 97

Bittner et par Nirenstein (voir figure4.11(c), page94), afin de réduire davantage la coupe de la visibilité.

Toutefois, Mora apporte une amélioration au test de Bittner, en utilisant un résultat théorique que nousproposons dans le chapitre5. Celui-ci consiste en la caractérisation du plus petit polytope représentantles droites traversant deux faces convexes. Ce polytope étant le plus petit, il permet en pratique d’affinerle rejet proposé par Bittner. L’utilisation de ce résultat pour le rejet de Mora est comparée avec notreapproche dans le paragraphe6.4.1.

4.3.3 Limites des méthodes actuelles

Les méthodes de calcul d’occultation, reposant sur la paramétrisation de Plücker, offrent les solutionsalgorithmiques les plus efficaces en pratique,i.e. pour déterminer puis appliquer une information devisibilité globale. Néanmoins, celles-ci possèdent également deux limites principales. Les sous-sectionssuivantes les expliquent.

Le problème du polytope minimal

Le problème de polytope minimal concerne la caractérisation du polytope initial représentant les droitespassant par deux polygones convexes ; il apparaît dès les travaux de Nirenstein.

Nous avons expliqué (voir les sous-sections se rapportant aux travaux de Bittner ou de Nirenstein) quece polytope initial était sous-contraint. La méthode utilisée par Bittner [Bit02], Nirenstein [Nir03], Hau-mont [HMN05] ou bien Mora [Mor06] est d’ajouter deux hyperplans, afin de pouvoir déterminer uneV-représentation du polytope.

Nirenstein est le premier à souligner que plus les hyperplans supplémentaires seront «proches» de laquadriqueQ et plus le nombre de coupes inutiles, résultant en un polytope ne représentant aucune droite,sera faible. De la même façon, plus le polytope sera réduit etplus les tests de rejet seront précis etlimiteront également la coupe des polytopes du complexe.

Pour deux polygonesSetC, le polytope minimal est le plus petit polytope dansP5 contenant l’ensemblestab(SC) des droites passant par les deux polygonesS et C. Celui-ci est immédiatement l’ensembleconvexe permettant de réduire le plus les coupes inutiles. Nirenstein [Nir03] et Haumont [HMN05] ontchacun émis la possibilité d’avoir caractérisé le polytopeminimal à partir des deux hyperplans supplé-mentaires, mais sans démonstration mathématique. Nous donnerons la solution à ce problème dans lasection5.2 page121, et montrerons qu’il n’est en réalité pas possible de déterminer cette solution àpartir de deux hyperplans seulement.

Traitement des dégénérescences

Dans le calcul de visibilité entre deux polygonesS et C, une dégénérescence apparaît lorsque le plansupport de la faceS(respectivement de la faceC) coupe le bord ou l’intérieur de la faceC (respectivementla faceS). La figure4.15(a)montre un exemple de dégénérescence où le plan de la faceScoupe l’intérieurde la faceC.

Bien que ces cas ne soient pas clairement explicités dans lestravaux de Nirenstein, Haumont et Mora,ceux-ci ne peuvent être traités de manière exacte dans ces méthodes. Pour transformer le cas dégénéré enun cas non dégénéré où le polytope est déterminable, les faces coupées par le plan support de l’autre face

Page 110: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

98 Chapitre 4. Introduction à la visibilité globale

S

C

(a) Le plan support du polygoneS coupe l’intérieur dupolygoneC. Il y a dégénérescence.

S

C1

C2

(b) Pour traiter la dégénérescence, la faceC est rognéede façon à transformer ce cas en un cas non dégénéré. Lapartie érodée n’intervient plus dans le calcul de visibilité.La visibilité pour cette partie n’est donc pas représentée.

FIG. 4.15 – Traitement des cas dégénérés dans les méthodes de Nirenstein [Nir03], Haumont [HMN05],et Mora [Mor06]. Exemple d’une dégénérescence pour le calcul de visibilité entre deux polygonesS etC de l’espace tridimensionnel. La faceC contient une intersection non vide avec le plan support de lafaceS, ce qui fait apparaître une dégénérescence.

sont perturbées dans le voisinage de l’intersection (voir figure4.15(b)). Immédiatement, cette solutionau problème est inexacte, car elle ne permet pas de représenter la visibilité dans la région perturbée,contredisant l’avantage de la méthode avancé par Nirenstein qui serait d’être «exacte».

La nécessité de perturber la faceC sur la figure4.15(b), provient d’une projection des coordonnéesde Plücker sur un hyperplan. Par exemple, pour une droite de coordonnées(π0,π1,π2,π3,π4,π5), laprojection sur la coordonnéeπ0 donne :

(π0,π1,π2,π3,π4,π5) 7→ (1,π1

π0,π2

π0,π3

π0,π4

π0,π5

π0)

Cette projection revient à considérer les coordonnées homogènes normalisées d’un point de l’espacearguésien (un espace affine fermé par l’infini), obtenu parrestrictionde l’espaceP5 (voir annexeB.2.2).Elle est utile dans ces travaux afin de simplifier l’élaboration des opérations géométriques dansP5 : laconstruction du polytope initial et le calcul d’intersection entre un polytope et un hyperplan dépendent decette projection. Toutefois, les dégénérescences font apparaître des singularités,i.e.des points deP5 dontles coordonnées ne peuvent être normalisées (cas oùπ0 = 0 dans l’exemple précédent), pour lesquellesles opérations géométriques ne sont pas définies. Cela explique pourquoi ces méthodes requièrent detransformer, par perturbation des faces, les cas dégénérésen cas non dégénérés, où de telles singularitésn’apparaissent pas.

On remarque en outre que cette solution risque d’augmenter l’instabilité numérique du calcul. En effet,les points singuliers se transforment, par perturbation des faces, en points proches de points singuliers(π0 tend vers zéro). Ces points sont normalisables, mais sont représentés par de grandes coordonnées,rendant la normalisation numériquement instable.

Page 111: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

4.4. Conclusion 99

4.4 Conclusion

4.4.1 Résumé

Les travaux actuels sur la visibilité montrent un intérêt grandissant pour une information de la visibilitéglobale. Cet intérêt est à l’origine de diverses recherchessur la compréhension du phénomène visuel etsur le calcul et la représentation de cette information de visibilité.

On a vu dans un premier temps que l’espace des droites était nécessaire pour représenter cette infor-mation, expliquant l’échec des méthodes fondées sur l’espace des vues et sur l’espace géométrique ouespace objet.

Dans un deuxième temps, nous avons présenté les structures de complexe et de squelette de visibilité. Lapremière structure apparaît comme une méthode théorique intéressante, mais s’avère en pratique assezlimitée. La deuxième structure vient remédier aux limites pratiques de la première, mais ne représentepas une information complète de la visibilité.

Dans un troisième temps, nous nous sommes intéressés à des travaux récents en géométrie algorithmique,en raison de la généricité de leur approche. Ils utilisent pour cela une généralisation des coordonnées dePlücker pour représenter des droites dans des espaces de dimensions quelconques. Toutefois, leur étudediffère de la nôtre, car elle ne tend pas à représenter le phénomène visuel, mais seulement à en étudier lacomplexité combinatoire.

Enfin, nous avons montré que les travaux sur le calcul d’occultation, fondés sur les coordonnées dePlücker de l’espace tridimensionnel, offraient les solutions les plus efficaces pour représenter et exploiterune information de visibilité globale : celles-ci sont simples à mettre en œuvre, reposant sur des calculsde type CSG dans l’espace projectifP5, et représentent une information pertinente, facile à utiliser.

Toutefois, nous avons également précisé que ces méthodes étaient limitées par des problèmes de ro-bustesse ou d’optimisations. Le paragraphe suivant rappelle ces limites puis en étudie les raisons, pourensuite motiver l’intérêt d’une meilleure abstraction de l’espace des droites et du calcul de visibilité danscet espace.

4.4.2 Discussions

Limites des coordonnées de Plücker

En pratique, la paramétrisation de Plücker semble particulièrement adaptée à caractériser le phénomènevisuel par des calculs simples, revenant principalement à des classifications points/hyperplans. Toutefois,ce modèle présente un certain nombre de limites. Nous avons mis en évidence dans le paragraphe4.3.3deux problèmes apparaissant sans solution dans les méthodes de calculs d’occultation dans cet espace :

1. L’impossibilité de caractériser le polytope minimal.

2. L’impossibilité de traiter les cas dégénérés de manière exacte.

Le premier problème est la conséquence d’une difficulté de raisonner sur des ensembles de droites, àpartir des coordonnées de Plücker. Il y a deux raisons à cela ;d’une part, la représentation des droites pardes coordonnées ne permet pas de raisonner sur la géométrie de ces droites : la représentation analytiqueest détachée de la représentation géométrique ; d’autre part, les démonstrations de résultats à partir desix coordonnées homogènes deviennent rapidement complexes, en raison de la taille importante deséquations à résoudre.

Page 112: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

100 Chapitre 4. Introduction à la visibilité globale

Le second problème provient d’une normalisation des coordonnées de Plücker sur un hyperplan, né-cessaire à la définition des opérations sur ces coordonnées.Ceci est à nouveau une conséquence d’unraisonnement fondé sur des coordonnées : si les opérations sont dépendantes d’une normalisation, c’estqu’elles sont avant tout dépendantes des coordonnées.

Ces deux exemples de problèmes montrent les principales faiblesses d’une approche purement analy-tique, comme la difficulté d’établir des raisonnements et des opérations consistants. Les solutions pro-posées sont alors souventad hoc(ajout de deux hyperplans pour construire le polytope initial, normali-sation des coordonnées), et leurs pertinences, difficilement démontrables. Ils montrent alors la nécessitéde s’abstraire des coordonnées,i.e. de définir un cadre mathématique ayant les avantages pratiques duformalisme des coordonnées de Plücker, mais autorisant uneformulation et un raisonnement sans coor-données. Une telle abstraction permet fondamentalement d’éviter les problèmes dus à l’utilisation descoordonnées, en apportant une formulation générale,i.e.définie pour tous points quelque soit leur repré-sentation, et des démonstrations synthétiques, dont le résultat peut être plus facilement interprété.

Connaissance partielle de l’espace des droites

Le manque d’abstraction d’une approche analytique se manifeste plus généralement par un manque deconnaissance de l’espace des droites. Ce manque est notamment perceptible chez Durand [Dur99], oùl’espace des droites est principalement utilisé comme unsupportde représentation et de calcul, pourexprimer un raisonnement établi dans l’espace géométrique. La paramétrisation de Plücker améliore leconcept d’espace de droites en permettant des raisonnements simples (classification point/hyperplan) etmoins simples (les résultats de Goaoc [Goa04] sur la complexité théorique du complexe de visibilité).Cependant, les travaux précédents n’avaient pas pour objectif d’étudier l’espace des droites afin d’enapporter une connaissance nouvelle : ils visent uniquementà exploiter un formalisme analytique, afin derépondre à des problèmes pratiques.

La compréhension limitée de l’espace des droites s’exprimeégalement à travers l’absence de lien appa-rent entre le calcul de la visibilité dans le plan, notammentfondé sur la paramétrisation des droites parle plan dual (voir par ex. [FPST03], voir également l’annexeC.1), et le calcul dans l’espace tridimen-sionnel, à partir de la paramétrisation de Plücker. Pourtant, les deux calculs sont similaires sur bien desaspects. Les principes généraux décrits dans le paragraphe4.3.1, page88 sont effectivement valablesaussi bien pour les méthodes reposant sur le plan dual que celles utilisant la paramétrisation de Plücker :seules les expressions des opérations sur les coordonnées changent.

L’espace des droites étant le point central de la représentation de la visibilité globale, la compréhensionde la visibilité dépend également de la compréhension de cetespace. La nécessité d’une conception plusmathématique et générale de l’espace des droites apparaît donc manifeste. La définition d’un lien entrela visibilité du plan et de l’espace tridimensionnel seraitun point de départ intéressant vers une meilleurecompréhension de l’espace des droites et donc de la visibilité.

Bien que l’approche du calcul de Schubert permette de généraliser la paramétrisation des droites en toutedimension, elle ne semble pas immédiatement satisfaisante, puisqu’elle repose sur l’utilisation de co-ordonnées de Plücker, que nous souhaitons éviter en raison des problèmes dont elles sont l’origine (cf.§4.3.3). Notre objectif est de définir un cadre mathématique permettant de représenter, calculer et com-prendre la visibilité globale de manière indépendante des coordonnées et de la dimension. Le chapitre5montre que les algèbres de Grassmann, un formalisme algébrique qui permet de généraliser et d’abstrairedes coordonnées la paramétrisation de Plücker, peuvent apporter une solution à ce problème.

Page 113: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 5

Théorie algébrique de la visibilité globaledans un espace projectif de dimension

n≥ 2

« The generalization [of 2D visibility] to 3D is straightfor-ward » [is] a doubtful statement in any visibility paper.

Frédo Durand, in [Dur00]

Ce chapitre propose une généralisation à toute dimension del’approche fondamentale de la visibilité glo-bale reposant sur les coordonnées de Plücker (cf. §4.3.1, page88). Cette généralisation a pour principalemotivation d’unifier les méthodes de calculs de visibilité dans le plan et dans l’espace tridimensionnel,puis de permettre l’extension de ces méthodes aux dimensions supérieures, afin d’en permettre l’appli-cation à d’autres problèmes généraux ou fondamentaux exprimés en dimension quelconque.

Notre formulation repose sur les algèbres de Grassmann interprétées dans le modèle projectif (cf. sec-tion 1.2, page17 et §2.1.2, page45). La section5.1 commence par motiver l’utilisation des algèbres deGrassmann, puis par rappeler son interprétation dans ce modèle. Elle présente ensuite notre généralisa-tion en toute dimension du calcul de visibilité globale. La section5.2 étudie le cas de la visibilité entredeux faces convexes, puis donne la solution au problème ouvert du polytope minimal, évoqué dans leparagraphe4.3.3.

5.1 Formulation algébrique de la visibilité globale

Cette section expose notre formulation du calcul de visibilité globale dans l’algèbre de Grassmann. Elledonne une manière générale de caractériser algébriquementla visibilité dans des scènes constituées depolytopes convexes (des polygones en 2D ou polyèdres en 3D),plongée dans l’espace projectifPn, n≥ 2.

Le paragraphe5.1.1rappelle les principes généraux du calcul de visibilité à partir de la paramétrisationde Plücker, afin de mettre en évidence les concepts qui doivent être généralisés. Nous motiverons alorsl’utilisation de l’algèbre de Grassmann et de l’espace projectif pour pouvoir généraliser ceux-ci. Leparagraphe5.1.2rappelle ensuite l’interprétation de ces algèbres dans l’espace projectif, qui servira desupport à notre formulation. Le paragraphe5.1.3donne une définition classique de l’espace des droites,

101

Page 114: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

102 Chapitre 5. Théorie algébrique de la visibilité globale

s2

s1

Sc2

C

c1O

o1

o2

(a) Une arête sourceS, une arête cibleC et un occulteurO dans l’espace objetA2.

c1 s1

s2 c2

o2

o1

(s2c1)

(s1c1)

(o2c1) (s1o2)

(s1c2)

(s2c2)

b

b

b

bb

b

PSOC

PSC

(b) Polytopes de l’espace dual des droites, représentantles droites passant par les différentes faces. Ces poly-topes sont déduits de l’intersection des demi-espaces dua-lement associés aux sommets des extrémités des arêtesS,C et O.

FIG. 5.1 – Calcul de la visibilité dans le planA2 et l’espace des droites dual (inspiré de [Mor06]).

selon cette interprétation, en rappelle les propriétés, puis discute de leurs conséquences sur le calcul devisibilité. Les paragraphes5.1.4et 5.1.5décrivent alors la formulation générale de la visibilité dans cetespace de droite.

Les illustrations graphiques utilisées pour illustrer lesraisonnements sont uniquement proposées dans lecasn = 2, seule dimension où les notions étudiées peuvent être représentées sans restriction de l’espacegéométrique ou de l’espace des droites.

5.1.1 Introduction à l’étude de la visibilité globalen-dimensionnelle

Cette introduction commence avec un rappel des principes ducalcul d’occultation dans l’espace tridi-mensionnel, fondé sur les coordonnées de Plücker, en montrant les similarités avec le même calcul dansle plan. Elle rappelle ensuite les différences existantes entre les espaces de droites utilisés dans ces deuxcalculs, et apparaissant dans [Dur00] comme problématiques à l’établissement d’une relation directeentre la visibilité globale de dimension 2 et celle de dimension 3. Enfin, elle motive à partir de ces re-marques, l’utilisation de la géométrie projective puis desalgèbres de Grassmann, pour notre formulationdu calcul de visibilité globale.

Concepts communs entre le calcul de visibilité globale2 et 3-dimensionnels

Les travaux présentés dans le chapitre4, sur le calcul d’occultation dans un espace de droites, ont pourobjectif de représenter une information de visibilité globale de l’espace affine de dimension 3. Ce calculprésente certaines similarités avec le calcul de visibilité globale du plan, utilisant le plan dual (voir parex. [FPST03]). La figure5.1 illustre celui-ci pour la visibilité entre deux arêtesSetC du plan affineA2.Le plan dual correspond à l’espace projectifP2, où les droites de l’espace géométriqueA2 deviennentdes points, tandis que les points deA2 sont les droites (ou hyperplans) deP2 (voir figure 5.1(b) etl’annexeC.1).

La visibilité entre les deux arêtesS et C de la figure est occultée par une arêteO, considérée comme un

Page 115: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 103

occulteur. Le principe du calcul est de déterminer quelles droites passent par les arêtesSetC, puis, parmices droites, lesquelles passent par l’arêteO. Pour cela, l’espace dual est subdivisé par les hyperplans as-sociés aux sommetss1, s2, c1, c2, o1 et o2. L’intersection des demi-espaces positifs de ces hyperplanspermet de déterminer deux polytopes, l’un représentant lesdroites de visibilité, passant parS et C uni-quement (le polytopePSC), l’autre représentant les droites d’occultation parO, passant parS, C etO (lepolytopePSOC). La visibilité entreS etC est complètement déterminée par le polytopePSC.

Comparé au calcul de visibilité dans l’espace tridimensionnel, celui dans le plan comporte un certainnombre de similarités. Celles-ci permettent de déduire lestrois problèmes principaux qui résument lecalcul de la visibilité globale :

1. Déterminer un espace de droites, dans lequel peuvent s’exprimer le calcul de la visibilité et lesévènements visuels.Il s’agit du plan dual en 2D et de l’espace défini à partir de la paramétrisationde Plücker en 3D. Dans les deux cas, l’espace des droites est projectif et permet d’associer toutedroite de l’espace géométrique à un unique point dans celui-ci.

2. Déterminer une classification continue des droites par rapport à des variétés linéaires.Cetteclassification permet de représenter les tangences des droites aux objets de l’espace ainsi quel’orientation relative des droites par rapport aux variétés linéaires. Pour le plan, cette classifications’effectue par rapport aux sommets de la scène, tandis que pour l’espace tridimensionnel elles’effectue par rapport aux droites supports des arêtes des polygones de la scène. À chacun de cessommets et de ces droites correspond un hyperplan dans l’espace des droites, le calcul revenantalors dans les deux cas à une classification point/hyperplan.

3. Déterminer les ensembles de droites passant par les mêmes faces en subdivisant l’espace desdroites par les hyperplans déduits des bords de ces faces.Le calcul de la visibilité globale consisteà regrouper les droites passant par les mêmes faces en des ensembles convexes dans l’espace desdroites. Cela s’effectue par une subdivision de l’espace des droites en un ensemble de polytopesconvexes. Cette subdivision est effectuée par les hyperplans associés aux variétés supportant lesbords des faces servant à la classification des droites. Chaque polytope représente alors un en-semble de droites passant par les mêmes faces.

Ces trois problèmes sont ceux que nous souhaitons généraliser en toute dimension.

Le point 2 précise que la classification des droites est continue, i.e. sans singularité. Cela signifie parexemple, dans le cas tridimensionnel, que deux droites parallèles sont considérées comme incidentesl’une à l’autre. Si elles ne l’étaient pas, il y aurait une discontinuité dans la détermination de l’orientationrelative des droites. La continuité de la classification estfondamentale dans le calcul de visibilité : ellecertifie que le calcul est toujours défini, et d’un point de vuealgorithmique, évite le traitement de casdégénérés.

Différences entre la visibilité globale 2D et 3D

Si les principes du calcul de visibilité sont les mêmes dans le plan et dans l’espace tridimensionnel, desdifférences entre les deux espaces de droites utilisés empêchent,a priori, l’unification et la généralisationdes deux méthodes [Dur00]. Ces différences sont :– L’augmentation de deux dimensions entre l’ensemble des droites de l’espace tridimensionnel (4D) et

celui des droites du plan (2D).– La dimension de l’ensemble des droites de l’espace tridimensionnel ne correspond plus à la dimension

de l’espace géométrique, comme c’est le cas dans le plan.

Page 116: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

104 Chapitre 5. Théorie algébrique de la visibilité globale

– La dimension de l’espace des droitesP5, défini dans la paramétrisation de Plücker, ne correspond pasà celle de l’ensemble des droites qui y décrit une hypersurface, sans équivalence immédiate dans leplan dual.

Ces différences ont des conséquences sur la compréhension et l’intuition des calculs dans l’espace desdroites. Par exemple, il est possible de représenter géométriquement le calcul de visibilité 2D dans leplan dual (cf. figure5.1(b)), mais pas le calcul 3D, où la dimension de l’espace des droitesP5 ne permetpas aux illustrations de représenter la réalité.

Ces difficultés de représentation amènent à conclure que le calcul de visibilité dans l’espace tridimen-sionnel est beaucoup plus difficile à concevoir que dans le plan [Mor06, Dur00] et que la généralisationdirecte du problème 2D au problème 3D est improbable [Dur00]. L’unification que nous souhaitons ducalcul de visibilité globale dans le plan et dans l’espace tridimensionnel implique l’explication de cesdifférences.

Positionnement et motivations

Utilisation de la géométrie projective

La géométrie projective est utile à la représentation de la visibilité globale principalement pour l’intérêt,que nous avons motivé, de définir une classification continuedes droites (cf. ci-dessus). L’espace affinene permet pas une telle classification : l’infini n’y étant pasmodélisé, des singularités apparaissent pourclasser des variétés parallèles, incidentes en l’infini. Plus précisément, cette continuité est possible dansl’espace projectif, en raison de saclôture. Elle est le fondement du principe de dualité projective [Del64],à l’origine de la définition du plan dual (cf. annexeC.1.3). Ce principe n’est pas applicable à la géométrieaffine ou euclidienne, à moins de considérer l’espace arguésien par fermeture de l’espace affine par unhyperplan à l’infini, et de ne pas distinguer les points à l’infini des autres points. Toutefois, nous utili-sons dans ce chapitre l’espace projectif pour formuler le calcul de visibilité globale, plutôt que l’espacearguésien. Nous motivons maintenant ce choix.

En pratique, l’espace arguésien est obtenu en fixant un hyperplan dans l’espace projectif (voir an-nexeB.2.2). Cette définition est classique en géométrie affine, mais est également une source de confu-sions : l’espace projectif est souvent défini ou utilisé, sans distinction, comme un espace arguésien oueuclidien (cf. par ex. [Sto91, DFM07]). Géométriquement, les différences entre ces espaces sont consé-quentes. Par exemple, le parallélisme, l’infini ou les distances sont des notions affines ou euclidiennes ;elles n’existent pas en géométrie projective. De la même façon, la notion d’ordre n’est pas définie engéométrie projective : pour trois points alignés, on ne saitpas dire lequel est au milieu des deux autres.

En réalité, ces notions affines ne sont pas utiles à la formulation du calcul de la visibilité globale, quiconsiste à donner une expression algébrique pour caractériser les droites passant par une ou plusieursfaces convexes, indépendamment de leurs positions et de leur ordre. En particulier, la notion d’occultationutilisée dans les travaux antérieurs est une application particulière du calcul de visibilité, où les occulteurssont déterminés en fonction d’un ordonnancement des faces.La théorie développée dans ce chapitre estgénérale et en ce sens, n’utilise pas la notion d’occultation. L’expression du calcul utilise seulement despropriétés projectives : les incidences entre les variétéslinéaires.

Ainsi, pour des raisons de cohérence et de généralité, nous prenons soin d’introduire les concepts clas-siques, comme l’interprétation des algèbres de Grassmann,uniquement dans l’espace projectif. En outre,la géométrie affine étant une restriction de la géométrie projective [Del65], la formulation du calcul resteapplicable à l’espace arguésien et donc notamment au calculd’occultation. Nous utiliserons d’ailleurs

Page 117: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 105

cette restriction dans les figures, pour faciliter leur compréhension.

Intérêts des algèbres de Grassmann

Calculer la visibilité consiste, selon ce qui précède, à représenter des droites dans un espace projectif,et plus généralement des variétés linéaires projectives,i.e. des points, droites, plans, hyperplans ou toutautre sous-espace projectif (voir annexeB.2.3).

Il existe différentes manières dans la littérature, de représenter ces variétés linéaires :

1. Les coordonnées de Plücker généralisées, notamment utilisées dans le calcul de Schubert (cf. sec-tion 4.2, page81).

2. Le formalisme proposé par Stolfi dans [Sto91, Sto87], reposant sur la définition d’un opérateurmeetdans unespace projectif orienté, une variante de l’espace projectif standard.

3. L’algèbre de Grassmann, interprétée dans un espace projectif (cf. §2.1.2, page45).

Ces trois formalismes sont en réalité très proches. Mais lescoordonnées de Plücker et le formalisme deStolfi possèdent chacun un inconvénient que ne présente pas l’algèbre de Grassmann.

En ce qui concerne les coordonnées de Plücker utilisées dansle calcul de Schubert, nous avons indi-qué dans le paragraphe4.4.2que celles-ci ne nous convenaient pas, car il s’agissait d’un formalismeanalytique où les raisonnements et les démonstrations reposent sur l’utilisation de coordonnées. Nousavons expliqué que ce manque d’abstraction des coordonnéesest notamment responsable des limitesdes méthodes précédentes, reposant sur la paramétrisationde Plücker : les raisonnements ne sont pasgéométriques et les démonstrations sont complexes, en raison du nombre important de coordonnées quiinterviennent dans les équations, ce qui les rend difficilesà comprendre, à résoudre et à interpréter géo-métriquement.

Quant au formalisme de Stolfi [Sto91], il repose sur l’espace projectif orienté, qui consiste enréalitéen un espace arguésien où uneorientation peut être attachée aux points et variétés linéaires (cf. an-nexeB.3.2). Il permet de représenter symboliquement des variétés linéaires à partir de deux opérateursmeetet join. Bien que cette représentation est symbolique,i.e. indépendante des coordonnées, elle nenous convient pas non plus, car elle ne définit pas de structure d’espace vectoriel. Autrement dit, il n’estpas possible, dans ce formalisme, de «sommer» ou de «multiplier par un scalaire» des variétés. Pourtant,la structure d’espace vectoriel est essentielle dans le calcul de visibilité : elle permet de représenter desobjets n’ayant pas d’interprétation géométrique, mais nécessaires à la représentation de la visibilité pardes ensembles convexes dans l’espace des droites. Les coordonnées de Plücker permettent implicitementce type d’opérations.

Les algèbres de Grassmann possèdent les avantages des deux formalismes précédents, sans leurs in-convénients : elles permettent une représentation synthétique et géométriquement explicite des variétéslinéaires projectives, sans faire référence à des coordonnées ; elles possèdent en outre, en tant qu’algèbre,la structure d’espace vectoriel requise. À titre de comparaison, le formalisme de Stolfi est comparable àl’interprétation des algèbres de Grassmann dans l’espace projectif (cf. §5.1.2), mais il est limité en raisonde l’absence de structure d’algèbre. En ce qui concerne les coordonnées de Plücker, elles peuvent êtreclassiquement définies à partir des coordonnées des multivecteurs décomposables dans une base de l’al-gèbre [MD02b, PW01] (cf. annexeC.2.2). Autrement dit, l’algèbre de Grassmann offre un formalismequi généralise et abstrait des coordonnées le formalisme décrit par la paramétrisation de Plücker.

Ainsi, les algèbres de Grassmann sont une abstraction, dontnous nous servons dans ce chapitre, pourobtenir un cadre plus approprié au raisonnement et à la formulation d’opérations géométriques dans des

Page 118: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

106 Chapitre 5. Théorie algébrique de la visibilité globale

espaces de droites. Notre manière de procéder consiste alors à utiliser les seules règles de calculs, fixéespar la structure de l’algèbre de Grassmann, sur des termes abstraits (les multivecteurs) que l’on peut faci-lement interpréter. En guise d’illustration, la définitiondes coordonnées de Plücker à partir des algèbresde Grassmann sera rappelée dans le cas tridimensionnel (cf. le paragraphe5.1.3). Par ailleurs, bien quela méthode ne soit pas détaillée dans ce chapitre, il est également possible de définir une représentationanalytique du plan dual à partir des algèbres de Grassmann.

5.1.2 Notations et rappels sur l’interprétation de l’algèbre∧

(Rn+1) dans l’espace pro-jectif Pn

Cette section explique comment représenter les variétés linéaires projectives dePn dans l’algèbre deGrassmann

∧(Rn+1). Il s’agit d’une adaptation à l’espace projectif, des présentations de l’interprétation

usuelle des algèbres de Grassmann dans l’espace arguésien [DFM07, PH03] (voir §2.1.2, page45). Pourcommencer cette présentation, nous expliquons les notations utilisées dans la suite du document.

L’espace géométrique : notations et hypothèses

Dans la suite de ce mémoire, nous considérons l’espace projectif réel Pn de dimensionn≥ 2, déduitde l’espaceRn+1 (cf. annexeB.2.1), dans lequel sont plongés les objets entre lesquels est calculée lavisibilité.

Afin de différencier cet espace de l’espace des droites utilisé pour calculer la visibilité, nous le noteronsGn, en référence à l’espacegéométrique, i.e. l’espace dont on étudie la géométrie. L’espace des droitesdeGn est introduit dans le paragraphe5.1.3.

Les objets considérés dans le calcul de visibilité globale dansGn sont des polytopes convexes (despolygones convexes en dimension quelconque, voir définition 4.2, page87), aussi appelés faces. Parexemple, une 0-face sera un sommet ; une 1-face, une arête ; une 2-face un polygone ; etc.

Les sous-sections suivantes expliquent comment représenter les variétés linéaires projectives dePn≃Gn

par des éléments de l’algèbre de Grassmann∧

(Rn+1) sur l’espace vectoriel générateur deGn. Pour éviterun trop grand nombre de notations et lorsqu’il n’y aura pas d’ambiguïté, nous parlerons indifféremmentd’une variété linéaire projective deGn, de sa représentation dans l’espace générateurRn+1 et de sareprésentation dans l’algèbre

∧(Rn+1). Par exemple, siD désigne une droite deGn, le symboleD désigne

également un multivecteur représentant la droiteD dans∧

(Rn+1). Cependant, nous ferons toujours ladistinction lorsqu’une explication le nécessitera, par exemple lorsqu’il s’agit d’expliquer la traductiond’une opération sur les variétés projectives par une opération dansRn+1 ou dans

∧(Rn+1).

Par convention, les faces deGn seront notées en police grasse, tandis que les variétés linéaires (i.e. lesmultivecteurs de

∧(Rn+1) représentant ces variétés) seront notées en police mathématique standard. Par

exemple, la(n−1)-faceF a pour support un hyperplan (une(n−1)-variété)F.

Les sous-sections suivantes rappellent comment interpréter les algèbres de Grassmann dans un espaceprojectif, puis expliquent ce qu’impliquent ces interprétations géométriquement. Ces implications per-mettront de proposer une définition de l’espace des droites utilisé pour calculer la visibilité dans l’algèbrede Grassmann.

Page 119: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 107

Représentation des variétés linéaires projectives deGn dans∧

(Rn+1)

De manière générale, une variété linéaire projective de dimensionk est un sous-espace projectif deGn,dont le générateur est un(k+ 1)-sous-espace vectoriel de l’espaceRn+1. Par exemple, un point est unevariété de dimension 0 dont le générateur est un 1-sous-espace deRn+1 (cf. définitionB.12, page210).Cette définition permet d’établir une correspondance biunivoque entre les variétés linéaires projectivesdeGn et les sous-espaces vectoriels deRn+1.

Cette remarque est essentielle, puisque l’algèbre de Grassmann∧

(Rn+1) permet, fondamentalement, dereprésenter les sous-espaces vectoriels deRn+1. Plus précisément, unk-vecteur décomposableK, obtenupar le produit dek vecteurs deRn+1, représente un unique sous-espace vectorielK de dimensionk, dansRn+1 (cf. théorème1.1, page23). En revanche, lesk-vecteurs non décomposables ne correspondent àaucun sous-espace vectoriel deRn+1. On a immédiatement la propriété classique suivante.

Propriété 5.1 Soient k+1points projectifs indépendants(P0, . . . ,Pk) deGn, de représentants homogènes(p0, . . . , pk) dansRn+1. La k-variété linéaire projective, déterminée de manière unique par les points(Pi)i=0...k, a pour représentant homogène le(k+1)-vecteur p0∧ . . .∧ pk de

∧(Rn+1).

De cette manière, il devient facile de représenter les variétés linéaires deGn par un ensemble de pointsgénérateurs de ces variétés. Par exemple, une droite deGn, déterminée par deux points de représentantsp1 et p2 dansRn+1, correspond dans

∧(Rn+1) au 2-vecteurp1∧ p2.

Cette propriété se déduit du fait que sik points(P1, . . . ,Pk) sont indépendants dansGn, alors leurs repré-sentants homogènes(p1, . . . , pk) le sont également dansRn+1. Le multivecteurp1∧ . . .∧ pk est donc nonnul, et représente le sous-espace généré par lespi , i = 1. . .k. Il est le sous-espace, dansRn+1, générantla variété linéaire contenant les pointsP1, . . . ,Pk (cf. propriétéB.3, page211).

Orientation des variétés linéaires projectives

La classification des droites deGn, par rapport à des variétés linéaires (des points ou des droites, res-pectivement en 2D et en 3D), constitue une notion essentielle au calcul de visibilité dans l’espace desdroites (cf. §5.1.1). Celle-ci repose sur la possibilité d’«orienter» les droites et plus généralement lesvariétés linéaires : la classification détermine l’orientation des droites relativement aux points en 2D ouaux droites en 3D, de la même façon dont on détermine le côté d’un point par rapport à un hyperplan. Lanotion d’orientation qui autorise la classification de points par rapport à des hyperplans, n’est pas à pro-prement parler géométrique, mais algébrique (voir annexeB.3). Toutefois, elle permet géométriquementde caractériser des ensembles convexes, ce qui est précisément utilisé pour représenter la visibilité. Nousexpliquons ci-dessous comment cette orientation algébrique est définie classiquement dans l’algèbre deGrassmann, pour toute variété linéaire.

De manière intuitive, l’orientation des variétés linéaires est immédiatement caractérisée par l’orientationou le signe des multivecteurs qui représentent ces variétésdans l’algèbre de Grassmann.

Prenons un exemple. Soient deux points projectifsA et B de G2, de représentants homogènesa et bdansR3 (cf. figure 5.2 13). La droite passant parA puis B est représentée par le 2-vecteura∧ b, tandisque la droite passant parB puisA, avec un changement d’orientation, est représentée par le multivecteur

13Sur cette figure, ainsi que sur certaines autres illustrations présentes dans ce chapitre, un hyperplanH= {x∈R3|x·e0 = 1}est ajouté. Celui-ci revient à interpréter l’espace projectif comme un espace arguésien (cf. annexeB.2.2). Cet hyperplan n’estutile que pour aider l’interprétation des figures, en permettant de visualiser les vecteurs deR3 comme despointsde l’espace.

Page 120: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

108 Chapitre 5. Théorie algébrique de la visibilité globale

H

e0

e1

e2

D = a∧b

b bB

b

A

a

FIG. 5.2 – Plan projectifG2, obtenu depuisR3, de base(e0,e1,e2). La droite passant par les deux pointsA puisB est déterminée par le 2-sous-espace vectoriel orienté, représenté par le 2-vecteur décomposablea∧b, obtenu par le produit des représentants homogènesa etb des deux pointsA etB respectivement.

b∧a = −a∧b. Les deux multivecteursa∧b et b∧a représentent le même sous-espace deR3, donc lamême variété deG2. Le changement de signe du multivecteur est alors interprété comme un changementd’orientation de la droite. Ceci se généralise à toute variété linéaire et à tout espaceGn : le changementdu signe du multivecteur représentant une variété est interprété comme le changement d’orientation dela variété.

Cette orientation estalgébrique, selon la définition proposée dans l’annexeB.3.2, puisqu’elle consiste àconsidérer un élément (un multivecteur) et son opposé pour une loi de groupe (l’addition dans l’espacedes multivecteurs), comme représentants des deux orientations d’une variété. Plus précisément, nousmontrons que cette orientation des variétés linéaires est équivalente à l’orientation algébrique de pointsprojectifs (cf. annexeB.3.2). Soit l’espace desk-vecteurs

∧k(Rn+1), k≤ n. Celui-ci est un sous-espacevectoriel de dimensionCk

n+1 de l’espace de l’algèbre∧

(Rn+1) (cf. corollaire 1.8, page21). Dans cetespace, la représentation desk-sous-espaces deRn+1 est homogène : siK est unk-vecteur décompo-sable, représentant un sous-espace vectorielK de Rn+1, alors tout multivecteurK′ = λK,λ ∈ R∗ estdécomposable et représente le même sous-espaceK deRn+1. On a alors la propriété suivante.

Propriété 5.2 Soit l’espace projectifPCk+1n+1−1 = P(

∧k+1(Rn+1)), obtenu à partir des1-sous-espaces de

l’espace des(k+ 1)-vecteurs de∧

(Rn+1). Chaque point projectif dePCk+1n+1−1, dont le représentant ho-

mogène est un(k+1)-vecteur décomposable, correspond à une unique k-variété linéaire deGn.

Cette correspondance est biunivoque, c’est-à-dire qu’à toute k-variété linéaire projective deGn corres-pond un unique point projectif dansPCk+1

n+1−1.

Ce résultat se déduit des remarques précédentes et de la propriété5.1: unek-variété deGn correspond àun (k+ 1)-sous-espace vectoriel deRn+1, et donc à un(k+ 1)-vecteur décomposable de

∧(Rn+1), pris

à un facteur multiplicatif près. Ce facteur signifie que le(k+ 1)-sous-espace deRn+1 est équivalent au1-sous-espace de

∧k+1(Rn+1) généré par le(k+ 1)-vecteur, ce 1-sous-espace correspondant à un point

dePCk+1n+1−1≃ P(

∧k+1(Rn+1)) par définition.

La propriété ci-dessus montre qu’il est possible de représenter toute variété linéaire deGn par un pointprojectif dont le représentant homogène est un multivecteur décomposable. L’ensemble de ces points dé-

Page 121: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 109

crit une variété généralement non linéaire dansPCrn+1−1, r ∈ [0;n+1], appeléevariété de Grassmannou

grassmannienneet notéeGR(r,n+1). Il s’agit de manière équivalente de l’ensemble desr-sous-espacesvectoriels deRn+1 (cf. définition 1.9, page25). Au contraire, les points projectifs dont les représen-tants homogènes ne sont pas décomposables n’appartiennentpas à la grassmannienne et ne représententaucune variété linéaire deGn, dans cette interprétation des algèbres de Grassmann.

Ainsi, la représentation des variétés linéaires deGn par des points projectifs montre que ces variétés sontalgébriquement orientables, de la même façon dont les points projectifs sont algébriquement orientables(cf. annexeB.3.2). Cette notion d’orientation algébrique des variétés est un des fondements du calculde visibilité décrit dans la suite de ce chapitre : elle permet la représentation de la visibilité globale pardes ensembles convexes dans un espace de droites. Ainsi, dans ce chapitre et dans le suivant, la notiond’orientation des variétés linéaires fait toujours référence à la notion d’orientation algébrique.

5.1.3 L’espace des droites

La définition d’un espace des droites deGn est le premier principe du calcul de visibilité globale dansGn (cf. §5.1.1). La représentation de cet espace dans l’algèbre de Grassmann est immédiate, selon l’in-terprétation de l’algèbre dans l’espace projectif. Sa définition est la suivante :

Définition 5.1 L’espace des droites deGn, que l’on notera14 Dn, est l’espace projectifP(∧2(Rn+1)),

déduit de l’espace des2-vecteurs de l’algèbre∧

(Rn+1).

L’espaceDn est immédiatement l’espace projectif dans lequel est plongé l’ensemble des droites deGn,correspondant à la grassmannienneGR(2,n+ 1). Comme pour l’espace géométriqueGn, nous feronssouvent référence aux éléments deDn par leurs représentants homogènes, et continuerons de faire ladistinction dès qu’une explication le nécessitera.

Afin de faire le rapprochement entre les méthodes précédentes et notre formulation du calcul de visibilitédans l’algèbre de Grassmann, la sous-section suivante rappelle comment montrer l’équivalence connueentre la représentation des droites à partir des 2-vecteursdécomposables et leur représentation à partirdes coordonnées de Plücker. Nous étudions par la suite les propriétés usuelles deDn, dans le cas général,afin d’en déterminer les conséquences sur le calcul de visibilité.

Les droites deG3

PourG3, l’espace des 2-vecteurs de∧

(R4) est de dimensionC24 = 6. Par conséquent, l’espaceD3 est

l’espace projectifP5, ce qui est également le cas de l’espace des droites obtenu à partir des coordonnéesde Plücker. Nous rappelons ci-dessous l’équivalence existante entre la quadrique de PlückerQ, plongéedansP5 et correspondant aux points représentés par des coordonnées de Plücker, et la grassmannienneGR(2,4) dansD3. Pour cela, nous utilisons la définition des coordonnées de Plücker à partir du produitextérieur de deux 1-vecteurs de

∧(R4) [MD02b, PW01].

Soit (e0,e1,e2,e3) une base deR4, et soientP et Q deux points deA3, de coordonnées homogènes(1, p1, p2, p3) (resp.(1,q1,q2,q3)). Associons à ces points affines les points projectifs représentés par lesvecteursp = e0 + p1e1 + p2e2 + p3e3 et q = e0 +q1e1 +q2e2 +q3e3 respectivement.

14Le nombren de la notationDn utilisée pour l’espace des droites renvoie à la dimension del’espace géométriqueGn.

Page 122: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

110 Chapitre 5. Théorie algébrique de la visibilité globale

La droite passant par les pointsP etQ est représentée par le 2-vecteurp∧q dans l’algèbre∧2(R4). Dans

la base(e0∧e1,e0∧e2,e0∧e3,e2∧e3,e3∧e1,e1∧e2) de∧2(R4), ce 2-vecteur devient la somme :

p∧q = (e0 + p1e1 + p2e2 + p3e3)∧ (e0 +q1e1 +q2e2 +q3e3)(bilinéarité) = q1e0∧e1+q2e0∧e2+q3e0∧e3+ p1e1∧e0 + p1q2e1∧e2+ p1q3e1∧e3+

p2e2∧e0+ p2q1e2∧e1 + p2q3e2∧e3+ p3e3∧e0 + p3q1e3∧e1 + p3q2e3∧e2

(anticommutativité) = (q1− p1)e0∧e1+(q2− p2)e0∧e2+(q3− p3)e0∧e3+(p2q3−q2p3)e2∧e3 +(p3q1−q3p1)e3∧e1+(p1q2−q1p2)e1∧e2

Les coordonnées homogènes du 2-vecteurp∧q dans la base indiquée sont donc :

(q1− p1,q2− p2,q3− p3, p2q3−q2p3, p3q1−q3p1, p1q2−q1p2)

Ces coordonnées coïncident avec les coordonnées de Plückerde la droite passant parP et Q, selon ladéfinition donnée dans le repère cartésien deA3 (voir annexeC.2).

Cette équivalence entre les 2-vecteurs décomposables et les coordonnées de Plücker est en réalité bienconnue en mathématique, mais l’est beaucoup moins en informatique. Elle permet en pratique, d’évaluerdes termes algébriques sur les multivecteurs par des calculs sur des coordonnées (cf.section2.2, page52).Mais l’utilisation de ces coordonnées est en revanche inappropriée pour formuler des raisonnements oudes démonstrations géométriques.

Propriétés connues deDn et conséquences sur le calcul de visibilité

Les deux principales différences entre les espaces de droites deG2 et G3, que nous rappelons dans leparagraphe5.1.1, sont d’une part la dimension deD3, qui ne correspond plus à la dimension deG3, etd’autre part la nature de la grassmannienne, assimilée à unehypersurface dansD3, ce qui n’est pas le casdansD2.

En réalité, ces deux différences sont directement liées à lanature de la grassmannienne,i.e. sa dimen-sion et sa topologie. La grassmannienne est notamment la source des principales incompréhensions del’espace des droites représenté à partir des coordonnées dePlücker, dans [Dur99, Nir03, Bit02].

Dimension et plongement de la grassmannienne

Dans le cas du plan, nous pouvons montrer que tout 2-vecteur de∧

(R3) est décomposable (cf. dé-monstration du théorème5.1 ci-dessous). Pour cette raison, la grassmannienneGR(2,2) coïncide avecl’espaceD2 : tout point deD2 correspond à un 2-vecteur décomposable, représentant une droite deG2.Ceci explique pourquoi, dans le cas du plan, il n’y a apparemment pas de «quadrique», comme dans lecas tridimensionnel. Mais ceci est un cas particulier au plan, de même que la grassmannienneGR(2,4),correspondant à une hypersurface deD3, est un cas particulier des droites de l’espace tridimensionnel.

Dans le cas général, la grassmannienneGR(2,n + 1) est une variété projective de dimension 2n−2 [Sot03]. Il s’agit d’une variété projective, plongée dans l’espace projectif déduit de l’espace des 2-vecteurs de l’algèbre

∧(Rn+1), et que nous appelonsDn dans ce document. La dimension deDn est

C2n+1−1 = n(n+1)

2 −1.

On remarque alors que la dimension de la grassmannienne est généralement inférieure à celle de l’espaceprojectifDn dans lequel elle est plongée. Cette différence de dimensionest en réalité nécessaire pour que

Page 123: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 111

le plongement de la grassmannienne puisse se faire sans singularité, ou sans auto-intersection. Autrementdit, cela signifie que toute tentative de paramétrer l’espace des droites deGn dans un espace non projectifou de dimension inférieure à celle deDn, est sujet à l’apparition de singularités. C’est notammentle casdes paramétrisations 4D des droites deG3, comme le relève Durand [Dur99].

Calcul des points de la grassmannienne

Les points appartenant à la grassmannienne dansDn sont les seuls points ayant une signification géomé-trique : ils représentent les droites deGn. Déterminer ces points dans le cas général n’est pas évident, bienque cela représente un intérêt indéniable. Le cas 2D ne représente aucune difficulté : la grassmannienneGR(2,3) est isomorphe àD2 (voir ci-dessus). Le cas 3D est plus problématique, la grassmannienneGR(2,4) étant une hypersurface dansD3. Teller [TH99] montre qu’il existe cependant une techniquesimple pour calculer l’intersection entre une 1-variété linéaire deP5 ≃ D3 et la quadrique de Plücker,équivalente àGR(2,4). Il utilise pour cela l’opérateurside, défini dans la paramétrisation de Plückercomme un prédicat indiquant si un point deP5 est sur la grassmannienne ou non (voir annexeC.2).

Nous proposons dans le théorème suivant, une manière simplede généraliser cet opérateur pour déter-miner si un point deDn est sur la grassmannienneGR(2,n+1) 15. La grassmannienne étant l’ensembledes 2-vecteurs décomposables (voir propriété5.2, §5.1.2), ce calcul revient à déterminer, dans l’algèbrede Grassmann, si un 2-vecteur est décomposable (s’il est le produit de deux vecteurs deRn+1).

Théorème 5.1Soit l’algèbre de Grassmann∧

(Rn), n≥ 2. Un 2-vecteur non nul M de∧

(Rn) est dé-composable si et seulement si M∧M = 0.

Ce théorème apporte, dans le cas général, une expression déterminant si un élément deDn est sur lagrassmannienneGR(2,n+1) ou non,i.e.s’il s’agit d’une droite dansGn. Nous commençons par démon-trer ce résultat puis montrons ensuite que cette expressionest une équation dansDn, dont la résolutionest problématique pourn > 3.

DémonstrationSi M est décomposable, alors il existe2 vecteurs(m1,m2) libres deRn, tels que M= m1∧m2.Immédiatement, on a M∧M = m1∧m2∧m1∧m2, 4-vecteur nul, par anticommutativité du produitextérieur.

Inversement, supposons que M ne soit pas décomposable. Le multivecteur M peut toujours s’écriresous la forme d’une somme finie de2-vecteurs décomposables16. Chaque terme de la somme re-présente donc un sous-espace de dimension2 dansRn.

Soient deux de ces termes M1 et M2. Ils représentent donc deux2-sous-espaces deRn ayant un1-sous-espace commun. Il existe alors trois1-vecteurs m1, m2 et m0 tels que M1 = m0∧m1 etM2 = m0∧m2. Le vecteur m0 est un générateur du1-sous-espace commun. On peut donc réduirela somme de ces deux termes en un seul :

M1 +M2 = m0∧ (m1+m2)

15Une telle généralisation existe pour les coordonnées de Plücker [ST07], et est notamment utile pour le calcul de Schubert.Cependant, aucune indication n’est fournie sur son origine. En particulier, aucun lien n’est établi avec l’expressionque nousproposons sur les multivecteurs.

16La base canonique de∧2(Rn), obtenue à partir d’une base deRn, contient uniquement des multivecteurs décomposables

(voir la propriété1.5de génération des bases de∧

(Rn), page20). L’expression deM dans cette base est donc une somme finiede multivecteurs décomposables.

Page 124: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

112 Chapitre 5. Théorie algébrique de la visibilité globale

Le nouveau terme m0∧ (m1 +m2) est donc un2-vecteur décomposable, représentant un nouveau2-sous-espace deRn.En effectuant itérativement la même opération sur chaque couple de termes de la somme exprimantle 2-vecteur M, nous obtenons une nouvelle somme finie de2-vecteurs décomposables, représen-tant des sous-espaces indépendants, i.e. n’ayant aucun vecteur commun excepté le vecteur nul~0deRn. Notons que cette somme contient au moins deux termes, car sinon, M serait décomposable,ce qui n’est pas le cas par hypothèse.Si M = ∑p

i=1 M′i est cette somme réduite, le produit M∧M donne :

M∧M =

(p

∑i=1

M′i

)∧(

p

∑j=1

M′j

)

= 2∑i≤ j

M′i ∧M′j

Tous les termes M′i ∧M′j de la somme sont des4-vecteurs linéairement indépendants, car les M′in’ont aucun vecteur commun par hypothèse. La somme ne peut donc s’annuler, et M∧M 6= 0.�

Prenons un exemple. SoitM = e1∧e2 +e3∧e4, avec(e1,e2,e3,e4) libres :

M∧M = (e1∧e2 +e3∧e4)∧ (e1∧e2 +e3∧e4)(bilinéarité) = e1∧e2∧e1∧e2 +e1∧e2∧e3∧e4+

e3∧e4∧e1∧e2 +e3∧e4∧e3∧e4

(anticommutativité) = e1∧e2∧e3∧e4 +e3∧e4∧e1∧e2

= e1∧e2∧e3∧e4 +e1∧e2∧e3∧e4

= 2e1∧e2∧e3∧e4

6= 0.

Dans le cas général, la dimension de l’espace des 4-vecteursde∧

(Rn+1) estC4n+1. Il existe donc, dans

une base de∧

(Rn+1) avecn≥ 3, C4n+1 produits de la formeMi ∧M j , où Mi et M j sont deux 2-vecteurs

dans la base de∧

(Rn+1). Cela signifie que déterminer un 2-vecteur décomposable, ouencore un pointde la grassmannienneGR(2,n+1), revient à résoudre le système desC4

n+1 équationsMi ∧M j = 0.

On remarque par exemple que pourn = 2, ce nombre n’est pas défini (carC43 n’est pas défini) : on dé-

duit que tous les 2-vecteurs de∧

(R3) sont décomposables. De même, pourn = 3, ces équations sontau nombre deC4

4 = 1, montrant que ce cas est relativement simple à résoudre. Ilest en effet possible decalculer explicitement et simplement les droites passant par quatre droites en position générale dansG3

(voir par ex. [TH99]). Ce calcul revient à résoudre un unique polynôme du seconddegré, caractérisantl’intersection entre la grassmannienneGR(2,4) et une 1-variété linéaire résultant des contraintes d’inci-dences aux quatre droites deG3. Cette technique est notamment utilisée par Teller pour déterminer lesintersections entre la grassmannienne deD3 et les arêtes d’un polytope convexe représentant les droitespassant par une séquence de polygones [TH91] (voir également §4.3.1). Mais ceci est un cas particulierdeD3, où la solution nécessite la résolution d’une seule équation.

Pour n > 3, le système contient plus d’une équation et est par conséquent beaucoup plus difficile àrésoudre. Le théorème5.1 ci-dessus généralise la caractérisation des points de la grassmannienne dansDn et permet en outre d’établir le système d’équations à résoudre pour calculer l’intersection entre unevariété linéaire et la grassmannienne dansDn. Mais il ne donne pas de solution pour le résoudre pourn > 3.

Page 125: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 113

Il n’existe pas de solution pratique au calcul de cette intersection à notre connaissance. Le calcul de Schu-bert [Sot03], par exemple, consiste à énumérer lesk-variétés projectives deGn, passant par un nombrefini d’autres variétés(Vi)i=1...l . Il peut s’agir par exemple du nombre de droites passant par quatre droitesdansG3. Ce calcul revient précisément à énumérer les points de la grassmannienneGR(k,n+ 1) inci-dents à une variété linéaire projective, représentant les contraintes d’incidences aux variétés(Vi)i=1...l .Toutefois, le calcul de Schubert ne vise pas à déterminer cesintersections, mais seulement à lescomp-ter [Sot03, ST02].

La difficulté de résoudre ce système d’équations peut être unproblème dans certains cas où il est utiled’évaluer ces intersections avec la grassmannienne. Par exemple, il n’est plus possible, en dimensionn > 3, de déterminer si un polytope deDn a une intersection non vide avec la grassmannienne, bien quecela soit intéressant, afin de savoir si le polytope est utileà la représentation de la visibilité. Toutefois, ceproblème n’empêche pas de donner une représentation consistante de la visibilité globale dansGn. Pourcela, nous montrons dans le paragraphe suivant, que la généralisation de la classification des droites dansGn, utile pour calculer la visibilité dansDn, est valide indépendamment de la grassmannienne.

5.1.4 Classification des droites

Outre la définition d’un espace de droites, la représentation de la visibilité à travers des faces convexess’appuie sur uneclassificationdes droites. Elle est utilisée pour caractériser la notion d’incidence etd’orientation relative des droites par rapport à certainesvariétés linéaires projectives (cf. §5.1.1).

La formulation de l’incidence entre les variétés linéairesdeGn est classiquement donnée par le produitextérieur dans l’algèbre de Grassmann :

Propriété 5.3 Soient deux variétés linéaires projectives M et M′ de Gn. Ces variétés possèdent uneintersection non vide si et seulement si :

M∧M′ = 0 (5.1)

En effet, le produit extérieur exprime la dépendance entre les sous-espaces vectoriels deRn+1 (cf. pro-priété1.6, page25). La dépendance de ces sous-espaces signifie, projectivement, l’incidence des variétésqu’ils représentent dansGn.

À partir de cette expression, nous déduisons dans ce paragraphe une classification des droites dansDn,puis montrons sa consistance, en prouvant qu’elle est indépendante de la grassmannienneGR(2,n+ 1).La sous-section suivante commence par montrer l’équivalence entre l’application de cette propriété etla classification définie à partir de l’opérateursidesur les coordonnées de Plücker. Cette équivalencepermet d’illustrer la correspondance entre une classification des variétés linéaires et le résultat du produitextérieur dans l’algèbre de Grassmann. La figure5.3 l’illustre pourG2 etD2.

Classification des droites deG3

L’orientation relative de deux droites, données par leurs coordonnées de Plücker, est déterminée à partirde l’opérateurside(cf. équation (C.1) page223et annexeC.2.1). Selon la propriété5.3, cela revient dansl’algèbre de Grassmann

∧2(R4), à faire le produit extérieur de deux 2-vecteurs. À partir del’équiva-lence entre les coordonnées de Plücker et les coordonnées des 2-vecteurs décomposables, rappelée dansle paragraphe5.1.3, on montre aisément que les expressions des deux classifications sont égalementéquivalentes.

Page 126: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

114 Chapitre 5. Théorie algébrique de la visibilité globale

D∧x > 0

D∧x = 0

D∧x < 0

b

x

e0

e1

e2

(a) DansG2, la droite D passe d’un côté, sur puis del’autre côté du pointx.

xb

b

b

D∧x = 0D∧x < 0

D∧x > 0e1∧e2

e0∧e1

e0∧e2

(b) Dualement, dansD2, le point dualD est d’un côté,sur, puis de l’autre côté de l’hyperplan dualx.

FIG. 5.3 – Classification d’une droiteD par rapport à un pointx dansG2 et dualement dansD2. Cetteclassification correspond au signe du pseudoscalairex∧D, changeant selon si la droiteD passe d’uncôté ou de l’autre du pointx. Pour faciliter l’interprétation projective des sous-espaces, ceux-ci sontreprésentés par leurs intersections avec les hyperplans respectifse0 = 1 ete1∧e2 = 1.

Considérons la base de∧2(R4) introduite précédemment :

B = (e0∧e1,e0∧e2,e0∧e3,e2∧e3,e3∧e1,e1∧e2)

Soient deux 2-vecteursA : (a0,a1,a2,a3,a4,a5) et B : (b1,b2,b3,b4,b5), dont les coordonnées sont défi-nies dans la baseB. Leur produit extérieur donne :

A∧B = (a0e0∧e1 +a1e0∧e2+a2e0∧e3+a3e2∧e3+a4e3∧e1+a5e1∧e2)∧(b0e0∧e1 +b1e0∧e2+b2e0∧e3+b3e2∧e3+b4e3∧e1+b5e1∧e2)

= (a0b3 +a1b4 +a2b5 +a3b0 +a4b1 +a5b0)e0∧e1∧e2∧e3∧e4

Le résultat est un 4-vecteur,i.e. un pseudoscalaire de∧

(R4), dont l’unique coordonnée coïncide avecl’expression de l’opérateursidesur les coordonnées de Plücker :(a0b3 + a1b4 + a2b5 + a3b0 + a4b1 +a5b0).

Ainsi, comme dans le cas du plan (cf. figure5.3), la classification des droites résulte, par application duproduit extérieur, en un pseudoscalaire. L’orientation dece pseudoscalaire détermine alors l’orientationrelative de la droite avec un sommet dansG2, ou une droite dansG3.

Classification des droites deGn

Nous généralisons ci-dessous l’opération de classification des droites deGn, pourn quelconque, à partirde la relation d’incidence entre les variétés linéaires deGn. Nous montrons ensuite que cette classificationest consistante. La consistance d’une classification dans l’espace géométriqueGn, est vérifiée par deuxcritères :

1. La classification dansGn est équivalente à une classification algébrique entre un point et un hy-perplan dansDn. Cette propriété est fondamentale pour caractériser des ensembles convexes dedroites, à partir de leur orientation algébrique (cf. §5.1.2et annexeB.3.2).

2. La classification est indépendante de la Grassmannienne.Autrement dit, la classification peut éga-lement s’appliquer à des points deDn hors de la grassmannienne. Ce critère est essentiel pourassurer la validité des calculs sur des points quelconques deDn.

Page 127: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 115

SoientD une droite deGn et H une(n−2)-variété linéaire dansGn. D’après la propriété5.3, les deuxvariétésD et H sont incidentes si et seulement si leur produit extérieur est nul :

D∧H = 0

Le résultat du produit du 2-vecteurD et du (n− 1)-vecteurH est donc un multivecteur homogène dedegrén−1+2= n+1, c’est-à-dire un pseudoscalaire de

∧(Rn+1) équivalent à un scalaire.

Nous montrons que ce produit équivaut toujours à une forme bilinéaire symétrique non dégénérée dansl’espace des 2-vecteurs

∧2(Rn+1), générateur deDn. L’objectif est de vérifier que le produit d’une droitepar une(n− 2)-variété deGn détermine une classification consistante, revenant à une classificationpoint/hyperplan dans l’espace des droitesDn, indépendante de la grassmannienne.

Théorème 5.2Supposons l’espace des pseudoscalaires∧n+1(Rn+1) identifié à l’espace des scalaires∧0(Rn+1).

Il existe un isomorphismeδ de∧2(Rn+1) dans

∧n−1(Rn+1) tel que l’application «•» définie pour tous2-vecteurs D1 et D2 par :

D1•D2 = D1∧δ (D2)

est une forme bilinéaire symétrique non dégénérée de∧2(Rn+1), définie à un isomorphisme près des

pseudoscalaires dans les scalaires.

Prenons par exemple l’opérateurside défini sur les coordonnées de Plücker, et équivalent au produitextérieur entre deux 2-vecteurs de

∧(R4). On montre aisément, en prenant un scalaireλ ∈ R et trois

6-uplets de coordonnées quelconquesΠ1, Π2 etΠ3 dansR6, que l’expression de cet opérateur vérifie (cf.équation (C.1), page223) :

symétrie Π1⊙Π2 = Π2⊙Π1

linéarité à gauche Π1⊙ (λΠ2 + Π3) = λΠ1⊙Π2+ Π1⊙Π3

linéarité à droite (λΠ1 + Π2)⊙Π3) = λΠ1⊙Π3+ Π2⊙Π3

Cela montre qu’il s’agit d’une forme bilinéaire symétriquedansR6. On montre alors qu’elle est nondégénérée en calculant la signature de la forme quadratiqueassociée,i.e. en déterminant les dimensionsmaximales des sous-espaces deR6 pour lesquels la forme est strictement positive ou négative(voirdéfinitionA.23 et théorèmeA.1, page200). Dans le cas de l’opérateurside, en déterminant l’expressionde la forme quadratique dans une base orthogonale, on trouvela signature(3,3). Cet exemple vérifie lethéorème dans le cas tridimensionnel. Nous montrons ci-dessous que c’est toujours le cas.

Démonstration du théorème5.2Soit(e0, . . .en) une base deRn+1 et (e∗0, . . . ,e

∗n) sa base duale dansRn+1∗. Cela signifie que e∗i , i =

0. . .n est la forme linéaire telle que e∗i (ej) = 0 pour tout j 6= i et e∗i (ei) = 1.

Soit Di j = ei∧ej , (i, j)∈ [0;n]2, i < j, un2-vecteur de la base de∧2(Rn+1). À l’aide de la contrac-

tion dans∧

(Rn+1) (cf. définition1.10, page25), nous pouvons associer bijectivement à D, un(n−1)-vecteur de

∧(Rn+1).

Pour cela, considérons le pseudoscalaireIn+1 = e0∧ . . .∧en et les deux formes linéaires e∗i et e∗jassociées canoniquement à Di j .

Nous utilisons alors la contraction sur le pseudoscalaire par ces deux formes linéaires dans l’al-gèbre de Grassmann :

〈e∗i ,〈e∗j ,In+1〉〉

Page 128: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

116 Chapitre 5. Théorie algébrique de la visibilité globale

Le résultat de cette contraction est le(n−1)-vecteur Hi j = (−1)i+ je0∧ . . .∧ ei ∧ . . .∧ ej ∧ . . .∧en,de la base de

∧n−1(Rn+1), au signe près (l’accent sur ei et ej signifie qu’il ne sont pas présentsdans le produit).

En effectuant la même opération pour tous les couples(i, j) ∈ [0;n]2, i < j, la contraction associede manière biunivoque un élément de la base des2-vecteurs à un élément de la base des(n−1)-vecteurs. Comme l’espace des2-vecteurs et l’espace des(n−1)-vecteurs ont la même dimension,cette association détermine un isomorphisme de

∧2(Rn+1) dans∧n−1(Rn+1). Nous le noteronsδ .

Notons In+1 la suite strictement croissante(0,1, . . . ,n) et Ikn+1 l’ensemble des sous-suites de In+1 delongueur k. Chaque sous-suite permet d’identifier de manière unique un multivecteur de la basede l’algèbre : si A est un élément(i1, . . . , ik) de Ikn+1, 0≤ i1 < .. . < ik ≤ n, nous noterons eA lemultivecteur ei1 ∧ . . .∧eik de la base de

∧(Rn+1) et nous noterons égalementA, la sous-suite de

In−k+1n+1 telle que A∩ A= /0 et A∪ A = In+1.

Soient D1 = ∑(i, j)∈I2n+1

αi j e(i, j) et D2 = ∑(k,l)∈I2n+1

βkle(k,l), deux2-vecteurs généraux de∧

(Rn+1).Nous avons :

δ (D2) = ∑(k,l)∈I2

n+1

βkl(−1)k+l eIn+1\{k,l}

Remarquons que le produit extérieur eA∧eB, pour tout A∈ I2n+1 et tout B∈ In−1

n+1 , est non nul si etseulement si A= B (ou de manière équivalente,A = B). On vérifie aisément que pour A= (i, j),nous avons eA∧eA = (−1)i+ j−1eIn+1.

Nous déduisons alors :

D1∧δ (D2) =

(i, j)∈I2n+1

αi j e(i, j)

(k,l)∈I2n+1

βkl(−1)k+l eIn+1\{k,l}

= ∑(i, j)∈I2

n+1

αi j βi j (−1)2(i+ j)−1eIn+1

= − ∑(i, j)∈I2

n+1

αi j βi j eIn+1

Le passage de la première ligne à la seconde utilise la bilinéarité du produit extérieur et la pro-priété précédente indiquant que eA∧eB est non nul ssi A= B.

En effectuant le même calcul pour D2∧δ (D1), on trouve le même résultat, montrant que le produitest dans ce cas symétrique. De plus, «δ» étant linéaire, par définition d’un isomorphisme (cf.définitionA.16, page199), et le produit extérieur étant bilinéaire, on déduit que l’application D1•D2 = D1∧ δ (D2) est une forme bilinéaire symétrique, par identification du pseudoscalaire eIn+1

à un scalaire. Elle est aussi non dégénérée, car eIn+1 6= 0 et l’expression de la forme quadratiqueassociéeQ(D1) = D1∧ δ (D1) est une somme de carrésα2

i j , donnant la signature de la formequadratique associée.

Cette forme est unique à isomorphisme près des pseudoscalaires dans les scalaires. En particulier,si nous identifions le pseudoscalaire eIn+1 à−1, alors la forme «•» correspond à un produit scalaire(elle est définie positive).�

Illustrons les conséquences de ce théorème pour la classification des droites. SoientH un(n−1)-vecteurquelconque de

∧(Rn+1). L’ensemble des 2-vecteursD de

∧(Rn+1) tels queD•δ−1(H) = 0 est toujours

un hyperplan dans l’espace des 2-vecteurs ; il s’agit de l’hyperplan conjugué de l’espace généré par le

Page 129: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 117

2-vecteurδ−1(H), relativement à la forme bilinéaire «•» (voir annexeA.2.3). Cet hyperplan est toujoursdéfini, pour tout(n−1)-vecteur, car la forme est non dégénérée.

Cela signifie que le produit extérieur d’une droite (un 2-vecteur) et d’une(n− 2)-variété (unn− 1-vecteur) correspond effectivement algébriquement à la classification point/hyperplan requise dansDn.Mais le théorème assure également que cette classification est consistante pour tout 2-vecteur et tout(n−1)-vecteur, même non décomposables. Cette propriété de la classification est essentielle afin d’assurerque les calculs sont également valides pour les points hors de la grassmannienne dansDn. Ces pointssont utiles à la représentation de la visibilité par des ensembles convexes, il est donc primordial de validerles calculs pour ceux-ci.

En pratique, il n’est pas nécessaire de calculer le 2-vecteur associé, par la bijectionδ , à un(n−1)-vecteur.En effet, le produit extérieur donne le même résultat. Cetteforme bilinéaire n’est donc véritablementutile que pour le raisonnement et pour montrer la consistance algébrique de la classification. Elle serviraégalement à établir des résultats pratiques dans le chapitre 6, puis à décrire les calculs directement dansDn, sans utiliser explicitement l’espace des pseudoscalaires

∧n+1(Rn+1).

Pour conclure ce paragraphe, nous en rappelons les points essentiels. Nous avons d’abord rappelé com-ment représenter de manière classique un espace de droites dans l’algèbre. Nous avons ensuite démontréla consistance d’une opération de classification algébrique des droites en toute dimension. Ce que l’on re-marque pour le moment, c’est que l’expression des calculs est la même en toute dimension : l’espace desdroites est toujours l’espace des 2-vecteurs et la classification est toujours exprimée à partir du produitextérieur, de sorte que le résultat est un pseudoscalaire. Ainsi, une seule expression du calcul suffit à êtreconsistante en toute dimension. Cela permet d’affirmer non seulement que la généralisation du calcul devisibilité globale du plan à l’espace tridimensionnel est directe, mais qu’elle est également directe à toutedimension. Le paragraphe suivant montre comment généraliser ce calcul à partir d’une seule expressionalgébrique de la visibilité.

Pour simplifier les notations dans la suite de ce chapitre, nous supposons implicitement les pseudos-calaires identifiés aux scalaires, comme dans le théorème5.2 et sa démonstration. Les résultats de laclassification des droites seront donc définis à un isomorphisme près entre ces deux espaces.

5.1.5 Définir un calcul de visibilité avec l’algèbre de Grassmann

Le calcul de visibilité globale dans l’espace des droites repose sur la caractérisation des droites passantpar des faces convexes (cf. §5.1.1). Cette caractérisation utilise, dans le plan et dans l’espace tridimen-sionnel, la représentation d’un espace de droites et l’expression d’une classification des droites dans cetespace. À partir des généralisations précédentes de ces deux concepts, nous montrons comment carac-tériser les droites passant par une ou plusieurs faces convexes deGn. Il s’agit d’une généralisation destravaux de Telleret al. [TH91], sur la caractérisation des droites passant par un ou plusieurs polygonesde l’espace tridimensionnel (cf. §4.3.1, page88).

Ensemble des droites à travers une face convexe

De manière intuitive, les faces concernées par la visibilité sont les faces convexes de dimensionn− 1dansGn (des (n− 1)-faces convexes). En effet, la visibilité s’exprime de manière atomique par desensembles de couples de points mutuellement visibles. Ces points sont les intersections entre une droitede visibilité et deux objets mutuellement visibles. La visibilité s’exprime par conséquent entre des faces

Page 130: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

118 Chapitre 5. Théorie algébrique de la visibilité globale

dont l’intersection avec une droite se fait en un unique point, à moins d’être confondue avec cette droite.Immédiatement, la dimension de ces faces est inférieure ou égale à(n−1), seuls cas où il est possiblede trouver au moins un point en dehors de la variété support dela face.

Les (n−1)-faces sont des arêtes dansG2, des polygones convexes dansG3, et des polyèdres convexesdansG4. Les facettes de ces(n−1)-faces (les faces du bord de plus grande dimension) sont des(n−2)-faces, dont les supports sont les(n−2)-variétés utilisées dans la classification des droites deGn.

Nous proposons puis démontrons le théorème suivant, caractérisant les droites passant par une(n−1)-face convexe par un polytope deDn. Nous discutons ensuite ses implications dans le calcul de visibilitéglobale.

Théorème 5.3SoitF une(n−1)-face convexe deGn, supportée par une(n−1)-variété F et bordée parles(n−2)-faces convexes(f i)i=1,...,r , supportées par les(n−2)-variétés( fi)i=1,...,r .

Il existe deux orientations possibles des(n−2)-variétés( fi)i=1,...,r , selon l’orientationalgébriquede lavariété F, telles qu’une droite D deGn, non confondue avec l’hyperplan F, passe par la faceF si etseulement si elle vérifie :

D∧ fi ≥ 0 pour tout i= 1. . . r (5.2)

ou D∧ fi ≤ 0 pour tout i= 1. . . r (5.3)

L’ensemble des droites D deGn passant parF est l’intersection de la grassmannienne GR(2,n+1) avecun polytope deDn, déterminé par l’intersection des demi-espaces positifs associés aux hyperplans deDn déduits des(n−2)-variétés fi.

Dans le cas tridimensionnel, ce théorème se dérive de la manière suivante. La faceF est un polygoneconvexe et ses facettes(f i)i=1,...,r , des arêtes dont les supports sont des droites. En considérant l’opérateurside sur les coordonnées de Plücker à la place du produit extérieur, nous retrouvons précisément lerésultat de Teller sur les droites passant par un polygone convexe. Toutefois, le théorème est ici énoncéindépendamment de la dimension. Nous démontrons ci-dessous que notre énoncé est valide dansGn,pourn≥ 2. Pour aider à la compréhension de la démonstration, la figure5.4en illustre différentes étapespour le casn = 2.

DémonstrationLa droite D correspond à un2-vecteur et l’hyperplan F à un n-vecteur de

∧(Rn+1). Le produit

D∧F est un(n+2)-vecteur, nul car n+2 > n+1. L’intersection entre les sous-espaces deRn+1

représentés par D et F est donc de dimension1, correspondant à un point projectif, ou bien dedimension2, correspondant à la droite D elle-même. Nous avons alors le lemme suivant.

Lemme 5.1 Toute droite D de l’espaceGn coupe la variété F en un point unique, à moins que ladroite ne soit incluse dans la variété.

Considérons maintenant une droite D non confondue avec l’hyperplan F, dont l’intersection avecF est un point P∩ (un 1-vecteur non nul de

∧(Rn+1)). De manière immédiate, la droite passe par

la faceF si et seulement si le point P∩ appartient à la faceF.

La droite D est le produit extérieur de P∩ avec un second point P6∩ de la droite, non confondu avecl’hyperplan F par hypothèse (cf. figure5.4(a)). Nous avons alors D= P∩∧P6∩.

Page 131: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.1. Formulation algébrique de la visibilité globale 119

e0 = 1

b f2

b

P6∩

P∩P∩∧P6∩

b

b

f1F

e0

e1

e2

(a) Toute droiteD, non confondue avec l’hyperplanFassocié à l’arêteF, est déterminée par un pointP∩ surFet un second pointP6∩ hors deF , tels queD = P∩∧P6∩. Laclassification par rapport aux sommets deF s’écrit alorsD∧ fi = P∩∧P6∩∧ fi .

e0 = 1

P6∩∧ f1

P6∩∧ f2

P6∩P∩

b

b

f2

b

b

f1

e0

e1

e2

(b) Le pointP6∩ de la droite transforme uniformément lessommetsfi en hyperplansP6∩ ∧ fi deG2. Le sommetP∩est sur l’arêteF si et seulement s’il est dans le polytopedéterminé par les deux hyperplansP6∩∧ fi , ce qui se cal-cule par le termeP∩∧ (P6∩∧ fi).

FIG. 5.4 – Déterminer si une droite passe par une arête revient à déterminer si le point d’intersection dela droite avec le support de l’arêteF est contenu dans l’extrusion de l’arête selon un point de la droitehors de l’hyperplanF.

Par associativité du produit extérieur, le produit D∧ fi, de la droite avec les variétés fi caractéri-sant le bord de la face devient :

P∩∧P6∩∧ fi = P∩∧ (P6∩∧ fi)

Le n-vecteur P6∩∧ fi est décomposable non nul, car P6∩ n’est pas incident à fi par hypothèse. Cen-vecteur représente par conséquent un hyperplan deGn. Le produit P∩∧ (P6∩∧ fi) revient donc àdéterminer de quel côté se trouve le point P∩ par rapport à l’hyperplan P6∩∧ fi.Considérons le polytopeP déduit par extrusion de la faceF sur le sommet P6∩ (voir figure5.4(b)).Comme la faceF est convexe, le polytope est également convexe : il s’agit del’intersection desdemi-espaces positifs associés aux hyperplans P6∩ ∧ fi , i = 1. . . r et F, pour une orientation (al-gébrique) particulière de ces hyperplans. L’orientation des hyperplans P6∩ ∧ fi , i = 1. . . r, ou demanière équivalente, l’orientation des variétés( fi)i=1...r , dépend uniquement de celle de la variétéF17. En effet, P6∩ ∧F est un pseudoscalaire non nul (car P6∩ n’est pas dans F). Supposons queP6∩∧F > 0 (par identification des pseudoscalaires et des scalaires),ce qui signifie que P6∩ est ducôté positif de F. C’est vrai par hypothèse, car P6∩ est dansP. L’orientation de chaque hyperplanP6∩∧ fi (de chaque variété fi) peut alors être déterminée à partir d’un point quelconque PF à l’inté-rieur de la faceF, par conséquent contenu dans le polytopeP, de sorte à vérifier PF∧(P6∩∧ fi) > 0.Comme PF∧(P6∩∧ fi) =−P6∩∧PF∧ fi et comme PF∧ fi est un représentant homogène de la variétéF, cela est équivalent à dire que PF∧ fi à une orientation opposée à celle de F (PF∧ fi = λF,λ < 0,pour tout PF dansF et tout i= 1. . . r). Cela montre que l’orientation des variétés( fi)i=1...r peut-être déterminée uniquement à partir de celle de F.Selon l’orientation de ces variétés, on déduit qu’un point Pde Gn est dans le polytopeP si etseulement si P∧F ≥ 0 et P∧ (P6∩∧ fi) > 0, i = 1. . . r. Cela concerne en particulier tous les pointsde la faceF, dont le point P∩. On a alors :P∩ est un point deP si et seulement s’il vérifie :

P∩∧ (P6∩∧ fi)≥ 0 pour tout i= 1. . . r

17F étant un hyperplan dansGn, son orientation peut être vue classiquement comme la caractérisation de l’intérieur et del’extérieur de l’objet dont la faceF est un élément du bord.

Page 132: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

120 Chapitre 5. Théorie algébrique de la visibilité globale

Autrement dit, la droite D passe par la faceF si et seulement si elle vérifie :

D∧ fi ≥ 0 pour tout i= 1. . . r

Si on considère la même droite−D = P6∩∧P∩, avec un changement d’orientation, alors on déduitque la droite−D passe par la faceF si et seulement si elle vérifie :

−D∧ fi ≤ 0 pour tout i= 1. . . r

Comme ce raisonnement est indépendant du choix du point P6∩ hors de l’hyperplan F, il reste validepour toute droite D non confondue avec l’hyperplan.

De manière immédiate, tout changement d’orientation d’unepartie des(n−2)-variétés( fi)i=1...r

ne permet plus de vérifier l’une des équations (5.2) et (5.3) pour les droites D passant par lafaceF. Au contraire, si l’orientation est changée pour toutes les(n−2)-variétés à la fois (ce quirevient à changer l’orientation initiale de F), alors les droites vérifiant l’équation(5.2) vérifierontl’équation(5.3) et inversement. Ainsi, il existe seulement deux orientations possibles des( fi)i=1...r ,permettant de caractériser les droites passant parF.

DansDn, chaque fi correspond à un hyperplan par conjugaison par rapport à une forme bilinéaire«•», équivalente au produit extérieur utilisé pour la classification des droites (cf. §5.1.4). Nousnoterons f⊥i cet hyperplan. L’ensemble des points deDn, représentant les droites passant par lafaceF, correspond à l’ensemble des points de la grassmannienne contenus dans les demi-espacespositifs (ou négatifs) associés à chaque hyperplan f⊥

i . Cet ensemble est donc l’intersection entrela grassmannienne GR(2,n+1) et le polytope bordé par les hyperplans f⊥i dansDn.�

Implications du théorème5.3sur la visibilité globale

On remarque que l’énoncé du théorème distingue les droites confondues avec l’hyperplanF support dela faceF. Supposons maintenant queD soit confondue avec l’hyperplanF . Le multivecteurD∧ fi esthomogène d’ordren+1, pour touti. Si D est confondue avec l’hyperplanF, alors le termeD∧ fi revientau produit extérieur den+ 1 points contenus dans l’hyperplanF , de dimensionn− 1. On en déduitque lesn+ 1 points correspondant au produitD∧ fi sont dépendants. Nous avons alorsD∧ fi = 0 pourtout i = 1. . . r. Ceci est valable pour toute droite contenue dans l’hyperplan F , même celles ayant uneintersection vide avec la face. En conséquence de cette remarque, nous proposons la définition suivantedes droites de visibilité à travers une(n−1)-faceF.

Définition 5.2 Une droite D est unedroite de visibilitéà travers une face convexeF deGn, si et seule-ment si la droite D a un et un seul point d’intersection PF avec l’hyperplan support de la faceF, et telque PF est un point deF.

L’ensemble des droites de visibilité à travers la faceF est noté stab(F).

Cette définition permet de garder une caractérisation correcte de la visibilité dans l’espace des droites, enignorant les droites confondues avec la faceF. Cette nuance est également présente dans les travaux pré-cédents [TH91, Bit02, Nir03, Mor06, FPST03] utilisant la paramétrisation de Plücker ou le plan projectifdual. Elle n’a néanmoins jamais été véritablement caractérisée, ni mise en avant dans ces travaux.

Le résultat du théorème précédent possède en outre une propriété que nous énonçons et démontrons ci-dessous. Cette propriété permet en pratique de mieux comprendre le résultat du théorème, concernant

Page 133: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.2. Le polytope minimal 121

les orientations algébriques relatives des droites passant par la faceF et des facettes(f i)i=1,...,r de F.Cette propriété nous servira en particulier dans le paragraphe5.2.2, à la démonstration d’un résultat duthéorème5.4sur le polytope minimal, mettant en évidence les conditionsd’apparition de cas dégénérés.

Propriété 5.4 Soit une droite D= P∩∧P6∩, passant par la(n−1)-face convexeF (non confondue avecl’hyperplan support F), dont l’orientation des facettes( fi)i=1...r est correctement fixée et avec P∩F. Ladroite D vérifie l’équation(5.2) ou bien l’équation(5.3) uniquement en fonction du côté où se trouve lepoint P6∩ par rapport à l’hyperplan F.

DémonstrationDans la démonstration précédente, nous avons déterminé uneorientation des(n− 2)-variétés( fi)i=1...r à partir d’un point P6∩, hors de l’hyperplan F, support de la faceF. Cette orientation estchoisie de sorte que pour tout point PF, dansF, la propriété suivante est vérifiée :

PF∧P6∩∧ fi ≥ 0

Une fois cette orientation fixée, cela signifie que pour tout point PF de F, le n-vecteur PF ∧ fi atoujours la même orientation. Ce multivecteur, s’il est nonnul, est un représentant de l’hyperplanF support deF.

Ainsi, pour une droite D= P∩∧P6∩, coupantF au point P∩, on a :

P∩∧P6∩∧ fi =−P6∩∧ (P∩∧ fi)

Comme l’orientation du terme P∩ ∧ fi est indépendante du point P∩ pris sur F, l’orientation desfi étant fixée, le signe de−P6∩∧ (P∩∧ fi) ne dépend que du point P6∩. Plus précisément, ce termerevient à déterminer de quel côté se trouve le point P6∩ par rapport à l’hyperplan F= P∩∧ fi.�

Finalement, les résultats du théorème5.3et de la propriété5.4finissent de généraliser à toute dimensionles concepts fondamentaux au calcul de la visibilité globale dans un espace de droites. À partir de ceux-ci, nous pouvons complètement caractériser la visibilité globale depuis une ou plusieurs faces convexes,seulement à partir de l’opération de classification dansDn. L’expression de ce calcul est à la fois simple,unique et valide en toute dimension.

5.2 Le polytope minimal

Cette section étudie le cas particulier des droites passantpar deux faces. Ce cas est intéressant parcequ’il permet d’isoler des propriétés utiles à l’étude des ensembles de droites passant par plus d’une faceconvexe. Il est aussi intéressant, car il s’agit du contextedans lequel s’exprime le problème du polytopeminimal (cf. §4.3.3), qui consiste à déterminer la représentation convexe minimale (en terme d’inclusion)des droites passant par deux faces, et dont la solution est utile au calcul de visibilité entre couples de faces.

La section commence par un rappel du problème du polytope minimal étendu àGn. Notre solution estensuite proposée, à partir d’un théorème et une démonstration, dont le résultat est une caractérisationrigoureuse du polytope minimal en toute dimension.

Page 134: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

122 Chapitre 5. Théorie algébrique de la visibilité globale

Cas de la visibilité à travers deux faces convexes

Le problème du polytope minimal est inhérent à la visibilitéentre deux faces convexes, où il est néces-saire de déterminer un polytope représentant les droites passant par une face source et une face cible.

Nous avons vu dans le paragraphe4.3.2, page90, que la détermination d’un polytope représentantles droites passant par deux facesS et C était sujette à problèmes. La raison est l’absence d’uneV-représentation de celui-ci,i.e. il n’existe pas de sommets dont le polytope est l’enveloppe convexe, àmoins d’ajouter des hyperplans supplémentaires. La construction de ce polytope est essentielle au calculde visibilité globale entre deux faces convexes (cf. §4.3.2, page90).

La définition rigoureuse du plus petit polytope représentant les droites passant par deux faces deGn estune question pertinente pour deux raisons. La première, développée dans le paragraphe4.3.3, est la vo-lonté de limiter les coupes de la visibilité autour de la Grassmannienne, afin d’éviter le phénomène defragmentation. Cette fragmentation se manifeste dans l’espace des droites par des coupes de polytopespar des hyperplans, résultant en des ensembles n’ayant aucune intersection avec la grassmannienne (cf.§4.3.3) et donc inutiles. Cela est particulièrement intéressant pour le calcul de visibilité dans des espacesde dimensionn > 3, où la grassmannienne n’est plus une hypersurface et où la détermination des po-lytopes la coupant n’est plus définie. La seconde raison est que la construction du polytope, selon lesméthodes proposées par Nirenstein [Nir03] et Bittner [Bit02], est difficilement généralisable à toute di-mension et n’est pas utilisable dans les cas dégénérés ou bien résulte en une représentation faussée (voirle traitement des dégénérescences dans ces méthodes, §4.3.3page97).

Définition du polytope minimal

Nous proposons la définition suivante du polytope minimal dansDn. Cette définition permettra de guiderla démonstration du théorème5.4.

Définition 5.3 Soient deux faces convexesA et B dans Gn, et stab(AB) l’ensemble des points deGR(2,n+1)⊂Dn représentant l’ensemble des droites de visibilité entreA etB.

Le polytope minimalMAB est le polytope convexe deDn vérifiant :

Prop. 1 stab(AB)⊆MAB

Prop. 2 MAB ∩GR(2,n+1) ⊆ stab(AB)

Prop. 3 SiPAB est un ensemble convexe deDn tel que stab(AB)⊆ PAB, alorsMAB ⊆ PAB .

Les propriétés1 et2 dans la définition5.3sont équivalentes à :

MAB ∩GR(2,n+1) = stab(AB)

Cela signifie que le polytopeMAB est un représentant de l’ensemble des droitesstab(AB) passant parAet B. Autrement dit, une droiteD est une droite de visibilité (une droite dansstab(AB)) si et seulementsi elle est contenue dans le polytope minimalMAB .

La propriété3 indique qu’il n’existe pas de polytope strictement contenudansMAB représentant lesdroitesstab(AB) dansDn, i.e. le polytopeMAB est minimal.

Le résultat du théorème5.4ci-dessous est une caractérisation du polytope minimal desdroites entre deuxfaces convexes, valable dansDn pour n≥ 2. Plus précisément, il s’agit d’une preuve de l’existence et

Page 135: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.2. Le polytope minimal 123

d’une caractérisation robuste du polytopeMAB pour des configurations canoniques des facesA et B,puis une preuve de non-existence de polytope convexe représentantstab(AB) pour les autres cas. Nousproposons alors une méthode pour contourner ces cas.

5.2.1 Caractérisation du polytope minimal

Dans la suite, nous considérons deux(n−1)-faces convexesA et B deGn, respectivement de sommets(ai)i=1...vA et (b j) j=1...vB. Ces faces ont pour supports respectifs les(n−1)-variétés linéaires projectivesA etB, dont l’intersection est une(n−2) variétéIAB dansGn. Pour cela, nous supposons que les facesAetB n’ont pas le même support,i.e. les variétésA etB ne sont pas confondues.

Théorème 5.4Si les hyperplans A et B ne coupent pas les facesB et A respectivement, ou seulementsur leurs bords, alors le polytope minimalMAB est l’enveloppe convexe des droites Di j = ai ∧b j ,(i, j) ∈[1;vA]× [1;vB] passant par un sommet deA puis par un sommet deB. Sinon, il n’existe pas de polytopeconvexe représentant toutes les droites allant deA versB.

Le résultat de ce théorème est une caractérisation du polytope minimalMAB, représentant les droitesstab(AB) entre deux facesA et B, à partir de saV-représentation. Le théorème distingue également descasdégénérésoù le polytope minimal n’est pas défini, et plus généralement, où aucun polytope convexene peut représenter toutes les droitesstab(AB) à la fois. Nous dégageons ci-dessous les conséquencesimmédiates de ce résultat, puis proposons ensuite une méthode pour considérer les cas dégénérés.

Le théorème offre la possibilité de calculer facilement laV-représentation,i.e. les sommets, du polytopeminimalMAB dansDn. Cette caractérisation a quatre intérêts immédiats :

1. Le premier intérêt notable est la possibilité d’avoir uneV-représentation d’un polytope des droitesentre deux faces convexes en dimension quelconque, sachantqu’une telle caractérisation est pro-blématique dés la troisième dimension.

2. Le polytope ainsi caractérisé est également minimal. Il s’agit donc de la solution au problèmeouvert du polytope minimal, limitant le mieux le phénomène de fragmentation de la visibilité.Cette solution est en outre définie en dimension quelconque,cela étant intéressant, en raison del’impossibilité de déterminer l’existence de ces intersections pourn > 3 (voir §5.1.3).

3. Il est également possible, à partir de laV-représentation du polytope seulement, de déterminer latopologie complète de ce polytope,i.e. ses faces (arêtes, hyperplans, etc.) et les incidences entreses faces. Son calcul est notamment utile en pratique, dans les méthodes de calcul d’occultationdans l’espace des droites [Nir03, HMN05, Mor06]. La construction algorithmique du polytopeminimal dansDn est abordé dans le chapitre6.

4. Nous verrons aussi dans le chapitre6 que la capacité à calculer rapidement uneV-représentationdu polytope minimal entre deux faces convexes permet d’optimiser les algorithmes de calcul d’oc-cultation dansD3, puis d’étendre ces optimisations àDn.

Enfin, ce théorème permet également d’isoler de manière précise les cas où il n’existe pas de polytopeconvexe représentant les droites passant par deux faces. Nous proposons dans la sous-section qui suit uneméthode pour contourner ces cas de manière exacte, permettant ainsi d’avoir une représentation correcteet minimale des droites passant par deux faces convexes, dans tous les cas de figure.

Page 136: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

124 Chapitre 5. Théorie algébrique de la visibilité globale

Traitement des cas dégénérés

Les cas de non-existence de polytope convexe représentant les droitesstab(AB) sont ceux où l’inté-rieur d’au moins une des deux facesA et B contient une intersection non vide avec l’hyperplan sup-port de l’autre face (voir figure5.5(a)). Ces cas correspondent aux dégénérescences vues dans le para-graphe4.3.3, page97.

B

A

(a) Cas dégénéré où il n’existe pas d’ensemble convexede D3 représentant les droitesstab(AB) passant par lesdeux facesA et B

A

B

(b) Cas dégénéré limite où il existe un ensemble convexeminimal deD3 représentant les droitesstab(AB) passantpar les deux facesA et B

FIG. 5.5 – Exemples de cas dégénérés dans le calcul de visibilitéglobale dansD3. Le premier cas, où iln’existe pas de polytope minimal, peut être réduit sans perte d’information à deux cas limites comme lesecond, également dégénéré, mais où le polytope minimal estdéfini, d’après le théorème5.4.

Ces dégénérescences ne sont pas pour autant discriminantes: il est possible de réduire le cas dégénéréen plusieurs cas limites, également dégénérés, mais où il existe un polytope minimal (voir figure5.5(b)).Pour cela, la ou les faces coupées par l’hyperplan support dela face opposée sont découpées le longde l’intersectionIAB entre les deux hyperplansA et B. Cette coupe permet de diviser chacune des facesproblématiques en deux faces convexes, résultant en des caslimites où il est possible de caractériser lepolytope minimal de manière consistante. Autant de polytopes minimaux que nécessaire peuvent alorsêtre construits (quatre au maximum, si les deux facesA etB sont coupées).

À partir de cette technique, il est alors toujours possible de déterminer une représentation minimaledes droitesstab(AB), à partir d’un ou plusieurs polytopes minimaux, sans perte d’information. Cettereprésentation est exacte, robuste et valide en toute dimension.

5.2.2 Démonstration du théorème5.4

La démonstration du théorème5.4se décompose en trois points principaux. Nous allons montrer que :

1. Si un tel polytope existe et est un représentant destab(AB), alors il est minimal.

2. Si les hyperplansA et B ne coupent pas les facesB et A respectivement, ou seulement sur leurbord, alors :

Page 137: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.2. Le polytope minimal 125

(a) stab(AB)⊂MAB

(b) MAB ∩GR(2,n+1)⊂ stab(AB)

3. Sinon, il n’existe pas de polytope convexe unique représentantstab(AB).

1 : Le polytopeMAB est minimal

Supposons que le polytopeMAB existe et est effectivement un représentant des droitesstab(AB). Immé-diatement, les sommets deMAB , i.e. les droites passant par un sommet deA et un sommet deB, sont desdroites de l’ensemblestab(AB).

Tout sous-ensemble convexe strict deMAB ne comporte pas au moins un de ses sommets. Depuisla remarque précédente, on déduit que ce sous-ensemble convexe n’est pas un polytope représentantstab(AB). Autrement dit, il n’existe pas de sous-ensemble convexe deMAB représentant les droitesstab(AB) (propriété3 de la définition5.3du polytope minimal).

Ainsi, le polytopeMAB , s’il existe, est nécessairement minimal.

2 : Cas où les hyperplans ne coupent pas l’intérieur des faces

Soit MAB l’enveloppe convexe des droites passant par un sommet deA puis par un sommet deB. Cetteenveloppe convexe existe toujours. Il suffit donc de montrerqu’il s’agit effectivement d’un polytopereprésentantstab(AB).

(a) : stab(AB)⊆MAB

Soienta etb, deux points respectivement surA et surB dansGn. Comme les facesA etB sont convexes,les pointsa et b (en réalité leurs représentants homogènes) sont des combinaisons convexes (combinai-sons à coefficients positifs) des sommets deA et deB, respectivement.

Posons :

a =vA

∑i=1

αiai , αi ≥ 0 pour touti = 1, . . .vA

b =vB

∑j=1

β jbi , β j ≥ 0 pour tout j = 1, . . .vB

Nous n’imposons pas dans cette combinaison, la somme des coefficients à être égale à 1, comme dansle cas d’une combinaison affine. La raison est queGn est un espace projectif, et les représentants despoints deGn sont des vecteurs homogènes deRn+1 : leurs normes sont quelconques, prises à un facteurprès. Les facteurs sont dans ce cas positifs, pour vérifier l’appartenance des pointsa et b à l’enveloppeconvexe des sommets des faces.

L’ensemble des droites deGn allant d’un pointa de A vers un pointb de B, tels quea et b ne sontpas contenus en même temps respectivement dans les hyperplans B et A, représente immédiatementl’ensemblestab(AB) (cf. définition5.2, page120).

Page 138: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

126 Chapitre 5. Théorie algébrique de la visibilité globale

Ces droites sont associées à un point deDn, donné par :

D = a∧b

=

(vA

∑i=1

αiai

)∧(

vB

∑j=1

β jbi

)

=vA

∑i=1

vB

∑j=1

αiβ jai ∧b j

= ∑i∈{1...vA}, j∈{1...vB}

γi j ai ∧b j

On en déduit que toute droite destab(AB) est une combinaison des droitesai ∧ b j dansDn, pour touti ∈ {1. . .vA} et tout j ∈ {1. . .vB}. Ces droites sont précisément celles passant par un sommetai de Apuis par un sommetb j deB.

Les coefficientsαi et β j sont positifs ou nuls par hypothèse. On déduit alorsγi j = αiβ j ≥ 0. Les droitesD = a∧b sont donc des combinaisons des sommetsai ∧b j à coefficients positifs ou nuls. Elles sont doncdans l’enveloppe convexe des droitesai ∧b j , passant par un sommet deA puis par un sommet deB, cequi prouvestab(AB)⊆MAB.

(b) : MAB ∩GR(2,n+1)⊆ stab(AB)

Par hypothèse, l’hyperplanA (resp.B) ne coupe pas l’intérieur de la faceB (resp.A). Cela signifie queles sommets(b j) j=1...vB (resp.(ai)i=1...vA) sont tous du même côté de l’hyperplanA (resp.B). Les droitesallant d’un sommet deA vers un sommet deB traversent donc toutes la faceA et la faceB dans le même«sens».

Soient(HAi )i=1...wA et (HB

j ) j=1...wB les(n−2)-faces bordant les facesA et B respectivement.

On sait qu’il existe une orientation unique des(HAi )i=1...wA et des(HB

j ) j=1...wB telle que les droites destab(AB), orientées deA versB sont classée positivement relativement à chaque(n−2)-facesHA

i etHBj

(cf. théorème5.3et propriété5.4). Posons :

ai ∧b j ∧HAk > 0, pour tout(i, j,k) ∈ [1;vA]× [1;vB]× [1;wA]

ai ∧b j ∧HBl > 0, pour tout(i, j, l) ∈ [1;vA]× [1;vB]× [1;wB]

SoitD = ∑i∈{1...vA}, j∈{1...vB} γi j ai ∧b j ,γi j ≥ 0 pour tout(i, j) de[1;vA]× [1;vB], un point quelconque dansl’enveloppe convexeMAB (non nécessairement sur la grassmannienneGR(2,n+1)). Nous avons :

D∧HAk = ∑i∈{1...vA}, j∈{1...vB} γi j

(ai ∧b j ∧HA

k

), pour toutk∈ [1;wA]

D∧HBl = ∑i∈{1...vA}, j∈{1...vB} γi j

(ai ∧b j ∧HB

l

), pour toutl ∈ [1;wB]

Or, γi j , ai ∧b j ∧HAk et ai ∧b j ∧HB

l sont par hypothèses positifs, pour toute valeur dei, j,k et l dans leurintervalle respectif. On déduit :

D∧HAk ≥ 0, pour toutk∈ [1;wA]

D∧HBl ≥ 0, pour toutl ∈ [1;wB]

Si de plus,D ∈ GR(2,n+ 1) et D n’est pas confondue avec l’un des hyperplansA ou B, alors D ∈stab(AB).

Page 139: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.2. Le polytope minimal 127

La droiteD est confondue avec l’un des hyperplans uniquement dans le cas où l’hyperplan support de lafaceA (resp. l’hyperplan de la faceB) coupe la faceB (resp. la faceA) sur son bord. Toutefois, toutesles droites confondues avec l’un des hyperplans supports des facesA et B sont sur une partie du borddu polytope minimal. Il s’agit de la partie du polytope confondue avec l’hyperplan deDn associé à la(n− 2)-variété IAB, définie par l’intersection entre les hyperplansA et B. Dans ce cas, on admet quele polytopeMAB est ouvert sur ce bord. Ceci ne change ni la définition du polytope minimal, ni lesalgorithmes et les résultats du calcul (cf. chapitre6).

Ainsi, nous avons :MAB ∩GR(2,n+1)⊂ stab(AB).

Cas où l’intérieur d’une des faces est coupée par l’hyperplan support de la face opposée

Si l’intérieur d’une des facesA ouB (éventuellement les deux) est coupé respectivement par l’hyperplanB ouA, alors il n’est pas possible d’orienter les(n−2)-faces définissant le bord deA etB, à la fois pourla faceA et pour la faceB.

Pour montrer cela, supposons que la faceA soit coupée par l’hyperplanB, support de la faceB. Celasignifie qu’il existe deux sommetsai1 etai2 deA, i1, i2 ∈ {1. . .vA}, tels queai1∧B> 0 etai2∧B< 0, i.e.les deux sommets sont d’un côté différent de l’hyperplanB (voir figure5.6).

b

b

b

A

b

ai1

ai2

B

D1D2

FIG. 5.6 – Cas dégénéré deG3 où il n’est pas possible de trouver une orientation consistante des arêtesdes deux facesA etB à la fois.

Soientb un point deB, et deux droitesD1 = ai1 ∧b etD2 = ai2 ∧b, appartenant à l’ensemblestab(AB).

D’après la propriété5.4, les droitesD1 et D2 traversent la faceA dans le même sens, carb est du mêmecôté de l’hyperplanA pour les deux droites, et les sommetsai1 et ai2 sont sur l’hyperplanA. Donc,D1

et D2 vérifient toutes les deux la même équation (5.2) ou (5.3) : les deux droites peuvent être classéeschacune positivement ou négativement, relativement aux(n−2)-variétés support des(n−2)-faces deA.

En revanche, les droitesD1 etD2 ne traversent pas la faceB dans le même sens, carai1 etai2 ne sont pasdu même côté par rapport àB. Ainsi, si l’une vérifie l’équation (5.2), l’autre vérifiera l’équation (5.3)par rapport à la faceB : l’une sera classée positivement tandis que l’autre sera classée négativementrelativement aux mêmes(n−2)-variétés.

Inversement, si l’une des droites est inversée, alors les deux droites auront la même classification pour la

Page 140: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

128 Chapitre 5. Théorie algébrique de la visibilité globale

faceB, mais pas pour la faceA.

Ainsi, quelle que soit l’orientation des(n− 2)-faces deA et deB, elles ne peuvent satisfaire l’une desdeux équations (5.2) et (5.3) pour toutes les droites destab(AB) : il n’existe pas d’orientation consistantedes(n−2)-variétés pour les deux facesA etB à la fois.

On en déduit alors qu’il n’existe pas d’ensemble convexe unique représentant toutes les droitesstab(AB),pour deux facesA et B où le support d’au moins une des deux faces coupe l’intérieurde l’autre face.

5.3 Discussions et positionnement avec l’existant

L’équivalence entre notre théorie et les formulations du calcul de la visibilité globale à partir du plan dualet des coordonnées de Plücker montrent trois choses :

1. Notre démarche est cohérente, puisqu’elle parvient à généraliser complètement les méthodes ac-tuelles, décrites comme les plus efficaces mais restreintesaux cas 2 et 3-dimensionnels.

2. Il existe un lien entre le calcul de visibilité dans le planet dans l’espace tridimensionnel, que n’ontpu déceler les travaux précédents, du fait d’un manque d’abstraction. Ce lien permet de transposerde manière immédiate les calculs dans le plan à l’espace tridimensionnel.

3. Notre théorie n’est pas seulement un cadre abstrait, maispeut également être utilisée pour calculeret évaluer une représentation de la visibilité globale. Il suffit pour cela de définir une base del’algèbre afin d’obtenir un cadre analytique comme l’est la paramétrisation de Plücker.

Il existe néanmoins une différence entre l’approche proposée dans ce chapitre et les travaux sur le calculde visibilité globale décrits dans le chapitre4. L’espace géométrique dans lequel sont décrits les objetsest, dans ces travaux, un espace affine. Au contraire, notre approche utilise un espace projectifGn ≃Pn. Nous avons indiqué cependant que la paramétrisation de Plücker ainsi que le plan dual sont desformes de dualités projectives et considèrent implicitement les espaces géométriquesG2 et G3 commeétant projectifs. Le calcul de visibilité dans l’espace projectif est donc fondamentalement plus cohérent,mais également plus général. Ainsi, notre théorie peut également être utilisée dans le cadre du calcul devisibilité globale dans un espace affine euclidien, généralement utilisé pour décrire les objets, notammenten synthèse d’image. Cette utilisation ne change rien à la formulation des opérations, elle peut êtreappliquée de manière transparente dans un tel contexte. Le chapitre6 procure plus de détails sur cetteutilisation.

Relativement aux travaux sur le calcul de Schubert, notre approche est immédiatement similaire, vu queles coordonnées de Plücker utilisées dans ces travaux sont une représentation analytique des multivec-teurs décomposables utilisés dans notre approche. En particulier, notre étude fait intervenir les mêmesstructures algébriques. Il s’agit des espaces projectifs,des grassmanniennes et des relations d’incidencesentre les variétés linéaires projectives. Toutefois, ces comparaisons se limitent à ces concepts, leur ob-jectif étant radicalement différent du nôtre.

Pour revenir sur les coordonnées de Plücker et leur généralisation, notons que celles-ci sont intéressanteset utiles en pratique, puisqu’elles décrivent un cadre analytique permettant d’évaluer l’expression ducalcul. Elles sont en revanche inadaptée à raisonner et formuler des solutions générales à ce calcul. Lasous-section suivante revient sur les avantages de l’algèbre de Grassmann pour formuler le calcul devisibilité globale en dimension quelconque.

Page 141: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.3. Discussions et positionnement avec l’existant 129

5.3.1 Avantages des algèbres de Grassmann

Nous avons démontré dans ce chapitre un certain nombre de résultats à partir de l’algèbre de Grassmann.Ces démonstrations utilisent intensivement à la fois l’interprétation des algèbres et la structure de cesalgèbres.

L’interprétation est essentielle pour définir un lien entreles variétés projectives, les sous-espaces vec-toriels sous-jacents et les multivecteurs de l’algèbre. Lastructure est alors utilisée pour s’abstraire del’interprétation afin de calculer sur ces termes et formulerdes expressions n’ayant pas nécessairementd’interprétation géométrique. C’est le cas par exemple, dela définition d’une équivalence entre la clas-sification des droites et une forme bilinéaire symétrique, montrant sa validité sur des points deDn horsde la grassmannienne, donc non interprétés. C’est aussi le cas de la démonstration du théorème5.4 dupolytope minimal, où les combinaisons de points dansDn ne correspondent à aucune interprétation géo-métrique, mais sont essentielles à la démonstration.

L’utilisation des algèbres de Grassmann apporte alors deuxavantages majeurs par rapport aux autresformalismes cités, permettant de représenter des variétésprojectives orientées :

1. La possibilité de représenter et calculer à partir de points non interprétés, en dehors de la grass-mannienne. Ces points sont utiles pour représenter l’ensemble des droites passant par des facesconvexes par des ensembles convexes dans l’espace des droites. Ces calculs et donc ces repré-sentations ne sont pas possibles dans le formalisme proposépar Stolfi [Sto91], où les élémentsintervenant dans le calcul correspondent uniquement aux multivecteurs décomposables,i.e. sur lagrassmannienne.

2. La définition de ces variétés indépendamment de tout système de coordonnées. Cette représen-tation synthétique et géométriquement explicite (la variété passant parn points indépendants estle produit extérieur de cesn points) facilite le raisonnement sur les droites, et permetde généra-liser le calcul de visibilité globale en dimension quelconque à partir d’une seule formulation ducalcul. L’indépendance des coordonnées permet en outre de simplifier les démonstrations détermi-nant la validité de la généralisation. Par exemple, la démonstration du théorème5.3 caractérisantles droites passant par une face convexe, utilise des raisonnements simples sur les multivecteurs.Ces types de raisonnements sont difficilement transposables sur des coordonnées, dont le nombredépend de la dimension et dont la signification géométrique n’est pas explicitement représentée.

Pourtant, ces différents formalismes sont très proches. Mais les méthodes s’appuyant sur les coordon-nées de Plücker ne forment leurs raisonnements qu’à partir de ces coordonnées, tandis que Stolfi nedéfinit pas de structure d’algèbre, précisément dans le but de simplifier son formalisme en éliminant leséléments non interprétés. En particulier, la description de la paramétrisation de Plücker à partir de l’al-gèbre de Grassmann surR4 montre que le résultat du polytope minimal pourrait être établi dansD3 àpartir des coordonnées de Plücker, même si sa généralisation à toute dimension demanderait davantaged’efforts. Ceci n’a pas été le cas dans les travaux de Nirenstein ou Haumont, en raison d’une utilisationsystématique des coordonnées, rendant l’intuition et les démonstrations plus complexes.

Ainsi, l’algèbre de Grassmann se présente ici comme une alternative aux coordonnées de Plücker, offrantun cadre algébrique plus approprié pour raisonner sur les droites, formuler des opérations géométriques,puis démontrer la consistance de ces opérations.

Page 142: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

130 Chapitre 5. Théorie algébrique de la visibilité globale

5.3.2 La solution du polytope minimal

Dans le cadre de la visibilité entre deux faces convexes, le théorème5.4 procure une caractérisationévaluable du polytope minimisant le plus le phénomène de fragmentation. Il est difficile d’évaluer, dansle cas tridimensionnel et pour deux faces quelconques, à quel point ce polytope réduit la fragmentationpar rapport à la construction du polytope proposée par Nirenstein [Nir03]. Toutefois, notre caractérisationpossède l’avantage d’être minimale : il n’est pas possible de diminuer davantage la fragmentation avecun plus petit polytope.

Ce théorème comporte également trois autres avantages :

1. Il apporte une caractérisation valide de la V-représentation du polytope minimal, directement uti-lisable pour le calcul de la visibilité globale en toute dimension. Ce résultat améliore ainsi lesconstructions précédentes du polytope des droites entre deux faces [Bit02, Nir03, HMN05], quisont spécifiques au cas tridimensionnel, et non directementgénéralisables aux dimensions supé-rieures.

2. Il permet de mettre en évidence des cas dégénérés où il n’existe pas de polytope convexe unique.Ceux-ci ont déjà été signalés dans le cas 2D, où il est facile d’en visualiser les conséquences dans leplan dual [Bit02], mais n’ont jamais été clairement explicités ou considérés précédemment, dans lecas tridimensionnel. Le théorème du polytope minimal permet d’isoler ces cas en toute dimensionet d’assurer la validité du polytope dans les autres cas.

3. La distinction précise de ces cas dégénérés, permet d’en proposer des solutions spécifiques. Nousavons décrit une méthode pour réduire ces dégénérescences en plusieurs cas limites où le polytopeminimal est valide, sans perte d’information. Cette technique améliore la construction du polytopeproposée par Nirenstein, qui n’est pas définie dans ces cas limites et nécessite une perturbationsupplémentaire des faces découpées. Le résultat est alors une représentation inexacte de l’informa-tion de visibilité (cf.§4.3.3, page97). L’amélioration que nous proposons permet alors de répondreà un des principes du calcul de la visibilité globale dans l’espace des droites, qui est de pouvoirdéterminer une information exacte.

Enfin, notons que le résultat de ce théorème a déjà été mis à profit dans les travaux de Mora pour améliorerla technique de rejet de Bittner (cf. [Mor06] et §4.3.2). Cela montre l’intérêt d’une telle définition enpratique ainsi que son applicabilité. Nous utiliserons également ce résultat dans le chapitre6 dans lecadre de la visibilité entre deux faces convexes, pour construire le polytope minimal ainsi que pouroptimiser davantage les algorithmes des travaux précédents.

5.4 Conclusion

5.4.1 Résumé

Dans ce chapitre, nous avons montré une manière de caractériser algébriquement la visibilité dans unespace projectifGn de dimensionn≥ 2. Notre approche de la visibilité est fondée sur l’interprétationdes algèbres de Grassmann dans un espace projectif. L’utilisation de cette algèbre permet de résumer lecalcul de visibilité globale à trois propriétés fondamentales :

1. Propriété5.1: Une droiteD de l’espaceGn est toujours représentée par le produit extérieurp1∧ p2

de deux points distinctsp1 et p2. La droite représentée par ce produit est alors l’unique droite

Page 143: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

5.4. Conclusion 131

passant par ces deux points. De manière générale, unek-variété linéaire deGn, k≤ n, est le produitextérieur dek+1 points indépendants deGn.

2. Propriété5.3 : Une droiteD est incidente à unek-variété projectiveK deGn si et seulement si ellevérifie D∧K = 0.

3. Théorème5.3 et propriété5.4 : Les droitesD passant dans un sens unique par une(n− 1)-faceconvexe deGn, dont le bord est caractérisé par les(n−2)-variétés supports( fi)i=1,...,r orientées enconséquence, vérifientD∧ fi ≥ 0 pour touti dans[1;r].

La première propriété permet de déterminer une définition homogène,i.e. sans singularité, de l’espaceDn des droites deGn (§5.1.3). Cette absence de singularité suppose que la grassmannienneGR(2,n+1)est complètement contenue dans l’espaceDn, sans auto-intersection. Nous avons mis en évidence, àpartir des propriétés connues de la grassmannienne de cet espace, que toute autre paramétrisation desdroites était sujette à l’apparition de singularités, comme dans le cas des paramétrisations 4D des droitesdeG3. De même, nous avons soulevé le problème du calcul des intersections avec cette grassmannienne,pourn > 3.

La deuxième propriété a permis de déterminer une classification des droites deGn dansDn par rapportaux (n− 2)-variétés (§5.1.4). Nous avons alors prouvé la consistance de cette classification dansDn,en présentant l’équivalence entre celle-ci et une forme bilinéaire. Cette équivalence permet d’affirmerqu’il s’agit d’une classification point/hyperplan, définiepour tout point deDn, non nécessairement sur lagrassmannienne.

Enfin, à partir de cette classification, nous avons montré (§5.1.5) la troisième propriété, qui permet dedéterminer les droites passant par une ou plusieurs faces convexes. Elle est le principe fondamentaldu calcul de visibilité globale, qui consiste d’abord à représenter l’ensemble des droites de visibilité àtravers des faces convexes par un polytope dansDn, et ensuite à subdiviser ce polytope par les hyperplansassociés aux(n−2)-faces des occulteurs, afin de déterminer l’occultation.

Ces trois propriétés unifient complètement les méthodes lesplus efficaces de calcul de visibilité globaledans le plan et dans l’espace tridimensionnel. À partir des preuves de leurs consistances dans le casgénéral, nous avons montré qu’elles étendaient également ces méthodes à toute dimension. Autrementdit, la formulation de la visibilité est la même en toute dimension. Les seules différences induites par lechangement de dimension sont en réalité uniquement liées à la nature de la grassmannienne dansDn ;nous avons cependant montré que l’expression du calcul de lavisibilité en est indépendante.

Caractérisation du polytope minimal

Finalement, nous avons apporté dans la section5.2, la solution au problème ouvert du polytope minimalreprésentant les droites passant par deux polygones convexes dansD3. Encore une fois, ce résultat estégalement défini en toute dimension, pour deux faces dansGn, n≥ 2. Les propriétés que nous avonsénoncées du polytope minimal permettent notamment d’en calculer une représentation qui garantit lapossibilité de généraliser à toute dimension les travaux sur le calcul de visibilité globale entre deuxfaces convexes. De plus, ces propriétés ont permis l’étude précise de cas dégénérés, et la proposition desolutions spécifiques et adaptées à ces cas. Ainsi, la représentation de ce polytope est robuste, exacte etpeut toujours être définie, même dans les cas dégénérés.

Le résultat final de ce chapitre est une théorie du calcul de lavisibilité globale dans un espace projectifde dimensionn, pour toutn≥ 2, reposant sur une formulation algébrique unique et générale.

Page 144: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

132 Chapitre 5. Théorie algébrique de la visibilité globale

5.4.2 Applications

Nous avons voulu dans ce chapitre une théorie suffisamment générale pour être appliquée de diversesmanières. En particulier, aucun algorithme ni aucune structure de données ne sont proposés. Dans lechapitre6, nous exposerons certains choix de structures et d’algorithmes améliorant les algorithmesprécédents dans le cas du calcul de visibilité globale entrepaires de polygones.

De manière plus générale, notre théorie décrit un ensemble d’opérations dans l’algèbre de Grassmann etde résultats géométriques permettant de représenter le phénomène de visibilité (les évènements visuels).Elle repose sur un cadre offrant une meilleure connaissancede l’espace des droites et des structures ma-thématiques utilisées. Elle permet de mettre en évidence les limites théoriques liées aux changementsde dimensions ainsi que les points à approfondir pour résoudre les problèmes restants pour le momentsans solution, comme le calcul des intersections entre un polytope et la grassmannienne. Elle peut na-turellement être appliquée aux mêmes problèmes que les précédents travaux sur la visibilité globale.Nous pensons en particulier qu’à partir des travaux de Goaoc[Goa04], elle pose les bases d’une étudedu complexe de visibilité généralisé en dimension quelconque.

Page 145: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 6

Approches algorithmiques proposées

Nous proposons dans ce chapitre des solutions algorithmiques pour mettre en pratique la théorie exposéeau chapitre5, dans le cadre du calcul de la visibilité globale entre deux faces convexes dans l’espaceeuclidien. Ces algorithmes sont généralement destinés au contexte hors ligne, pour précalculer une in-formation de visibilité globale dans une scène virtuelle composée d’une «soupe» de faces convexes(celles-ci peuvent se couper et aucune information n’est donnée sur les incidences entre les faces consti-tuant le bord des objets), qui peut être ensuite extraite rapidement. Ils améliorent les aspects pratiquesdes précédents travaux [Nir03, HMN05, Mor06] reposant sur le même calcul (voir §4.3.2, page90).Ces améliorations portent sur la généricité, la robustesse, à la fois face aux erreurs numériques et auxdégénérescences, et la taille de l’information calculée.

La section6.1 introduit et justifie les choix de représentation de la visibilité et indique comment sontdécrites les données géométriques dans notre implantation. La section6.2 décrit nos algorithmes decalcul de visibilité globale entre deux faces convexes. Cesalgorithmes sont simples, robustes, efficaceset valides en toutes dimensions. Une caractérisation et un traitement des silhouettes des objets depuisdeux faces convexes sont ensuite proposés dans la section6.3, dans le cas tridimensionnel. Enfin, lasection6.4compare notre approche avec les méthodes précédentes.

6.1 Hypothèses et représentation générale de la visibilitéglobale

Cette section introduit les structures générales utilisées pour calculer la visibilité globale en pratique.Elle commence par poser les notations utilisées par la suiteet explique en particulier comment peut êtreinterprété l’espace géométriqueGn, selon le contexte d’application du calcul de visibilité. Elle motiveensuite les choix de représentation de la visibilité, concernant d’une part les données géométriques élé-mentaires (les points et hyperplans dans l’espace des droitesDn), et d’autre part les structures de donnéesdécrivant la visibilité dans l’espace des droites.

6.1.1 Hypothèses sur l’interprétation de l’espaceGn

La théorie présentée dans le chapitre5 est spécifique à la représentation de la visibilité passant par des(n− 1)-faces convexes dans un espace projectifGn. L’utilisation d’un espace projectif est nécessairepour avoir un calcul homogène, sans singularité (cf. §5.1.1). Toutefois, les scènes utilisées pour le calcul

133

Page 146: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

134 Chapitre 6. Approches algorithmiques proposées

de visibilité sont en général décrites dans un espace affine euclidien, plutôt que projectif. L’utilisationd’un espace affine est notamment utile à la définition de la notion de face occultrice ou d’occulteur,nécessaire au calcul d’occultation. En effet, la géométrieprojective ne permet pas de définir ce qui estentredeux faces, alors que la notion d’occulteur repose justement sur cela18. En revanche, la géométrieaffine permet cette distinction : la notion d’occultation est donc purement affine. Ainsi, nous expliquonsdans ce paragraphe comment utiliser la théorie du chapitre5 dans un tel contexte et posons les notationsqui seront utilisées.

Pour que la caractérisation algébrique de la visibilité dans l’espace projectif soit applicable à l’espaceaffine euclidien, l’espace projectifGn est interprété comme un espace arguésien. À l’exception du trai-tement de la silhouette (voir section6.3), des algorithmes de détection des occulteurs (non présentésici, car classiques) et de la technique de classification euclidienne des droites (le paragraphe6.2.5), lesalgorithmes proposés dans ce chapitre sont indépendants del’interprétation de l’espaceGn. Cela donnela possibilité d’adapter ces algorithmes à d’autres contextes, où l’utilisation de la géométrie projectiveest nécessaire. Concernant la classification euclidienne (cf. §6.2.5), il s’agit d’une contribution spéci-fique à l’utilisation de scènes plongées dans un espace affineAn : elle permet d’améliorer la robustessenumérique de la méthode, mise à mal par une telle interprétation de l’espaceGn.

Du point de vue des algorithmes, les changements induits parune interprétation affine (ou arguésienne)de Gn sont en réalité mineurs : ils concernent uniquement la représentation des points dansGn. Pourobtenir un espace arguésien depuis l’espace projectifGn, nous supposons dans ce chapitre, lorsque cetteinterprétation est requise, qu’un vecteur normée0 est fixé dans l’espaceRn+1, générateur deGn (cf.figure 6.1). En notant «·» le produit scalaire deRn+1, l’ensemble des vecteursx homogènes tels quex ·e0 6= 0 correspondent à des points de l’espace affineAn, tandis que les points de représentantx telsque x · e0 = 0 correspondent à des points à l’infini. Les points à l’infini sont de manière équivalenteles directions de l’espace directeur~An de l’espace affineAn. Il seront par conséquent notés avec uneflèche :~x. Notons qu’à tout point deAn, de représentantx, correspond un vecteur~x de l’espace directeurtel que x

x·e0=~x+ e0 (voir annexeB.2.2pour plus de détails). Commex est homogène dansRn+1, nous

supposons en généralx =~x+e0.

Concrètement, les variétés linéaires deGn (sommets, droites, etc.) sont les multivecteurs de l’algèbre∧(Gn) ≃

∧(Rn+1) (cf. §5.1.2), que l’on représente par leurs coordonnées dans une base del’algèbre.

Par exemple, les points deGn correspondent aux 1-vecteurs de∧

(Gn), donnés parn+ 1 coordonnéesdans une base deRn+1. Pour faciliter la programmation de la méthode dans le cas d’une interprétationaffine euclidienne deGn, on suppose que la base deRn+1 est orthonormée et est composée du vecteurfixé e0 puis d’une base de l’espace directeur~An, définissant ainsi un système de coordonnées homogènesclassiques (voir figure6.1 et annexeB.2.2). Le paragraphe suivant explique comment utiliser cette des-cription des multivecteurs pour représenter les données géométriques utiles au calcul de la visibilité dansl’espace des droitesDn.

6.1.2 Représentation des points et des hyperplans dansDn

Le calcul de visibilité globale repose principalement sur une classification des droites par rapport à des(n− 2)-variétés linéaires deGn (cf. §5.1.4, page113). Ces variétés correspondent respectivement auxpoints et aux hyperplans dans l’espace des droitesDn. Nous expliquons ci-dessous comment représenter,

18Rappelons que la théorie du chapitre5 ne se réfère pas à la notion d’occulteur, ce qui autorise l’utilisation de la géométrieprojective. En effet, cette théorie décrit comment caractériser algébriquement les droites passant par une ou plusieurs facesconvexes, indépendamment de leurs positions ou de leur ordre.

Page 147: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.1. Hypothèses et représentation générale de la visibilité globale 135

O

P1

P2

P∞

e0

e1

e2

e0 = 1≃A2

b

b

FIG. 6.1 – Plan projectifP2 interprété comme un espace affineA2. En introduisant une base(e0,e1,e2)orthonormée dansR3, les points deA2 peuvent sont représentés dans un système de coordonnées ho-mogènes. Les éléments du plan vectoriel généré par(~e1,~e2) sont des directions ou encore des pointsà l’infini dansA2 : leurs coordonnées sont de la forme(0,ε1,ε2). Les vecteurs ayant une composantedans la direction supplémentaire générée pare0 sont les points usuels deAn : leurs coordonnées sont parhypothèse de la forme(1,ε1,ε2).

calculer puis classer ces variétés.

Représentation et normalisation des données dansDn

Les points deDn correspondent aux 2-vecteurs de∧

(Gn) (cf. §5.1.3, page109). De la même manière,les hyperplans correspondent aux(n− 1)-vecteurs de

∧(Gn) (cf. §5.1.4). Leur représentation concrète

utilise donc n(n+1)2 coordonnées homogènes, correspondant à la dimension des espaces des 2-vecteurs∧2(Gn) et des(n−1)-vecteurs

∧n−1(Gn). Ces coordonnées sont obtenues de deux façons différentes :par produit extérieur sur des points deGn, par exemple pour calculer la droite passant par deux points,ou bien par combinaison linéaire de deux 2-vecteurs (cf. §6.2.3). Ainsi, le produit extérieur, l’additionet la multiplication par un scalaire dans

∧(Gn) sont les seules opérations nécessaires pour déterminer

les données géométriques utilisées dans le calcul de visibilité globale dansDn. Ces expressions sontobtenues, dans notre application, à l’aide d’une bibliothèque de calculs symboliques [AF05] (cf. §2.2.2,page58).

En raison de l’homogénéité des coordonnées, l’applicationsuccessive de plusieurs opérations sur lesmultivecteurs peut faire apparaître des coordonnées de très grande valeur ou au contraire proches dezéro. Afin d’éviter de trop importantes variations numériques sur la représentation des points et deshyperplans deDn, nous avons recours à une normalisation des coordonnées. Notre choix s’est porté sur

une normalisation sur l’hypersphère dansRn(n+1)

2 . Elle revient à transformer unm-uplet (α1, . . . ,αm),m= n(n+1)

2 , en lem-uplet suivant :

(α1, . . . ,αm) 7→(

α1

∑mi=1α2

i

, . . . ,αm

∑mi=1α2

i

)

Cette normalisation possède l’avantage de ne pas présenterde singularité,i.e. tous les points et hyper-plans deDn sont normalisables de la même façon. De cette manière, le calcul sur les données géomé-triques ne nécessite pas de traitement de cas particulier, il est le même pour tous les points et tous les

Page 148: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

136 Chapitre 6. Approches algorithmiques proposées

hyperplans de l’espaceDn.

Classification des points et des hyperplans deDn

La classification des droites par rapport aux(n−2)-variétés est équivalente dansDn à une classificationdes points par rapport aux hyperplans. Elle s’exprime soit àpartir du produit extérieur entre un 2-vecteuret un(n− 1)-vecteur, soit par l’application d’une forme bilinéaire «•» deDn (§5.1.4, page113). Celarevient à associer à chaque(n−1)-vecteur un unique point deDn, ou un unique hyperplan deDn, pardualité relativement à la forme «•».

Pour calculer concrètement cette classification, le produit extérieur entre un 2-vecteur et un(n− 1)-vecteur de

∧(Gn) suffit. Cependant, nous utiliserons souvent la forme «•» pour les raisonnements de

ce chapitre. Nous admettrons par conséquent que les hyperplans deDn, associés aux(n− 1)-vecteurs,sont représentés par leurs conjugués relativement à la forme «•». Ce conjugué est un point deDn, dontles coordonnées dans la base de

∧(Gn) peuvent être obtenues du(n−1)-vecteur par la contraction dans∧

(Gn) utilisée pour définir la forme «•» (cf. théorème5.2, page115).

Précision des calculs

Afin de limiter les erreurs de précision dues aux calculs géométriques sur les coordonnées, nous utili-sons une bibliothèque de calculs arithmétiques multiprécisions, GMP [GMP]. Nous avons utilisé cettebibliothèque afin de faire des calculs sur de grands nombres flottants, ce qui a permis de retarder consi-dérablement l’effet néfaste des erreurs de calcul (cf §6.1.3). Toutefois, cette solution a pour contrepartiede ralentir les calculs. Pour limiter cet effet, GMP est utilisé uniquement pour les calculs critiques dansDn, i.e.seulement pour les coordonnées des points et des hyperplansdeDn. Les calculs sur les points etles faces deGn font intervenir quant à eux une arithmétique classique en double précision.

Une approche à partir de calculs rationnels pourrait être utilisée, à partir du moment où les coordonnéesdes objets de la scène sont initialement rationnelles. Néanmoins, nous ne l’avons pas utilisé en raison del’occupation mémoire de ces coordonnées, qui augmente significativement au fur et à mesure des cal-culs. Une solution possible serait d’effectuer les calculsen rationnel, mais en gardant une représentationflottante des coordonnées. Faute de temps, nous n’avons malheureusement pas pu étudier davantage unetelle solution.

6.1.3 Représentation générale de la visibilité

L’information de la visibilité globale est constituée, dans l’espace des droitesDn, de polytopes convexesreprésentant chacun des droites passant par les mêmes faces(cf. §5.1.1et §4.3.1). Nous décrivons etjustifions dans ce paragraphe, les structures de données quenous utilisons pour représenter les polytopeset les ensembles de polytopes.

Représentation des polytopes

Il existe trois techniques fondamentalement différentes pour représenter un polytope (cf. §4.3.2,page90) :

Page 149: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.1. Hypothèses et représentation générale de la visibilité globale 137

– La représentation implicite (Bittner [Bit02]), donnée par un arrangement d’hyperplans dans l’espacedes droites (laH-représentation du polytope). Cette méthode n’est toutefois pas efficace en pratique,pour calculer des intersections entre les polytopes et les hyperplans.

– La représentation explicite, où toutes les faces de chaquedimension sont représentées. Niren-stein [Nir03] et Mora [Mor06] utilisent par exemple des graphes d’adjacence, mais il peut s’agir detoute autre structure combinatoire comme les G-cartes.

– La représentation « semi-explicite » par les 1-squelettes, proposée par Haumont [HMN05], qui décrituniquement les adjacences entre les sommets et les arêtes (respectivement les 0-faces et les 1-faces)du polytope, et leurs incidences avec les hyperplans du polytope.

Le choix d’une structure de données pour représenter un polytope se fait essentiellement sur son ef-ficacité dans l’opération de coupe d’un polytope par un hyperplan, i.e. sa simplicité, sa rapidité et sarobustesse. Nous ne nous intéressons pas à une représentation implicite précisément parce qu’elle né-cessite d’importants calculs pour déterminer les sommets des polytopes avant et après chaque coupe (cf.§4.3.2).

Pour les représentations explicite et semi-explicite, l’opération de coupe se déroule en deux étapes :

1. La détermination des nouveaux sommets, qui comprend l’identification des arêtes coupées parl’hyperplan et le calcul des intersections avec ces arêtes.Cette étape est géométrique dans les deuxreprésentations.

2. La mise à jour du graphe permettant de déterminer les nouvelles faces et incidences créées par lacoupe. Cette étape est topologique,i.e. combinatoire, pour la représentation explicite et géomé-trique pour la représentation semi-explicite (cf. §4.3.2).

La différence entre ces deux représentations, pour la couped’un polytope, se situe donc dans la miseà jour des graphes (d’adjacence ou squelette). L’avantage de la technique combinatoire est qu’elle estexacte, alors que le calcul géométrique peut engendrer des erreurs de précisions. Cependant, la premièreétape étant géométrique dans les deux cas, celle-ci engendre également des erreurs dans une représenta-tion explicite. Or, ces erreurs peuvent entraîner des modifications dans la topologie du graphe d’incidencefaisant échouer sa mise à jour.

À l’inverse, bien que la mise à jour d’un squelette engendre des erreurs, cette représentation est plusrobuste. Au pire, des arêtes supplémentaires sont ajoutéesà tort dans le squelette. Mais cet ajout d’arêtessuperflues ne met pas la mise à jour ni le calcul d’intersection en échec, contrairement aux erreurs to-pologiques. Ainsi, en raison de cette plus grande robustesse aux erreurs de précisions numériques, notrechoix s’est porté sur une représentation des polytopes par des 1-squelettes.

Notons cependant que plus il y a d’erreurs de mise à jour et plus la taille du squelette augmente. Le risqueest donc de saturer la mémoire et d’augmenter les temps de calculs en raison de la taille trop importantedes graphes. Pour limiter ces effets, nous utilisons une bibliothèque multiprécision (cf. §6.1.2).

Représentation des ensembles de polytopes par un arbre BSP

Le choix d’une structure pour représenter un ensemble de polytopes dans l’espace des droitesDn estassez immédiat. Nous verrons en effet dans le paragraphe6.2.4 qu’une représentation par un arbreBSP [Nay90], utilisée notamment par Bittner puis par Mora (cf. §4.3.2), est particulièrement adaptée auxalgorithmes d’insertion des occulteurs dans l’ensemble des polytopes. Celle-ci est aussi adaptée pourexploiter l’information de visibilité dans les applications, comme le rendu d’ombres douces proposé parMora [MA05].

Page 150: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

138 Chapitre 6. Approches algorithmiques proposées

La structure d’arbre BSP que nous utilisons est classiquement composée de nœuds internes, contenantchacun un hyperplan deDn, et de nœuds externes, contenant chacun un polytope,i.e.un 1-squelette.

6.2 Calcul et représentation de la visibilité globale entredeux facesconvexes

Cette section présente les algorithmes que nous proposons pour calculer la visibilité globale entre deuxfaces convexes dansGn. Le paragraphe6.2.1décrit l’algorithme général, afin de distinguer les différentesopérations mises en œuvres pour ce calcul. Ces opérations sont présentées dans les paragraphes6.2.2à 6.2.4. Le paragraphe6.2.5propose alors une méthode pour améliorer la robustesse de laclassificationdes droites dans le cas d’une interprétation affine de l’espace projectifGn.

6.2.1 Vue d’ensemble des algorithmes

L’algorithme1 décrit la méthode générale du calcul de visibilité entre uneface sourceSet une face cibleC supposées en position non dégénérée,i.e. l’hyperplan support de la source, resp. de la cible, ne coupepas l’intérieur de la cible, resp. de la source (cf. §5.2.1, page123). Le traitement spécifique de ces cas estdécrit par la suite.

function ComputeVisibility (FaceS, FaceC, ListFaceScene) return VBSP1

VBSPNode← /02

ListOccludersListO← /03

begin4

foreach F ∈ Scenedo5

if isO luder (F,S,C)then6

ListO← ListO∪{F}7 sortO luders (ListO, S, C)8

Node.polytope←MakeInitialPolytope (S,C)9

foreach O∈ ListO do10 InsertO luder (Node,O)11

return Node12

end13

Algorithme 1 : Calcul de la visibilité entre deux facesSet C, dont l’occultation est déterminée à partird’une liste de faces.

Cet algorithme reprend les principales opérations des méthodes de Nirenstein, Haumont ou Mora. Enparticulier, la fonctionsortO luders, consistant à ordonner les occulteurs, selon une heuristique surleurs tailles relatives par rapport à la source et la cible, est aussi utilisée afin de faire converger l’algo-rithme plus rapidement. Il retourne alors une structure d’arbre binaire VBSP représentant la visibilitéentreSetC.

Les principales différences entre cet algorithme et les précédents concernent :

Page 151: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 139

– La construction du polytope initial (fonctionMakeInitialPolytope), utilisant dans notre cas le po-lytope minimal entre la source et la cible (cf. §6.2.2), permettant ainsi de réduire la fragmentation dela visibilité.

– L’insertion des occulteurs dans l’arbre de visibilité contenant les polytopes (fonctionInsertO luder), dont l’intérêt est de calculer l’occultation de la visibilité par ces occulteursen minimisant la coupe des polytopes contenus dans l’arbre (cf. le paragraphe6.2.4).

– L’opération de coupe des polytopes par des hyperplans dansDn, non référencée dans l’algorithme1(cf. §6.2.3)

Cas de faces en position dégénérée

Si les faces source et cible sont en position dégénérée, noussavons qu’il n’existe pas de polytope convexereprésentant les droites passant par ces deux faces (théorème5.4, page123). Il est toutefois possible decouper ces faces afin de réduire le cas dégénéré en plusieurs cas non dégénérés (cf. §5.2.1).

Au maximum, quatre polytopes doivent être construits pour chaque couple de faces source et cible. Dansnotre implantation, ces quatre polytopes sont traités indépendamment les uns des autres : l’algorithme1est appelé sur chaque cas non dégénéré, obtenu depuis un cas dégénéré. Les arbres de visibilité résultantspeuvent ensuite être rassemblés dans un unique arbre BSP en choisissant une ou deux(n−2)-variétés, se-lon le nombre de polytopes minimaux construits, permettantde classer les différents polytopes minimauxdans différentes branches de l’arbre unifié. On montre facilement que la variété définie par l’intersectiondes hyperplans supports deSetC, puis le support d’une des facettes du bord deS, si la faceC est coupée(ou bien deC, si Sest coupée), conviennent dans tous les cas.

6.2.2 Calcul du polytope minimal initial

Le polytope initial est le polytope représentant l’ensemble des droites passant par la face sourceS et laface cibleC. Dans notre implantation, il s’agit du polytope minimalMSC.

Le théorème5.4page123, indique comment calculer les sommets du polytope minimalMSC à partir desdeux faces convexesS et C en position non dégénérée. Mais ses sommets ne donnent pas directementson squelette complet,i.e. ses arêtes, ses hyperplans et les incidences entre les arêtes, les sommets etles hyperplans. Pour déterminer ces informations, nous utilisons un algorithme de calcul d’enveloppeconvexe à partir des sommets du polytope.

Notre version est une adaptation de l’algorithme incrémental décrit dans [BY98] pour des points enpositions générales. Cet algorithme est intéressant car ilest général, simple à programmer et à adapter. Ilprésente cependant deux modifications principales par rapport à l’original :

1. Il gère le calcul d’enveloppe convexe pour des points en positions quelconques, en ajoutant lesinformations nécessaires au traitement de nouveaux cas, comme cela est suggéré par les auteursdans [BY98]. En effet, les sommets du polytope minimal entre deux facesconvexes ne sont jamaisen positions générales.

2. Il prend en compte le cas où deux sommets deDn sont identiques, mais dont les représentantshomogènes ont une orientation opposée. Le traitement de cescas limites permet de représenterdes polytopes convexes quelconques dans un espace projectif. Cette modification est notammentnécessaire pour pouvoir traiter de manière exacte les cas defaces en positions dégénérées dansGn.

Page 152: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

140 Chapitre 6. Approches algorithmiques proposées

Les modifications engendrées par le traitement de ces cas particuliers sont classiques et peu importantes.Elles ne sont donc pas détaillées ici.

En pratique, cet algorithme requiert l’utilisation de la topologie complète d’un polytope. Pour cette rai-son, nous utilisons un graphe d’incidence complet au momentdu calcul de l’enveloppe convexe. Cegraphe complet est ensuite transformé pour revenir à une structure de squelette. Le coût du transfertd’une structure à une autre a un coût linéaire selon le nombrede faces du polytope. Il est négligeable encomparaison du calcul de l’occultation.

6.2.3 Intersection d’un polytope avec un hyperplan

L’opération de coupe d’un polytope par un hyperplan, généralement associé à une(n−2)-variété deGn,est la principale opération du calcul de visibilité, après la construction du polytope initial. En effet, cesdeux opérations suffisent en pratique pour calculer la visibilité. Les autres algorithmes et opérations sontdes techniques utilisées pour améliorer les résultats d’uncalcul naïf.

La méthode algébrique de coupe d’un polytope comprend deux étapes :

1. Le calcul géométrique de l’intersection entre les arêtesdu polytope et l’hyperplan, créant ainsi lesnouveaux sommets.

2. La mise à jour du squelette pour déterminer les nouvelles arêtes.

À l’exception des expressions des opérations géométriques, les algorithmes de ce paragraphe sont fonda-mentalement les mêmes que dans les méthodes précédentes. L’accent est donc mis sur les changementsconcernant la manière de formuler et calculer les résultatsgéométriques en toute dimension.

Dans la suite, l’hyperplan de coupe sera notéH�. Son conjugué dans l’espace des droites sera notéh�.Ainsi, classer une droited dansDn par rapport à l’hyperplanH� revient à calculer le signe de l’expressiond•h�, selon les notations rappelées dans le paragraphe6.1.2.

Intersection d’une arête avec un hyperplan

La première opération du calcul d’intersection consiste à déterminer les nouveaux sommets créés par lacoupe des arêtes du squelette par l’hyperplan. Intuitivement, une arête est coupée en son intérieur parun hyperplanH� si et seulement si les sommetss1 et s2 à ses extrémités sont chacun d’un côté différentde l’hyperplan. Cela se traduit par un signe différent de l’expression de classification d’un sommet parrapport à l’hyperplan :

signe(s1 •h�) 6= signe(s2•h�)

Si l’arête est coupée, le pointsi d’intersection est à la fois un point de l’arête et un point del’hyperplanH�. Algébriquement, ces deux conditions peuvent être exprimées respectivement de la manière suivante :

{∃(λ1,λ2) ∈R+×R+,si = λ1s1 + λ2s2

si •h� = 0

La première équation signifie que le sommetsi est dans l’enveloppe convexe des sommetss1 ets2. Afin deconserver une orientation cohérente du sommetsi , les coefficientsλ1 et λ2 doivent être positifs. Commeces représentations sont en outre homogènes,i.e. pris à un scalaire multiplicatif près, si(λ1,λ2) est unesolution convenable du système d’équation précédent, alors pour toutγ deR+, le couple(γλ1,γλ2) l’estaussi.

Page 153: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 141

Nous avons alors, en injectant la première équation dans la seconde puis en utilisant la bilinéarité de laforme «•» :

(λ1s1 + λ2s2)•h� = 0⇔ λ1(s1 •h�) = −λ2(s2 •h�)

Les coefficientsλ1 = +s2•h� etλ2 =−s1•h� sont une solution de ce système, au signe près. En ajoutantla contrainte sur le signe des coefficients, l’intersectionentre un hyperplan représenté par un vecteurh�

et une arête bornée par les sommetss1 et s2 est donnée par l’expression :

si = signe(s1•h�)((s1•h�)s2− (s2•h�)s1) (6.1)

Cette solution est générale et valide en dimensionn≥ 2.

Mise à jour des graphes

La mise à jour du squelette consiste à déterminer les arêtes créées par la coupe du polytope par unhyperplan. Ces arêtes correspondent à l’intersection des 2-faces du polytope avec l’hyperplan de coupeH�. Comme ces 2-faces ne sont pas représentées explicitement dans le graphe, la mise à jour utilise lesdonnées géométriques pour déterminer quelles sont les nouvelles arêtes devant être créées.

Cette mise à jour consiste à déterminer la dimension du sous-espace deDn défini par l’intersec-tionH1∩ . . .∩Hk d’une famille d’hyperplans(Hi)i=1...k (cf. §4.3.2, page90). Si cette dimension est 2,alors l’intersection détermine projectivement une droite, i.e. le support d’une arête du polytope. Nousproposons ici une méthode incrémentale pour calculer la dimension de cet espace.

Soient(H1, . . . ,Hk) une famille d’hyperplans dansDn et(h1, . . . ,hk) une famille de représentants homo-gènes tels quehi est un vecteur générateur du conjugué deHi, pour touti dans[1;k]. On a par définitionHi = {x∈Dn|x•hi = 0}. Soientm= n(n+1)

2 la dimension de l’espace des 2-vecteurs, générateur deDn,d∩ la dimension de l’espaceH1∩ . . .∩Hk etd∪ la dimension de l’espaceh1∪·· ·∪hk. La forme bilinéaire

«•» étant non dégénérée (cf. théorème5.2, page115), on déduit que l’espace⋂k

i=1(Hi) =(⋃k

i=1(hi))⊥

est de dimensiond∩ = m−d∪ (cf. propriété1.12et théorème1.3, §1.3.5).

Cette remarque permet de déterminer le résultat en calculant la dimension de l’espace généré par lesconjugués dansDn. L’algorithme2 décrit une méthode classique pour calculer incrémentalement cettedimension, à partir du produit extérieur dans l’algèbre de Grassmann

∧(Dn). Chaque itération permet

de ne prendre en compte que leshi linéairement indépendants des précédents. La dimension dusous-espace est alors donnée par l’ordre du multivecteurM représentant l’espace généré (fonctionOrder). Ànouveau, ce calcul est valide quelque soit la dimension deDn.

Remarquons que les erreurs de précisions réalisées lors de la mise à jour sont dues à la comparaison dela ligne 7 dans l’algorithme.

6.2.4 Insertion des occulteurs dans l’arbre de visibilité

Ce paragraphe propose un algorithme d’insertion des occulteurs dans un arbre binaire représentant lavisibilité. Cet algorithme diffère des précédents par les techniques de rejets, qui consistent à éviter lescoupes inutiles des polytopes par les hyperplans (cf. le paragraphe4.3.2, page90). L’efficacité de laméthode de calcul de visibilité, s’agissant des temps de calculs, de la mémoire utilisée ou de la pertinencede l’information représentée, dépend essentiellement de l’aptitude de ces tests à éviter les coupes inutiles.

Page 154: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

142 Chapitre 6. Approches algorithmiques proposées

int DimSpace, DimArete← DimSpace−21

function isEdge (HyperplaneListListeHyp) return Boolean2

Multivector M← 1,M′3

begin4

foreach Hyp in ListeHypdo5

M′← M ∧Hyp6

if M′ 6= 0 then7

M← M′8

if Order (M) = DimAretethen9

return true10

return false11

end12

Algorithme 2 : Calcul de la dimension de l’intersection d’hyperplans représentés par leurs conjuguésdans l’espace des droitesDn. Cette dimension est calculée à partir de la dimension du sous-espacegénéré par les vecteurs conjugués. L’intersection correspond à une arête si et seulement si la dimensionde l’union des conjugués estDimArete=DimSpace−2.

Comme dans [Mor06], notre algorithme inclut deux tests de rejets :– Celui proposé par Nirenstein [Nir03], consistant à rejeter les sommets des polytopes contenus dans

l’arbre BSP représentant la visibilité, par les hyperplansassociés aux facettes des occulteurs.– Celui proposé par Bittner [Bit02], puis amélioré par Mora [Mor06], consistant à rejeter les sommets

d’un polytope pris entre l’occulteur et la face source ou bien la face cible, par les hyperplans contenusdans les nœuds internes de l’arbre.

Ces deux rejets ont été expliqués plus en détail dans le paragraphe4.3.2. L’algorithme que nous propo-sons dans ce paragraphe améliore le second rejet en affinant la définition du polytope pris entre l’occul-teur et la source ou la cible.

Déterminer un polytope à partir d’un occulteur

L’occultation déterminée par un occulteurO, entre une face sourceS et une face cibleC, ne dépendque de ces trois faces. Autrement dit, la soustraction de l’occultation ne peut se faire que sur des droitespassant à la fois parS, C et O. Par ce fait, le second test de rejet peut considérer les sommets d’unpolytope représentant les droites passant par ces trois faces. Cependant, aucune méthode à la fois simpleet rapide ne permet actuellement de calculer ces sommets. Enrevanche, le théorème5.4 du polytopeminimal, procure une méthode rapide de calcul des sommets des polytopes minimauxMSO ou MOC, ils’agit des droites prises entre un sommet deO et un sommet deS ou C, en supposant que l’occulteurn’est pas en position dégénérée par rapport à la source ou la cible (ces cas sont considérés dans la suitede ce paragraphe). Notre algorithme considère les sommets de ces deux polytopes à la fois, plutôt qu’unseul. Ainsi, si l’un des deux ensembles de sommets est rejetépar un hyperplan de l’arbre, alors tout lepolytope est rejeté.

L’utilisation des deux polytopes permet en partie de prendre en compte l’occultation depuis ces troisfaces plutôt que deux d’entre elles seulement. La figure6.2 illustre dans le plan l’intérêt de l’utilisation

Page 155: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 143

de ces deux ensembles, associée à une technique de réductiondes facesS, O etC décrite ci-dessous, pouraffiner le rejet et éviter ainsi des coupes inutiles. La zone hachurée correspond aux parties occupées parl’un des deux polytopesMSO ouMOC, mais rejetées par l’utilisation des deux polytopes. La zone pleinereprésente alors la partie commune, non rejetée. L’utilisation des deux ensembles permet ici à chacundes sommetss1 et s2 de rejeter les ensemblesMSO et MOC. Le paragraphe6.4.3montre des résultatsde l’évaluation pratiques de son utilisation. Pour simplifier l’exposé, les calculs sont présentés dans lasuite uniquement en fonction du polytopeMSO. Dans notre implantation, les mêmes calculs de rejet sontrépétés sur le polytopeMOC.

Couper la source, l’occulteur et la cible dans le calcul deMSO et MOC

C

O

Ss1

s2

s3

s4

b

b

b

b

FIG. 6.2 – Combinaison de l’utilisation des deux ensemblesMSO etMOC et de la réduction des faces enfonction des autres. La zone hachurée correspond à celle ignorée grâce à l’utilisation des deux polytopes,tandis que la zone quadrillée correspond à la principale partie ignorée grâce à la coupe des facesS et C.Ces techniques permettent de rejeter l’occulteurO par les quatre sommetss1, s2, s3 et s4 à la fois, alorsqu’un test sans ces optimisations ne rejetterait l’occulteur que pour deux des quatre sommets.

Pour prendre en compte la cibleC dans le calcul des sommets du polytopeMSO, nous proposons uneméthode de coupe de la sourceSet de l’occulteurO en fonction de la cibleC, réduisant ainsi l’ensembledes droites représentées parMSO. En effet, plus le polytope en question sera petit et proche des droitesréellement occultées, plus le rejet sera précis, évitant ainsi davantage de coupes inutiles.

O

C

S

FIG. 6.3 – Calcul de visibilité entre une sourceSet une cibleC, contenant un occulteurO. La face sourceest coupée par des hyperplans, de sorte à conserver uniquement les parties d’où peuvent être émises lesdroites passant par l’occulteurO et la cibleC (partie ombrée).

La coupe deS et deO en fonction deC consiste à éliminer les zones par lesquelles il n’existe aucunedroite traversant les trois facesS, O etC en même temps (cf. figure6.3). Pour cela, il suffit de couper ces

Page 156: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

144 Chapitre 6. Approches algorithmiques proposées

faces par des hyperplans deGn choisis, dans le cas de la coupe deS, de sorte à être tangents à la fois àC et àO, tout en rejetant l’occulteur et la cible de deux côtés différents des hyperplans. Le procédé estle même pour couperO : les hyperplans sont déterminés de sorte à être tangents àS et àC, tout en lesrejetant cette fois du même côté. Les mêmes réductions sont alors appliquées àC etO, relativement àS,pour la génération du polytopeMOC.

La figure6.2 illustre dans le plan l’intérêt de la réduction des faces, oùcelle-ci permet d’ignorer la zonequadrillée en blanc, autorisant le rejet des ensemblesMSO etMOC par les deux sommetss3 et s4.

Nous verrons dans la section6.3qu’une telle réduction, associée au rejet des deux polytopes minimauxMSO etMOC est essentielle pour définir un traitement valide des silhouettes.

Cas où le plan de l’occulteur coupe la source et la cible

S

OM→SO M

←SO

FIG. 6.4 – Génération des sommets d’un polytope entre une sourceS et un occulteurO dont le plansupport coupe la source suivant les pointillés. Deux ensembles de droites peuvent représenter les sommetsde deux polytopes minimaux corrects : à gauche, les sommets du polytopeM

→SO, correspondant aux

droites passant par la partie gauche de la source et par l’occulteur, et à droite, les sommets du polytopeM←SO, représentant les droites passant par la partie droite de lasource et par l’occulteur.

Si le plan support de l’occulteurO coupe la source, les deux faces sont en position dégénérée. Il n’estalors théoriquement pas possible de déterminer un polytopeminimal (cf. théorème5.4). Dans ce cas,deux polytopesM→SO et M

←SO doivent être construits, en découpantS le long de l’intersection avec le

plan support deO (voir figure6.4). Ces deux polytopes représentent chacun une orientation possible del’occulteur, en fonction du sens de traversée de celui-ci par les droites représentées par les polytopesM→SO et M

←SO. La coupe de la visibilité selon l’une ou l’autre orientation de l’occulteur peut avoir une

incidence sur le nombre de coupes (cf. figure 6.5) : la coupe d’un polytope selon les deux orientationsd’un occulteur augmente le nombre de coupes par deux par rapport à la coupe selon une seule orientationseulement.

Afin de limiter la coupe des polytopes selon les deux orientations, l’algorithme d’insertion décrit dansla suite permet d’insérer les deux polytopesM

→SO et M

←SO de manière indépendante l’un par rapport à

l’autre. Cela permet de déterminer avec exactitude quelle orientation de l’occulteur utiliser pour couperles polytopes non rejetés.

Page 157: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 145

O

H1H2

H3

H1

P1 H2

P2 H3

P3 P4

(a) Résultat de la coupe selon l’orien-tation négative deO

O

H1H2

H3

H1

H2 H2

H3 P3P4 H3

P1 P2 P5 P6

(b) Résultat de la coupe selon les deuxorientations deO

O

H1H2

H3

H1

H3 P4

H2 P3

P1 P2

(c) Résultat de la coupe selon l’orien-tation positive deO

FIG. 6.5 – Coupe d’un polytope dans un arbre BSP, par les hyperplans H1, H2, H3 associés aux arêtesd’un occulteurO, en fonction de son orientation.

Insertion de l’occulteur O dans l’arbre BSP

L’algorithme 3 décrit notre méthode d’insertion d’un occulteurO dans un arbre BSP (procé-dureInsertO luder), en fonction des deux polytopesM→SO etM←SO qui lui sont associés (quatre dansnotre implantation, en considérant les polytopesM

→CO etM←CO associés à la cible). L’occulteurO est ainsi

donné à la fois par la liste des hyperplans associés à ses facettesO.ListHpe et par la liste des sommetsdes polytopes minimauxO.M→SO et O.M←SO.

Le test de rejet que nous améliorons (fonctionReje tO luder) est appelé dans le cas où le nœudde l’arbre contient un hyperplan. Son détail est présenté dans l’algorithme4. Le résultat des deux testspermet de déterminer de manière précise quelle orientationde l’occulteur doit être insérée dans quelsous-arbre (lignes 8 à 23). Si le nœudNodeest une feuille (contenant un polytope), le second rejet estalors utilisé (fonctionisSplit, ligne 30). Ce dernier diffère du rejet proposé initialement par Niren-stein, uniquement par la prise en compte de l’orientation del’occulteur. Les orientations à considérerpour la coupe des polytopes sont indiquées par les variablesbooléennesOrientation1et Orientation2.Immédiatement, si les deux orientations valentfalse, aucune coupe du polytope n’est faite.

Pour améliorer davantage le résultat du calcul, nous utilisons un rejet de chacune des arêtes de l’occulteurindépendamment des autres. Cela permet éventuellement de ne pas couper un polytope par une des arêtesalors que la coupe par les autres suffit à obtenir le bon résultat. Cette amélioration nécessite tout de mêmed’effectuer un test de rejet global de l’occulteur lorsque toutes les arêtes sont rejetées. Mais l’essentielde notre approche reste le test décrit dans l’algorithme4.

Page 158: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

146 Chapitre 6. Approches algorithmiques proposées

procedureInsertO luder (VBSPNode; OccluderO)1

SideS1, S22

OrientationOrientation1← true, Orientation2← true3

begin4

if isInnerNode (Node)then5

S1← Reje tO luder (O.M→SO, Node.hyperplane)6

S2← Reje tO luder (O.M←SO, Node.hyperplane)7

if (S1= Plusor S1= Both)and (S2= Plusor S2= Both) then8 InsertO luder (Node.posSubtree, O.M→SO, O.M←SO, O.ListHpe)9

else10

if (S1= Plusor S1= Both)then11 InsertO luder (Node.posSubtree, O.M→SO, null , O.ListHpe)12

else13

if S2= Plusor S2= Both then14 InsertO luder (Node.posSubtree, null , O.M←SO, O.ListHpe)15

if (S1= Minusor S1= Both)and (S2= Minusor S2= Both) then16 InsertO luder (Node.negSubtree, O.M→SO, O.M←SO, O.ListHpe)17

else18

if (S1= Minusor S1= Both) then19 InsertO luder (Node.negSubtree, O.M→SO, null , O.ListHpe)20

else21

if S2= Minusor S2= Boththen22 InsertO luder (Node.negSubtree, null , O.M←SO, O.ListHpe)23

else24

if isVisibleLeaf (Node)then25

if O.M→SO =null then26

Orientation1=false27

if O.M←SO =null then28

Orientation2=false29

if isSplit (Node.polytope, O.ListHpe, Orientation1, Orientation2)then30 addSubtree (Node, Node.polytope, O.ListHpe, Orientation1, Orientation2)31

end32

Algorithme 3 : Insertion d’un occulteur dans un arbre BSP utilisant un test complet de rejet pourdéterminer les coupes inutiles

6.2.5 Classificationeuclidiennerobuste des droites dans le cas du calcul de visibilité dansl’espace euclidienAn

Dans le cas d’une interprétation de l’espace projectifGn par un espace affine euclidien, la précision de laclassification des droites par rapport à une(n−2)-variété, définie à partir de la forme bilinéaire «•» deDn

ou du produit extérieur de∧

(Gn), ne dépend pas uniquement de la distance entre la droite et lavariété.

Page 159: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 147

function Reje tO luder (VPolytopeMSO ; HyperplaneHyp) return Side33

int pos← 0, neg← 034

begin35

if MSO = null then36

return None37

foreach l in MSO do38

if Hyp• l > 0 then39

pos← pos+140

else41

if Hyp• l < 0 then42

neg← neg+143

if neg= 0 then44

return Plus45

else46

if pos= 0 then47

return Minus48

else49

return Both50

end51

Algorithme 4 : Rejet des sommets du polytope minimalMSO entre un occulteur et une source, parrapport un hyperplan contenu dans le nœud d’un arbre BSP

Elle dépend également de la distance entre la droite et l’origine dans l’espaceAn et du parallélisme entrela droite et la(n−2)-variété19.

La dépendance de la classification en fonction de ces paramètres est problématique en informatiquegraphique, en raison des imprécisions sur les calculs numériques. Pour pallier ce problème, nous propo-sons dans ce paragraphe une nouvelle classification, que nous qualifierons d’«euclidienne», déterminantune mesure de la distance euclidienne entre une droite et une(n− 2)-variété. Nous supposons dans lasuite l’espaceGn interprété comme un espace affine (ou arguésien), selon les notations utilisées dans leparagraphe6.1.1. La classification des droites est à nouveau notée par le produit extérieur dans

∧(Gn).

Nous énonçons puis démontrons le théorème suivant, donnantl’expression de la distance entre une droiteD et une(n−2)-variété linéaireF dans l’algèbre

∧(Gn).

Théorème 6.1Soit une droite D et une(n− 2)-variété linéaire F dansGn. La distance euclidienne||DF||, entre la droite D et la variété F est donnée par l’égalité suivante :

||DF|| =

√((D∧F)(e0∧〈e0,D〉⊥∧〈e0,F〉⊥)−1)2 (6.2)

Dans l’égalité(6.2), le vecteure0 correspond à l’origine dansAn. Il s’agit du vecteur deRn+1, fixée afinde permettre l’interprétation euclidienne deGn (cf. §6.1.1). Quant à l’expression〈,〉⊥, elle dénote la

19Notons que la distance entre deux variétés n’a pas de sens dans un espace projectif. Il s’agit donc ici spécifiquement d’unproblème dû à l’interprétation de l’espaceGn dans un espace euclidien.

Page 160: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

148 Chapitre 6. Approches algorithmiques proposées

p⊥1

p⊥2 ~d2~d1

p2p1b b

b

b

FIG. 6.6 – Classification de deux droites, chacune donnée par un point et une direction, en fonction deleur distance euclidienne.

contraction dans l’algèbre de Clifford, définie en fonctionde la forme quadratique euclidienne dansGn

(cf. §1.3.5, page33). Cette expression utilise par ailleurs le produit et l’inversion des multivecteurs dansl’algèbre de CliffordC(Gn).

Comparée à la classification dansDn n’utilisant que le produit extérieur, ce théorème procure,dans lecas du calcul de visibilité dans l’espace affine euclidien, une classification plus pertinente, puisqu’elledépend uniquement de la distance euclidienne, et plus robuste aux imprécisions, car la valeur limite dedécision pour savoir si une droite est incidente ou non à une(n−2)-variété correspond à la même distancepour toute droite, sans nécessité d’ajuster cette limite. Autrement dit, la classification ainsi obtenue estuniforme sur tout l’espace affine, quelque soit la taille de la scène ou la position de l’origine par rapportà celle-ci. Nous prouvons ci-dessous ce résultat, puis justifions sa cohérence également pour les multi-vecteurs non décomposables (en dehors de la grassmannienne). La figure6.6 illustre la démonstrationpourG3.

DémonstrationSoient une droite D1 = p1∧ ~d1, déterminée par un point p1 = ~p1 + e0 deAn et une direction~d1

de ~An, et une(n−2)-variété linéaire F2 = p2∧ ~d2, déterminée par un point p2 = ~p2 + e0 deAn

et une direction~d2 = ~d21 ∧ . . .∧ ~d2n−2. La direction ~d2 de la (n− 2)-variété F2 correspond à un(n−2)-vecteur, représentant un(n−2)-sous-espace vectoriel de l’espace directeur~An, de mêmeque la direction~d1 de la droite D1, est un1-vecteur représentant un1-sous-espace de~An.

La distance entre les deux variétés D1 et F2 est donnée par la norme d’un vecteur~r = p⊥2 − p⊥1 ,obtenu depuis les points p⊥1 et p⊥2 respectivement sur la droite et sur la(n−2)-variété et tels que~r est orthogonal aux directions des deux variétés. Autrement dit, en notant «· » le produit scalairedansRn+1, le vecteur~r vérifie~r ·e0 = 0,~r · ~d1 = 0 et~r · ~d2i = 0 pour tout i∈ [1;n−2]. On montresans difficulté que pour tout autre vecteur~r ′ obtenu par deux points p′1 et p′2 sur les deux variétéset non orthogonal aux directions des variétés, sa norme~r ′ ·~r ′ est supérieure à celle de~r.

Le produit extérieur D1∧F2 donne la classification de la droite D1 relativement à F2. Ce termevaut :

D1∧F2 = (p1∧ ~d1)∧ (p2∧ ~d2)

= (~p1 +e0)∧ ~d1∧ (~p2+e0)∧d2

(bilinéarité) = ~p1∧ ~d1∧~p2∧ ~d2+e0∧ ~d1∧~p2∧ ~d2+

~p1∧ ~d1∧e0∧ ~d2 +e0∧ ~d1∧e0∧ ~d2

(anticommutativité) = e0∧ (~p1−~p2)∧ ~d1∧ ~d2

Dans la troisième ligne du calcul ci-dessus, le terme~p1∧ ~d1∧~p2∧ ~d2 s’annule, car il s’agit du

Page 161: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.2. Calcul et représentation de la visibilité globale entre deux faces convexes 149

produit extérieur de(n+ 1) vecteurs appartenant à l’espace directeurRn de dimension n, quisont donc nécessairement linéairement dépendants. Les deux termes non nuls peuvent alors êtrefactorisés par e0∧ ~d1∧ ~d2.

De manière immédiate, la classification D1∧F2 ne dépend pas des points p1 et p2 choisis surD1

et F2. En effet, si on considère par exemple un point p′1 = ~p′1 +e0 sur D1 alors p′1− p1 = ~p′1−~p1

est un vecteur colinéaire à~d1. On déduit :

p′1∧ ~d1 = (p′1 + p1− p1)∧ ~d1

= p1∧ ~d1+(p′1− p1)∧ ~d1

= p1∧ ~d1

On peut donc considérer les points p⊥1 et p⊥2 dans la classification, sans changer le résultat. Onobtient alors :

D1∧F2 = e0∧ (~p⊥1 −~p⊥2 )∧ ~d1∧ ~d2

= −~r ∧e0∧ ~d1∧ ~d2

Le vecteur~r est orthogonal à tous les autres vecteurs du produit ci-dessus, par hypothèse. À partirde la conjonction du produit de Clifford et du produit extérieur (cf. équation(1.9), page32), nousavons :

D1∧F2 =−~r(e0∧ ~d1∧ ~d2)

Le vecteur~r devient alors :~r =−(D1∧F2)(e0∧ ~d1∧ ~d2)

−1

En pratique, nous ne connaissons pas les multivecteurs directeurs~d1 et ~d2. Comme les vecteurs del’espace directeur sont orthogonaux à e0, il peuvent cependant être facilement déterminés à partirde la contraction de D1 ou de F2 par e0. Par exemple, pour F2, nous avons :

〈e0,F2〉⊥ = 〈e0,(~p2 +e0)∧ ~d2〉⊥= 〈e0,~p2∧ ~d2〉⊥ + 〈e0,e0∧ ~d2〉⊥= 0 + ~d2

Ainsi, l’expression du vecteur~r dans le cas général, est donné par :

~r = (D1∧F2)(e0∧〈e0,D1〉⊥∧〈e0,F2〉⊥)−1

On déduit la distance euclidienne entre les deux variétés D1 et F2 en prenant la norme√~r2 de~r,

d’où l’équation(6.2).�

Bien que cette classification euclidienne soit géométriquement significative uniquement pour des multi-vecteursD1 et F2 décomposables, seuls cas où ceux-ci représentent des variétés linéaires, elle est néan-moins valide pour des multivecteurs non décomposables et ce, pour deux raisons :

1. Le terme de l’équation (6.2) est toujours évaluable. En effet, le multivecteure0∧ ~d1∧ ~d2 est d’ordren, équivalant à un 1-vecteur dans

∧(Rn+1) (cf. corollaire 1.8, page21). Comme les 1-vecteurs

sont tous décomposables et équivalents aux hyperplans deRn+1 par dualité, lesn-vecteurs sontégalement décomposables et représentent ces hyperplans. Par conséquent, si le termee0∧ ~d1∧ ~d2

est non nul alors il est inversible (cf. propriété1.17 page40). S’il est nul, le termeD1∧F2 estégalement nul et la droite est classée « sur » l’hyperplan dansDn.

Page 162: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

150 Chapitre 6. Approches algorithmiques proposées

2. L’espace des multivecteurs est continu, de même que la grassmannienne [Sat99]. Cela signifieque deux multivecteurs « proches », c’est-à-dire ayant des coordonnées proches dans une base,donneront des résultats proches.

6.3 Utilisation des silhouettes

L’utilisation des silhouettes des objets a pour but de réduire la fragmentation de la visibilité en découpantles polytopes représentant la visibilité par les seuls éléments où apparaissent les évènements visuels,i.e. là où change localement la visibilité. Dans [HMN05], Haumont propose une fusion des occulteursqui s’apparente à un premier traitement des silhouettes. L’algorithme qu’il propose consiste à fusionnerles occulteurs voisins de façon à conserver une contrainte de «convexité», seul cas où il est facile dedistinguer les parties occultées des parties visibles entre la source et la cible. En raison de cette contrainte,cet algorithme ne peut se limiter aux seuls éléments de la silhouette. Cette section propose une étude etune solution algorithmique de la coupe de la visibilité par ces seuls éléments.

Le paragraphe6.3.1donne une caractérisation simple des éléments de la silhouette en fonction des deuxfaces source et cible. Le principe général du calcul de la visibilité à partir de la silhouette est ensuiteexpliqué dans le paragraphe6.3.2. Les paragraphes6.3.3, 6.3.4et 6.3.5montrent que l’utilisation dela silhouette depuis deux faces nécessite un traitement de singularités qui peuvent être problématiquespour le calcul de visibilité. Le paragraphe6.3.6propose alors des techniques pour traiter ces singularitésde manière consistante et efficace. Le paragraphe6.3.7présente enfin les modifications apportées auxalgorithmes de la section6.2 pour prendre en compte ces traitements. Finalement, une optimisationpermettant d’accélérer le traitement des éléments de la silhouette dans des configurations d’occultationimportante par de gros occulteurs, est présentée dans le paragraphe6.3.8.

Notons que le traitement des silhouettes exposé dans cette section est limité au cas tridimensionnel, enraison de la nécessité de calculer des intersections entre des polytopes et la grassmannienne dansDn (cf.§6.3.7), ce qui n’est actuellement possible qu’en dimension 2 et 3.Il est également décrit dans l’inter-prétation affine de l’espaceG3. Les notations utilisées sont celles introduites dans le paragraphe6.1.1.

6.3.1 Définition de la silhouette

Nous rappelons dans un premier temps la définition des silhouettes depuis un point de vue puis étendonscelle-ci aux éléments de la silhouette depuis deux faces convexes.

Silhouette depuis un point de vue

Supposons pour le moment que chaque arête est adjacente à exactement deux polygones et que chaquepolygone possède une orientation consistante, selon l’intérieur et l’extérieur de l’objet.

Soient deux faces convexesA etB incidentes en une arêtea, et un point de vuev (voir figure6.7(a)). Pardéfinition, l’arêtea est silhouette depuis le point de vuev, si et seulement siv est situé dans l’une desdeux parties(+−) ou (−+) de l’espace, définies par l’intersection du demi-espace positif (resp. négatif)deA et du demi-espace négatif (resp. positif) deB [LAA +05].

Page 163: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 151

b

−−

++

−++−v

AB

(a) Déterminer une arête silhouette adjacente à deux po-lygonesA et B, depuis un point de vuev, en regardantdans quelle partie de l’espace se trouve le point de vue.

BA

(b) Déterminer une orientation relative des deux poly-gonesA et B, par rapport à l’intérieur et l’extérieur del’objet. L’arête doit être traversée dans un sens différentpar chaque polygone.

FIG. 6.7 – Caractérisation des arêtes silhouettes adjacentes àdeux polygones, depuis un point de vuev,en fonction de l’orientation des deux polygones.

En pratique, les deux hypothèses d’adjacences des arêtes à exactement deux faces, et de l’orientation deces faces, ne sont pas toujours vérifiées, puisque les scènesconsidérées sont généralement des soupesde polygones. Pour remédier au premier problème, il suffit d’admettre que les arêtes adjacentes à uneseule face sont aussi des silhouettes. Concernant le secondproblème, il est toujours possible d’orienterlocalement deux faces adjacentes de manière consistante (cf. figure6.7(b)), sans changer la silhouette :la définition des arêtes silhouettes est symétrique par rapport à l’orientation.

Silhouette depuis deux faces polygonales

Dans le cas du calcul de visibilité entre deux polygonesSetC, la définition de la silhouette doit prendreen compte l’ensemble des points de vues sur chacune de ces faces. Cette définition est la suivante :

Définition 6.1 Une arête a est silhouette depuis les polygonesS et C si et seulement si a est contenuedans l’enveloppe convexe deSetC, et a est silhouette depuis au moins un point de vue de la faceSet aumoins un point de vue de la faceC.

La figure6.8 illustre dans le plan la détermination des éléments de la silhouette d’un objet depuis deuxfaces. Selon la définition, le sommeta1 est silhouette, car il l’est pour tout point de vue deS comprisentre les sommetsi1 et i2, puis depuis tout point de vue deC au dessus du sommeti3. Il en est de mêmepour les sommetsa3, a4 et a5. En revanche, le sommeta2 n’est silhouette depuis aucun point de vue deC, bien qu’il soit silhouette depuis les points de vue deS en dessous dei2 : il n’appartient donc pas à lasilhouette entreS etC.

6.3.2 Vue d’ensemble du traitement de la silhouette

Le traitement de la silhouette que nous proposons a pour but de limiter la coupe des polytopes repré-sentant la visibilité, appeléecoupe de la visibilitépar abus de langage, par les seules arêtes silhouettes

Page 164: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

152 Chapitre 6. Approches algorithmiques proposées

i3i1

i2

S

C

a1

a2

a3 a4

a5b b

b b

b

b

b

b

FIG. 6.8 – Détermination de la silhouette d’un objet dans le plan, par rapport à deux faces polygonalesSet C. La silhouette est donnée par les quatre sommetsa1, a3, a4 et a5.

depuis les deux faces source et cible. Il se distingue du traitement sans silhouette (algorithme1) par uneinsertion des occulteurs en trois temps (voir l’algorithme5) :

1. La visibilité, i.e. les polytopes contenus dans l’arbre de visibilité, est coupée par des occulteursprédéterminés, que nous qualifierons de «prédominants» (lignes 12 à 15 puis lignes 18 et 19). Ilscorrespondent à des polygones occultant complètement un ensemble d’arêtes silhouettes, dont lenombre est supérieur au nombre de leurs arêtes (cf. §6.3.8). Ils sont utilisés afin d’accélérer laconvergence globale du calcul, dans le cas où une majeure partie de la silhouette est occultée parquelques occulteurs prédominants.

2. Les arêtes silhouettes sont insérées dans l’arbre représentant la visibilité, afin de la couper par leséléments de la silhouette. Ce traitement a pour but de séparer les droites occultées des droites devisibilité. Il ne permet néanmoins pas de distinguer les polytopes représentant les droites occultéeset ceux représentant les droites de visibilité (celles ne traversant aucun occulteur), en raison de lanon-convexité des silhouettes, dans le cas général.

3. Les occulteurs non prédominants sont insérés à leur tour dans l’arbre, afin de déterminer, sans ef-fectuer de coupe, les polytopes représentant l’occultation. Pour cela, l’ensemble des occulteurs doitaboutir, après l’insertion, dans toutes les feuilles de l’arbre représentant l’occultation, et seulementcelles-ci.

Bien qu’allant à l’encontre de notre objectif,i.e. couper la visibilité par les seules arêtes silhouettes, lapremière insertion est néanmoins nécessaire dans certainscas, afin d’éviter de couper la visibilité parde trop nombreux éléments. Il s’agit en quelque sorte d’une adaptation au traitement des silhouettes, del’ordonnancement des occulteurs utilisé dans la méthode classique (cf.§6.2.1). Nous proposons pour celaun critère approprié à l’utilisation des silhouettes, reposant sur le nombre d’arêtes occultées. Comme latechnique originale, son utilisation est aussi essentielle pour rendre la méthode praticable, dans beaucoupde cas où seuls quelques occulteurs permettent de déterminer la majeure partie de l’occultation.

Les deux insertions suivantes constituent le traitement proprement dit des silhouettes. Elles permettenteffectivement de limiter la coupe de la visibilité aux arêtes silhouettes, les autres arêtes ne servent pas àla coupe. Nous montrons cependant qu’un tel traitement des silhouettes implique la prise en compte desingularités, problématiques à la fois pour la coupe de la visibilité et le rejet des occulteurs.

Le paragraphe suivant donne une intuition du problème des singularités, d’un point de vue géométriquesimple, afin de facilité la compréhension du phénomène dans le cas général et du point de vue de la

Page 165: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 153

function ComputeVisibilitySilhouette (FaceS, FaceC, ListFaceScene) return VBSP1

VBSPNode← /02

ListOccludersListO← /0, LargeOccluders← /03

ListSilhouetteSilhouette← /04

begin5

foreach F ∈ Scenedo6

if isO luder (F,S,C)then7

ListO← ListO∪{F}8

foreach edge∈ F do9

if isSilhouette (edge,S,C)then10

Silhouette← Silhouette∪{edge}11

foreach O ∈ ListO do12

if isLarge (O,Silhouette)then13

ListO← ListO\{O}14

LargeOccluders← LargeOccluders∪{O}15 sortO luders (ListO, S, C)16

Node←MakeInitialPolytope (S,C)17

foreach O ∈ LargeOccludersdo18 InsertO luder (Node,O)19

foreach SilEdge∈ Silhouettedo20 InsertSilhouette (Node,SilEdge)21

foreach O ∈ ListO do22 InsertO luder (Node,O)23

return Node24

end25

Algorithme 5 : Fonction de calcul de la visibilité entre deuxfacesSet C, dans le cas du traitement dela silhouette.

visibilité globale. Le paragraphe6.3.4propose ensuite une définition générale de ces singularités, tandisque le paragraphe6.3.5 décrit les problèmes qui leur sont liés dans le calcul de visibilité. Enfin, leparagraphe6.3.6propose une méthode pour les traiter de manière consistante.

6.3.3 Intuition géométrique du problème des singularités

Le problème des singularités dont il est question ici, vientdu fait que l’on ne regarde pas la silhouettedepuis un unique point de vue, mais depuis une infinité de points de vue sur une face convexe. Nousavons vu dans le paragraphe précédent, comme première conséquence de ce fait, que les arêtes contenuesdans la silhouette ne sont pas les mêmes selon le point de vue où l’on se place sur la face source. Cetteremarque nous a menés à définir la silhouette en fonction des points de vues pris sur deux faces sourceet cible. Une deuxième conséquence est que l’aspect de la silhouette peut également changé d’un pointde vue à un autre. Ce changement d’aspect de la silhouette estprécisément la cause de l’apparition des

Page 166: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

154 Chapitre 6. Approches algorithmiques proposées

singularités.

Lieux d’apparition des singularités

De manière intuitive, on peut voir une singularité comme le passage continu, dans la silhouette, d’uneconvexité vers une concavité, et inversement. La figure6.9montre un exemple d’un tel changement pourun objet plongé dansG3. La figure6.9(b)montre deux aspects possibles de cet objet pour deux pointsde vue différents, schématisés sur la figure6.9(a). Pour les deux points de vue, la silhouette est la même(elle contient les mêmes arêtes), mais sa forme change. Dansle premier cas (à gauche), la silhouette del’objet apparaît comme un polygone convexe, tandis que dansle second cas (à droite), celle-ci apparaîtcomme un polygone contenant une cavité, générée par les deuxarêtesa1 eta2. On remarque alors qu’ense déplaçant continûment d’un des points de vue vers le second, le changement de la convexité vers laconcavité, dans l’aspect de la silhouette de l’objet, s’effectue également continûment.

a1 a2

(a) Objet tridimensionnel en perspec-tive

a1

a2

a1

a2

(b) Aspects de l’objet vu depuis deux lieux différents. Lorsdu déplacement continud’un point de vue à l’autre, la silhouette, d’abord convexe (à gauche), change d’as-pect jusqu’à devenir concave (à droite)

FIG. 6.9 – Figure géométrique tridimensionnelle (figure6.9(a)) et aspects approximatifs de cet objetpour deux points de vue différents (figure6.9(b))

Nous parlons ici de singularité, car, même si la «déformation» de la silhouette et le changement de pointde vue sont continus, il existe un lieu où, entre deux points de vues infiniment proches, l’aspect de lasilhouette devientsoudainementconvexe ou concave. La formesoudainede ce changement, apparaissantdans un phénomène continu (la déformation de la silhouette selon le point de vue), indique la présenced’une singularité.

Problèmes engendrés par les singularités

Pour avoir une intuition des problèmes causés par les singularités dans le calcul de visibilité, considéronsles deux aspects précédents de la silhouette de l’objet de lafigure6.9, comme deux polygones du plan.

Nous savons que le principe du calcul de visibilité est de distinguer l’intérieur et l’extérieur des objets,en classant les droites par rapport au bord de ces objets (en l’occurrence les silhouettes). Observonscomment, dans le plan, les points à l’intérieur et à l’extérieur des polygones considérés peuvent être

Page 167: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 155

distingués en les classant par rapport à leurs bords (cf. figure6.10).

(a) Polygone convexe : l’intérieur est l’ensemble despoints du côté positif de toutes les arêtes.

(b) Polygone concave : l’intérieur est l’union des en-sembles de points du côté positif de toutes les arêtes saufd’une des arêtes engendrant une concavité.

FIG. 6.10 – Caractérisation de l’intérieur de deux polygones duplan, par classification des points duplan par rapport au bord (les arêtes) des polygones.

Dans le cas où le polygone (la silhouette) est convexe, l’intérieur est immédiatement déterminé parl’ensemble des points qui sont du côté positif de toutes les arêtes du bord (figure6.10(a)). Dans le casoù le polygone contient une cavité, cette distinction de l’intérieur et de l’extérieur du polygone diffère(figure6.10(b)) : il s’agit de l’ensemble des points qui sont du côté positifde toutes les arêtes du bord,sauf pour une des arêtes générant la cavité.

Ce qui est illustré ici pour des points à l’intérieur de polygones du plan est en réalité immédiatementtransposable aux droites passant à l’intérieur de ces polygones ou objets dans l’espace tridimensionnel.Il est ici important d’observer que l’intérieur et l’extérieur des deux polygones peuvent toujours êtrecaractérisés en classant les points (les droites) par rapport au bord des polygones (les silhouettes). Tou-tefois, en ce qui nous concerne, ces deux polygones ou silhouettes sont obtenus continûment à partir dumême objet. Cela signifie qu’il n’est plus possible de distinguer l’intérieur et l’extérieur d’un objet demanière consistante, lors de l’apparition d’une singularité, car la caractérisation de l’intérieur de cet objetpar rapport à sa silhouette n’est pas la même selon le point devue duquel on l’observe.

Cet exemple simple donne une intuition assez fidèle de ce qui se passe dans le cas général. Les deuxparagraphes suivants tendent à donner une définition générale des singularités et des lieux où elles ap-paraissent, puis à illustrer de manière précise les problèmes qu’elles engendrent dans le calcul de lavisibilité globale.

6.3.4 Définition et caractérisation générale des singularités dans la silhouette

Considérons dans la suite, deux arêtes silhouettes quelconquesa1 et a2 entre les deux facesS et C (cf.figure6.11). Nous donnons ci-dessous la définition générale d’une singularité dans la silhouette entreSetC, puis expliquons comment caractériser ces singularités enpratique.

Définition 6.2 Dans la silhouette entre deux facesS et C, unesingularitéest définie par deux arêtessilhouettes a1 et a2, telles qu’il existe au moins deux droites allant deS versC, classées du même côtéde chaque arête a1 et a2, mais traversant dans un sens différent le plan généré par unpoint quelconquedeG3 et les directions des deux arêtes. (voir figure6.11).

Page 168: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

156 Chapitre 6. Approches algorithmiques proposées

a1

a2

D2

D1

FIG. 6.11 – Singularité générée par deux arêtes quelconques disjointes. Les droitesD1 etD2 sont classéede la même façon par rapport aux droites supports des arêtesa1 et a2, mais ne traversent pas dans lemême sens le plan affine généré par les directions des deux arêtes et un point quelconque deG3.

Le sens de traversée du plan par les deux droites, dans la définition, dépend en réalité uniquement de sadirection, i.e. de celles des deux arêtes : quelle que soit la position de ce plan dans l’espace, le sens detraversée de celui-ci par une droite donnée est toujours le même. Nous appellerons dans la suiteplan desingularité, l’un de ces plans. Nous montrons dans la sous-section suivante que le sens de traversée duplan de singularité peut se déterminer facilement dans l’espace des droitesD3 à partir des directions desarêtesa1 eta2.

Classer les droites selon le sens de traversée du plan de singularité

Soient~d1 et ~d2 les directions des arêtesa1 et a2, respectivement. Celles-ci sont, de manière équivalente,des points à l’infini dans l’interprétation arguésienne deG3. De cette façon, le 2-vecteur~d1∧~d2 représentedansG3 une droite à l’infiniD∞, i.e. une droite dont tous les pointsλ1~d1 + λ2~d2, (λ1,λ2) ∈ R2, sont àl’infini ( cf. figure6.12). Cette droite, que nous appellerons droite de singularité, est l’intersection entreun des plans de singularité et l’hyperplan à l’infiniH∞. Nous avons la propriété suivante.

Propriété 6.1 Soient a1 et a2, deux arêtes deG3, de directions respectives~d1 et ~d2. Le sens de traverséepar une droite, d’un plan généré par les directions de ces arêtes et un point quelconque de l’espace,équivaut à la classification de la droite relativement à la droite à l’infini ~d1∧ ~d2.

Cette propriété permet de déterminer l’une des caractéristiques définissant les singularités, à partir dela même opération de classification des droites utilisée jusqu’ici. Ceci sera particulièrement utile pourcaractériser les singularités, et en déterminer un traitement consistant dans l’espace des droites (cf. §6.3.6et §6.3.7). Nous la démontrons ci-dessous.

DémonstrationSoit D∞ = ~d1∧ ~d2, la droite à l’infini déduite des directions des deux arêtes.Soit une droite D=

Page 169: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 157

a1

a2D1

D2

H∞ D∞

bb

FIG. 6.12 – Dans l’espace arguésien, la classification des droitesD1 et D2 en fonction du sens de tra-versée du plan affine généré par les arêtesa1 et a2, équivaut à la classification par rapport à une droite àl’infini. Cette droite est l’intersection entre le plan affine et l’hyperplan à l’infiniH∞ et est invariante partranslation du plan dans l’espace : elle ne dépend que des directions des arêtesa1 et a2.

p∧ ~d, définie par un point p= ~p+e0 et une direction~d.

Si la droite est parallèle au plan déduit des directions des deux arêtes et par un point quelconquede Gn, alors sa direction est linéairement dépendante de la direction du plan, générée par lesdirections~d1 et ~d2. Posons~d = δ1~d1 + δ2~d2. Nous avons :

D∧D∞ = p∧ (δ1~d1 + δ2~d2)∧ ~d1∧ ~d2

= δ1p∧ ~d1∧ ~d1∧ ~d2+ δ2p∧ ~d2∧ ~d1∧ ~d2

= 0

Toute droite parallèle au plan est donc incidente à la droiteà l’infini D∞.

Si la droite n’est pas parallèle au plan, alors soit~n une direction linéairement indépendante de~d1

et~d2, et~d = δ1~d1+δ2~d2+δn~n la direction de la droite. Le même calcul donne alors, en considérantp = ~p+e0 :

D∧D∞ = δn(~p+e0)∧~n∧ ~d1∧ ~d2

= δne0∧~n∧ ~d1∧ ~d2

Ce terme est non nul car~n, ~d1 et ~d2 sont linéairement indépendants par hypothèse, de même qu’ilssont indépendants de e0, car ils appartiennent à l’espace directeur deA3, indépendant de e0 pardéfinition de l’interprétation arguésienne deGn (cf. §6.1.1). Selon le signe de cette valeur, la droiteD traversera le plan de singularité dans le sens de la direction~n (δn positif) ou bien dans le sensinverse (δn négatif).

Ainsi, le sens de traversée d’un plan par une droite est complètement déterminé par la classifica-tion de la droite par rapport à la droite à l’infini associée auplan.�

Page 170: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

158 Chapitre 6. Approches algorithmiques proposées

Caractérisation des singularités

En pratique, la détection d’une singularité générée par deux arêtesa1 eta2 se fait de la manière suivante.

– La droite~d1∧ ~d2 est calculée à partir des directions des arêtesa1 et a2.– Si le résultat est nul, alors les arêtes sont parallèles et il n’y a pas de singularités. Sinon, les arêtes sont

prolongées à l’intérieur de l’enveloppe convexe de la source Set de la cibleC.– Les sommets des polytopes minimauxMSa1 et MSa2, entre la source et les arêtes prolongées, sont

calculés.– Les droites représentant les sommets deMSa1 (resp. deMSa2) sont partagées en deux groupes : le

premier groupe comprend celles classées du côté positif de la droite à l’infini ~d1∧ ~d2 ; l’autre groupecomprend celles classées du côté négatif.

– Les droites de ces groupes sont à leur tour classées par rapport à l’arêtea2 (respectivementa1). Àpartir de ce classement, pour chaque groupe, on déduit s’il existe des droites entreS et C, vérifiant lapropriété de définition d’une singularité.

Ce test de détection est utilisé, en pratique, lors de l’insertion des arêtes silhouettes dans l’arbre devisibilité (cf. §6.3.7).

6.3.5 Conséquences des singularités sur le calcul de visibilité

Ce paragraphe étudie deux exemples de singularités afin de mettre en évidence leurs effets dans le trai-tement de la silhouette. Ils concernent d’une part la coupe de la visibilité, et d’autre part le premier testde rejet utilisé lors de l’insertion des arêtes ou des occulteurs dans l’arbre de visibilité.

Conséquences sur la coupe de la visibilité

En raison de la présence de certaines singularités, il n’estpas possible de séparer les droites visiblesde celles occultées, uniquement à partir des arêtes silhouettes. Les figures6.13(a)et 6.13(b) illustrentun exemple de singularité où un tel phénomène apparaît, pourdeux faces adjacentesF1 et F2 observéesdepuis deux directions différentes. Ces deux directions d’observation montrent les deux sens de traverséepossibles du plan de singularité généré par les deux arêtesa1 et a2, silhouettes par définition. Leursorientations permettent de classer (+ ou−) les droites passant d’un côté ou de l’autre des arêtes, ce quirésulte en quatre classements différents pour les deux arêtes :(++), (−−), (+−) et (−+).

À gauche (figure6.13(a)), les droites classées(+−) et (−+) correspondent à des droites visibles, tandisqu’à droite (figure6.13(b)), elles correspondent à des droites occultées. Pourtant, aucune arête contenuedans la silhouette ne permet, localement, de distinguer cesensembles de droites : la séparation de lavisibilité et de l’occultation nécessite une coupe supplémentaire par une autre droite.

Les figures6.13(c)et 6.13(d)montrent un autre exemple où ce problème concerne les ensembles (++)et (−−). Ici, l’arête adjacente aux deux arêtes, silhouette dans cecas, suffit à séparer les droites visibleset les droites occultées en deux ensembles différents, montrant aussi que certaines singularités peuventne pas être problématiques pour la coupe.

Cette conséquence des singularités montre qu’il n’est pas possible, dans le cas général, de limiter lacoupe aux seules arêtes silhouettes. Elle met donc directement à mal l’objectif du traitement de cettesilhouette. En outre, couper la visibilité par d’autres arêtes, n’appartenant pas à la silhouette, n’est pasune solution praticable : le choix de ces arêtes semble difficile dans le cas général, par exemple pour les

Page 171: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 159

+−

−+

++

−−F1

F2 a1

a2

(a) Première singularité, vue de gauche à droite

−−++

+−

−+F1

F2

a2

a1

(b) Première singularité, vue de droite à gauche

++

−−

+−−+

F1

F2

(c) Seconde singularité, vue de gauche à droite

−−

−+

+−

++

F1

F2

(d) Seconde singularité, vue de droite à gauche

FIG. 6.13 – Deux cas de singularités, vues depuis deux directions différentes, selon le sens de traverséedu plan de singularité généré par les arêtesa1 et a2.

singularités générées par deux arêtes disjointes. Au contraire, la droite de singularité, déduite à partir desdirections des arêtesa1 et a2 générant la singularité, permet dans tous les cas de séparerces ensemblesde manière cohérente : les différents ensembles de droites sont différenciés par le sens de traversée duplan de singularité.

Ainsi, séparer la visibilité de l’occultation nécessite des coupes supplémentaires par les droites de singu-larités, venant s’ajouter à celles par les arêtes silhouettes. Comme le montre les figures6.13(c)et6.13(d),beaucoup de singularités ne sont cependant pas sources de problèmes pour cette séparation. Pour éviterdes coupes superflues de la visibilité par les droites de singularités, celles-ci doivent se faire uniquementdans les casmanifestementproblématiques. Le paragraphe6.3.7explique comment déterminer ces cas àpartir des singularités détectées.

Conséquences sur le rejet

Les singularités induisent également un rejet non conformedes arêtes ou des occulteurs par les hy-perplans associés aux arêtes silhouettes génératrices de la singularité (voir figure6.14). Selon la direc-tion d’observation de la singularité, les droites incidentes à l’arêtea3 sont toutes classées(−−) (fi-gure6.14(a)) ou (++) (figure6.14(b)). Pourtant,a3 est rejetée des deux côtés de chaque arêtea1 et a2 :les droites incidentes à l’arêtea3, indépendamment du sens de traversée du plan de singularité, passent dechaque côté des deux arêtes. Cette arête est donc en pratiqueinsérée, selon les techniques de rejet décrites

Page 172: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

160 Chapitre 6. Approches algorithmiques proposées

dans le paragraphe6.2.4, dans les quatre parties(++), (−−), (+−) et (−+). Cette insertion comprenddes parties où l’arête n’a manifestement aucune incidence sur la visibilité. Cela entraîne alors des coupesinutiles et, dans le cas de la silhouette, l’impossibilité de déterminer correctement les ensembles occultéset visibles, lors de l’insertion des occulteurs.

F2

F1

+

+

++−−

a1

a2

a3

(a) Selon cette direction de la singularité, l’arêtea3 estinsérée dans l’ensemble(−−) seulement.

F2

F1

a1

a2+

+

++

−−a3

(b) Selon cette direction de la singularité, l’arêtea3 estinsérée dans l’ensemble(++) seulement.

FIG. 6.14 – Problème du rejet lors de l’apparition d’une singularité. L’arêtea3, selon la direction de vue,devrait être insérée dans les ensembles(++) ou (−−). Sans traitement particulier, cette arête est inséréedans tous les ensembles(++), (−−), (+−) et (−+).

Une solution pour éviter ce second problème est proposée dans le paragraphe suivant.

6.3.6 Rejeter dans le cas des singularités

Ce paragraphe décrit un nouveau test de rejet pour insérer correctement les occulteurs dans le cas dessingularités. Ce rejet est réalisé sur les hyperplans liés aux droites à l’infini déduites des singularités.Dans l’arbre, ces hyperplans sont en pratique toujours situés en dessous des hyperplans associés auxarêtes génératrices de la singularité (voir §6.3.7). Le rejet spécifique à ces hyperplans consiste donc àdéterminer si un occulteur ou une arête, non rejeté par les arêtes génératrices d’une singularité, aurait dûl’être. Par exemple, dans la figure6.14, le nouveau test a pour but de détecter que l’arêtea3 n’aurait pasdû être insérée dans les parties(+−) et (−+), où elle n’a pas d’incidence sur la visibilité.

L’algorithme6 décrit le rejet spécifique aux singularités (fonctionReje tO luderInfty). La fonctionprend en paramètre les sommets du polytope minimalMSO associé à un occulteurO (éventuellement unearête) et à la sourceS, et un hyperplanHypassocié à la droite à l’infiniD∞ déduite de la singularité. Cethyperplan contient, outre son plongement géométrique, lesréférencesHyp.a1 et Hyp.a2 des hyperplansassociés aux arêtes génératrices de la singularité. Les champsHyp.Side_a1 et Hyp.Side_a2 indiquent laposition de l’hyperplanHypdans l’arbre, relativement aux hyperplansHyp.a1 etHyp.a2 situés au dessusde celui-ci.

Le principe de l’algorithme est de simuler la coupe du polytope MSO par les hyperplansHyp.a1 etHyp (fonction SimSplitting), puis de rejeter les polytopes obtenus par rapport à l’hyperplan Hyp.a2

(lignes 13 et 14), afin de déterminer avec exactitude dans quelles parties l’occulteur doit être inséré,en considérant de manière indépendante les droites passantd’un côté ou de l’autre de l’hyperplanHyp(lignes 15 à 28). Ces côtés sont alors comparés aux valeursHyp.Side_a2 et Hyp.Side_a2. Si ces côtés necorrespondent pas, cela signifie que l’occulteur aurait dû être rejeté par les hyperplansHyp.a1 etHyp.a2,mais ne l’a pas été en raison de la présence de la singularité.Dans un tel cas, l’occulteur est simplement

Page 173: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 161

function Reje tO luderInfty (VPolytopeMSO ; HyperplaneInfinityHyp) return Side1

VPolytopeMa1+SO ,Ma1−

SO M∞+SO,M∞−

SO2

BooleanTestPos← false, TestNeg← false3

SidesidePlus,sideMinus4

begin5

if MSO = null then6

return None7

(Ma1+SO ,Ma1−

SO )← SimSplitting (MSO,Hyp.a1)8

if Hyp.Side_a1 = Plusthen9

(M∞+SO,M∞−

SO)← SimSplitting (Ma1+SO ,Hyp)10

else11

(M∞+SO,M∞−

SO)← SimSplitting (Ma1−SO ,Hyp)12

sidePlus← Reje tO luder (M∞+SO,Hyp.a2)13

sideMinus← Reje tO luder (M∞−SO ,Hyp.a2)14

if sidePlus=Bothor sidePlus=Hyp.Side_a2 then15

TestPos← true16

if sideMinus=Bothor sideMinus=Hyp.Side_a2 then17

TestNeg← true18

if TestPosand TestNegthen19

return Both20

else21

if TestPosthen22

return Plus23

else24

if TestNegthen25

return Minus26

else27

return None28

end29

Algorithme 6 : Test de rejet des sommets d’un polytope minimal contre un hyperplan déduit d’unedroite à l’infini.

rejeté, permettant de ne pas continuer l’insertion de celui-ci dans des parties de l’arbre où il n’a pasd’incidence sur la visibilité.

Le paragraphe suivant explique à quel moment est utilisé ce test de rejet en pratique.

6.3.7 Traitement de la silhouette

Le traitement principal de la silhouette se déroule en deux temps : les arêtes de la silhouette sont d’abordinsérées dans l’arbre, afin de couper la visibilité par les hyperplans associés à ces arêtes. Cette opérationcomprend notamment la détection des singularités. Les occulteurs sont ensuite insérés dans l’arbre afin

Page 174: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

162 Chapitre 6. Approches algorithmiques proposées

de déterminer les polytopes représentant l’occultation. La détection des singularités problématiques pourla séparation de l’occultation et de la visibilité se fait à ce moment. Ces deux étapes sont expliquées dansles sous-sections qui suivent.

Insertion des arêtes de la silhouette

L’insertion d’une arête dans l’arbre BSP utilise une adaptation de l’algorithme d’insertion sans silhouette(cf. algorithme3), modifié de façon à prendre en compte la détection des singularités pendant l’insertionainsi que le rejet spécifique par les droites à l’infini déduites des singularités.

Détection des singularités

procedureInsertSilhouette (VBSPNode; Edgea ; SidedHyperplaneListListHypInfty)1

HyperplaneH∞← null2

SidedHyperplaneListListHypInfty_plus← ListHypInfty3

SidedHyperplaneListListHypInfty_minus← ListHypInfty4

SideSign5

begin6

if isInnerNode (Node)then7

Sign← Reje tO _silhouette (a.MSa, Node.hyperplane)8

H∞← Dete tSingularity (a.Hyp, Node.hyperplane)9

if H∞ 6= null then10 AddHyperplane (ListHypInfty_plus,Hyp,Plus)11 AddHyperplane (ListHypInfty_minus,Hyp,Minus)12

if Sign= Plusor Sign= Boththen13 InsertO luder (Node.posSubtree, a.MSa, a.Hyp, ListHypInfty_plus)14

if Sign= Minusor Sign= Boththen15 InsertO luder (Node.negSubtree, a.MSa, a.Hyp, ListHypInfty_minus)16

else17

if isVisibleLeaf (Node)then18

if isSplit_silhouette (Node.polytope, a.MSa, a.Hyp)then19 addSubtree (Node, Node.polytope, a.Hyp)20 AddSingularityHyperplanes (Node.posSubtree,ListHypInfty,Plus)21 AddSingularityHyperplanes (Node.negSubtree,ListHypInfty,Minus)22

end23

Algorithme 7 : Insertion d’une arête silhouette dans un arbre BSP, utilisant un test complet de rejetprenant en compte les singularités et une détection des singularités.

Les algorithmes7 et8 présentent les différences induites par l’adaptation de l’algorithme3, afin d’insérerdes arêtes et de détecter les singularités. En particulier,un seul ensemblea.MSa représentant les sommetsdu polytope minimal pris entre la source (la cible) et une arête est considéré. En effet, dans le cas dupolytope minimal entre une face et une seule arête, il n’y a pas de dégénérescence possible et l’orientation

Page 175: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 163

function Reje tO _silhouette (VPolytopea.MSa ; HyperplaneHyp) return Side24

begin25

if isLineAtInfinity (Hyp) then26

return Reje tO luderInfty (a.MSa, Hyp)27

else28

return Reje tO luder (a.MSa, Hyp)29

end30

function isSplit_silhouette (PolytopeP ; VPolytopea.MSa ; HyperplaneHyp) return31

Booleanbegin32

foreach H∞ in Polytope.ListHypInftydo33

if Reje tO luderInfty (a.MSa, H∞) = Nonethen34

return false35

return isSplit (P, Hyp)36

end37

Algorithme 8 : Rejet d’une arête silhouette ou d’un occulteur en prenant en compte le rejet particulierpar les singularités.

de l’arête n’a aucune influence sur le résultat. De même, le paramètrea.Hypcontient un seul hyperplanassocié à l’arête.

La détection des singularités s’effectue à l’aide de la fonction Dete tSingularity, selon les caractéris-tiques décrites dans le paragraphe6.3.4. Elle retourne l’hyperplan de la droite à l’infini si une singularitéest détectée, et retourne la valeurnull sinon. Concernant le paramètreListHypInfty, il s’agit d’une listecontenant les hyperplans (les droites à l’infini) associés aux singularités détectées dans les parents dunœud courantNode. Il s’agit des singularités générées par l’arête inséréea et une arête dont l’hyperplanest contenu dans un nœud déjà visité. Chaque hyperplan de cette liste est associé à un signe valantPlusou Minus, selon de quel côté se trouve le nœudNodepar rapport au nœud parent où a été détectée lasingularité. Ces hyperplans sont finalement ajoutés aux polytopes contenus dans les feuilles atteintes parl’arête insérée (fonctionAddSingularityHyperplanes).

Intégrer le rejet pour une singularité

La fonction de rejet spécifique aux hyperplans liés aux droites de singularités (cf.algorithme6, page161)est utilisée dans les deux tests de rejet (fonctionsReje tO _silhouette et isSplit_silhouette),selon si l’hyperplan est dans un nœud interne (il a servi à couper la visibilité) ou seulement associé à unpolytope dans une feuille de l’arbre. Ces deux fonctions sont détaillées dans l’algorithme8.

Insertion des occulteurs

L’insertion des occulteurs permet de déterminer les polytopes, résultant de la coupe de la visibilité par lesarêtes silhouettes, représentant des droites occultées. Elle permet également de détecter les singularités

Page 176: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

164 Chapitre 6. Approches algorithmiques proposées

problématiques, ne permettant pas une séparation correctedes droites visibles et des droites occultées.

L’objectif est, lorsqu’un occulteur n’est pas rejeté dans une feuille de l’arbre, de certifier que le polytopecontenu dans la feuille représente des droites occultées. Les changements nécessaires au rejet correct desocculteurs sont explicités ci-après.

Détection des singularités problématiques pour la coupe

La détection de ces singularités problématiques est assurée dans la fonction de rejet dans les feuilles(fonctionisSplit_silhouette, algorithme8).

Si la fonctionReje tO luderInfty, appelée sur les hyperplans liés à des singularités et contenus dansle polytope, retournePluspour un hyperplanH∞ (resp.Minus), cela signifie que la partie du polytopePdu côté positif deH∞ (resp. négatif) représente des droites au moins partiellement occultées, tandis quela partie du côté négatif (resp. positif) n’est pas occultéepar l’occulteur inséré. Dans ce cas, la singularitéliée àH∞ est problématique.

En pratique, le premier hyperplan pour lequel la fonctionReje tO luderInfty retourne respective-ment Plus ou Minus, est mis de côté. Si finalement l’occulteur n’est pas rejeté àla fin du test, alorsle polytopeP est coupé par l’hyperplanH∞ mis de côté et l’occulteur est à nouveau inséré dans lesous-arbre respectivement positif ou négatif, créé par la coupe. Cela permet alors de couper la visibilitéuniquement par les singularités détectées comme problématiques, et ainsi éviter les coupes superfluespar des hyperplans correspondant à des singularités n’ayant pas de conséquence sur la séparation de lavisibilité et de l’occultation.

Rejet des polytopes par rapport aux arêtes des occulteurs

Afin d’assurer que l’insertion d’un occulteur aboutit uniquement dans des feuilles représentant une partiede l’occultation, le rejet des polytopes contenus dans les feuilles contre les hyperplans associés aux arêtesd’un occulteur (fonctionisSplit, algorithme3) est modifié. Initialement, ce rejet concerne les sommetsdu polytope. Dans le cas de la silhouette, il est nécessaire de faire ce rejet par rapport à des droitesreprésentables du polytope, c’est-à-dire des 2-vecteurs décomposables dans

∧(G3).

Pour illustrer cette nécessité, la figure6.15montre trois occulteursO1, O2 et O3 deG3, joints par desarêtesa3 eta4. Les arêtesa1 eta2 appartiennent à la silhouette et délimitent une partie visible, déterminéepar un polytopeP non représenté sur la figure. Lors de l’insertion de l’occulteurO2 dans l’arbre, celui-cin’est pas rejeté par les arêtesa1 eta2. De même, bien que visuellement, dansG3, les droites à l’extérieursoient toutes rejetées par les hyperplans associés àa3 ou a4, le polytopeP ne l’est pas nécessairementdansD3. La raison est que l’intersection des hyperplans associés aux arêtesa1 et a2 est un sous-espaceM4 de dimension 4 dansD3, tandis que leur intersection avec les arêtesa3 et a4 est généralementun sous-espaceM3 de dimension 3,i.e. un hyperplan deM4. Par conséquent, il est possible que larestriction deP àM4 ne soient pas rejetée parM3, i.e. par les hyperplans associés aux arêtesa3 et a4,tandis que l’intersection entre la restriction deP et la grassmannienneGR(2,4) l’est, car entièrementcontenue dansM3.

Pour rejeter correctement ce polytope, le test doit être effectué sur des points de la grassmannienneGR(2,4). C’est seulement dans ce cas que le phénomène visuellement observable dansG3 sera vérifiépar le calcul dansD3. Ces points sont dans notre application les 0-évènements visuels, ou ESL, corres-pondant aux intersections entre les arêtes du polytopeP et la grassmannienneGR(2,4). Ces droites ont

Page 177: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.3. Utilisation des silhouettes 165

O1O2

O3

a1

a2

a3

a4

Partie visible

FIG. 6.15 – Rejet d’un polytope représentant une partie visiblepar rapport aux hyperplans liés auxarêtesa3 et a4 de l’occulteurO2. Les sommets du polytope à l’intersection des hyperplans associés auxarêtesa1 et a2 sont dans un espace de dimension 4 dansD3. Certains d’entre eux peuvent donc être à« l’intérieur » du polytope délimité par les seuls hyperplans associés aux arêtes deO2. Ce n’est pas le cassi on considère les droites représentables dans le polytope. Ces droites sont, au pire, incidentes aux deuxhyperplans associés àa3 eta4.

l’avantage d’être rapides à calculer et de donner une appréciation convenable de l’ensemble des droitesreprésentées par le polytope.

Notons que la détermination des ESL ou de tout autre point de la grassmannienne n’est valable qu’endimension inférieure à 3, du fait de l’impossibilité de déterminer les intersections avec la grassmannienneGR(2,n), pourn > 3 (cf. §5.1.3, page109). Pour cette unique raison, le traitement de la silhouette estactuellement limité aux casn≤ 3.

Certification d’un rejet convenable des occulteurs

Un rejet correct des occulteurs implique d’une part que toute feuille atteinte par un occulteur représentedes droites occultées, et d’autre part que toute feuille nonatteinte par des occulteurs représente bien desdroites visibles. Cet objectif est réalisé grâce à la conjonction de plusieurs techniques présentées dans cechapitre et rappelées ci-dessous.

1. L’insertion des arêtes silhouettes et le traitement des singularités assure une séparation correctedes droites occultées et de celles visibles.

2. Les rejets des deux polytopes minimauxMSO et MOC, ainsi que la réduction de la source, dela cible et de l’occulteur (§6.2.4) assure que les arêtes silhouettes depuis la source et non depuisla cible (et inversement) sont bien rejetées du côté de l’occultation par rapport aux arêtes de lasilhouette.

3. Le traitement des singularités oblige à insérer et rejeter les occulteurs selon des directions devue de la silhouette localement limitées où la silhouette apparaît «constante» sur l’ensemble desdirections permises : une concavité (resp. une convexité) de la silhouette reste toujours concave(resp. convexe) selon ces vues. Ce rejet assure que les occulteurs sont insérés uniquement dans les

Page 178: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

166 Chapitre 6. Approches algorithmiques proposées

bbb

b b

b

O

A

FIG. 6.16 – Détection d’un occulteur prépondérantO, occultant une arêtea depuis la sourceS. Cettedétection utilise le classement des sommets du polytopeMSa par rapport aux arêtes deO. Si tous lessommets deMSa sont du côté positif, alors toutes les droites passant par lasource et l’arête passent aussipas l’occulteurO.

parties où ils ont une incidence sur la visibilité.

4. Le rejet par des droites représentables des polytopes contre les arêtes des occulteurs permet unrejet conforme au phénomène visuellement observé.

Ces quatre points sont nécessaires pour calculer la visibilité à partir des silhouettes limitées aux arêtesoù apparaissent les évènements visuels. Autrement dit, la définition de tests de rejets différents, ou bienle contournement du traitement des singularités, pour la coupe ou le rejet, impliquent obligatoirementl’utilisation d’une silhouette plus large, ne pouvant pas se limiter aux éléments réellement significatifsdans la visibilité entre les deux polygonesS etC.

6.3.8 Détection des occulteurs prédominants

Dans certains types de scènes comme des bâtiments, deux faces peuvent être complètement occultées parquelques gros occulteurs (les murs entre les pièces du bâtiment, par exemple). Le calcul de visibilité sanssilhouette converge rapidement dans ces cas, en raison de l’ordonnancement des occulteurs en fonctionde leurs tailles relatives. En revanche, le traitement de lasilhouette ne permet pas cette convergencerapide, car il coupe la visibilité par toutes les arêtes silhouettes avant l’insertion des occulteurs.

Afin d’éviter cet inconvénient, nous proposons une méthode déterminant des occulteursprédominants,afin de les traiter avant les arêtes silhouettes. Cette technique utilise une mesure du nombre d’arêtessilhouettes complètement occultées par un occulteur depuis la sourceS. Pour déterminer ce nombre,nous utilisons à nouveau le résultat du théorème5.4du polytope minimal.

Une arêtea est occultée par un occulteurO par rapport à une sourceSsi et seulement si toutes les droitesallant de la source vers l’arête passent par l’occulteurO (voir figure6.16). Cela équivaut à montrer queles sommets du polytope minimalMSa entre la sourceS et l’arêtea passent tous parO. Ce calcul estimmédiat, à partir du théorème5.3, caractérisant les droites passant par une face convexe.

Nous définissons alors un occulteurprédominantpar un occulteur tel que le nombre d’arêtes silhouettescomplètement occultées par celui-ci est supérieur au nombre d’arêtes constituant son bord. L’intérêt decette méthode est discuté dans la section suivante.

Page 179: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.4. Discussions et évaluation de notre approche 167

6.4 Discussions et évaluation de notre approche

Cette section compare nos algorithmes à ceux des travaux antérieurs, proposant le même type de cal-cul [Nir03, HMN05, Mor06]. Le paragraphe6.4.1discute des différences et des avantages de nos nou-veaux algorithmes. Les paragraphes6.4.2et6.4.3comparent les résultats de l’évaluation pratique de nosméthodes avec les précédentes.

6.4.1 Différences et améliorations de notre approche

Intérêts d’une formulation algébrique

De manière générale, notre approche se différencie des travaux antérieurs par l’utilisation d’un cadrealgébrique, synthétique et abstrait des coordonnées, pourformuler les opérations géométriques. Il s’agitde l’algèbre de Grassmann, utilisée initialement pour décrire la théorie algébrique de la visibilité globale,et de l’algèbre de Clifford pour le calcul spécifique à l’interprétation dans un espace euclidien (§6.2.5).Leur utilisation a permis d’améliorer les algorithmes sur deux critères : la robustesse des calculs et leurgénéricité.

Impact sur la robustesse et le traitement des cas dégénérés

Les algorithmes proposés dans ce chapitre s’appuient sur une représentation théorique exacte de la visi-bilité, pour déterminer des solutions permettant de traiter les dégénérescences de manière robuste : pourcela, seule une coupe des faces concernées par les dégénérescences est nécessaire dansGn. Cette solutiondiffère des travaux précédents [Nir03, Mor06, HMN05], où les auteurs proposent deperturberces facesen plus de les couper (voir §4.3.3).

Notre solution s’affranchit de cette perturbation pour deux raisons :

1. Le polytope minimal est défini dans le cas limite où les supports des faces se rencontrent sur lebord d’une des faces, ou les deux (cf. chapitre5).

2. Les opérations géométriques proposées dans ce chapitre sont définies indépendamment des coor-données et donc de toute normalisation. Cette indépendanceautorise la prise en compte correctedes dégénérescences géométriques, indépendamment de la représentation des données : les opéra-tions sont valides pour tout point deDn, quelque soient leurs représentations.

Par ces faits, les algorithmes décrits dans ce chapitre améliorent les méthodes précédentes en proposantun résultat exact de l’information de visibilité globale, dans tous les cas de figure.

Impact sur la généricité

Du point de vue de la généricité, une formulation algébriquea apporté la possibilité d’exprimer de ma-nière simple les opérations géométriques, indépendammentde la dimension des espacesGn etDn. C’estle cas notamment de la classification euclidienne des droites affines (§6.2.5) ou encore du calcul d’inter-section entre un polytope et un hyperplan (§6.2.3). L’intérêt est que la formulation exprime directementle calcul en toute dimension.

De manière plus générale, les expressions obtenues à partird’un cadre algébrique comme celui que nousutilisons, sont géométriquement interprétées et deviennent relativement intuitives. La mise à jour du

Page 180: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

168 Chapitre 6. Approches algorithmiques proposées

graphe (§6.2.3), ou les raisonnements permettant de déterminer la distance euclidienne entre une droiteet une variété en sont deux exemples. De cette façon, nous avons pu proposer des améliorations à la foissimples et générales à certains problèmes apparaissant dans les travaux précédents, comme la robustesse.

Classification des droites dans un espace affine

Dans le cas du calcul de visibilité globale dans un espace affine euclidien, la robustesse des calculsvis-à-vis des dégénérescences est appuyée par une plus grande robustesse numérique, apportée par uneclassification des droites conforme à leur géométrie dans cet espace (cf. §6.2.5). La classification desdroites proposée permet de rendre compte directement de la distance euclidienne entre une droite etles (n− 2)-variétés définissant le bord des occulteurs dansGn. Cette classification, contrairement à laclassification standard, utilisée notamment dans les méthodes précédentes, est robuste à la taille desscènes et à la position des droites par rapport à l’origine del’espace, sans qu’il soit nécessaire de changerla valeur d’un quelconqueepsilonen fonction de ces paramètres.

Par exemple, dans les travaux précédents où l’espace est considéré comme étant euclidien, la précisiondu résultat de la classification dépend de quatre paramètres: de la distance et du parallélisme entre lesdroites classifiées, de la distance de ces droites par rapport à l’origine dans l’espace, et de l’hyperplande projection dans l’espace des droitesP5. Ce dernier paramètre rend le résultat de la classification plusou moins sensible aux imprécisions selon si la droite est proche de l’infini (parallèle à l’hyperplan deprojection) ou proche de l’origine dansDn. Grâce à une meilleure classification des droites d’une partetà la projection sur une hypersphère d’autre part, la précision de notre nouvelle classification ne dépendplus que de la distance euclidienne entre les droites et les(n− 2)-variétés classificatrices, seul critèreréellement décisif. La classification ainsi définie est uniforme sur tout l’espaceGn.

Insertion des occulteurs et tests de rejets

Le paragraphe6.2.4propose un test de rejet améliorant le test proposé par Mora [Mor06], afin de discri-miner davantage de coupes inutiles de la visibilité. Comme pour le test de Mora, le nôtre s’appuie sur lerésultat du théorème5.4, page123. Toutefois, celui de Mora diffère du nôtre sur plusieurs points :– Il considère un seul polytope parmi les ensemblesMSO et MOC, en fonction d’une mesure d’angle

solide calculée depuis l’occulteur sur la source et la cible. Nous utilisons les deux ensembles dansnotre application.

– Il considère les faces source et cible originales. La réduction de ces faces par rapport aux autres esteffectivement une technique propre à notre approche.

– Il construit un seul ensemble de droitesMSO au lieu des deux ensemblesM→SO et M

←SO que nous

utilisons, dans les cas de dégénérescences entre l’occulteur et la source.Concernant les deux premiers points, le paragraphe6.2.4montre qu’utiliser les deux ensemblesMSO

et MOC, ainsi que la réduction des faces, résulte en un rejet plus précis, permettant ainsi d’éviter plusde coupes. Bien que l’utilisation des deux ensembles pour lerejet engendre, au pire, deux fois plus decalcul qu’un seul ensemble, les tests de rejet ont en réalitéun coût négligeable par rapport au coût de lacoupe d’un polytope par un hyperplan. Ainsi, il est préférable de perdre du temps dans ces tests de rejets,afin d’en gagner sur le nombre de coupes des polytopes. Rappelons en outre que le calcul de visibilitédéveloppé dans ce chapitre est destiné à des contextes hors ligne : les applications ne font donc intervenirque l’information de visibilité précalculée par notre algorithme. Plus cette information est compacte etplus son utilisation est rapide, justifiant ainsi l’intérêtd’un rejet plus efficace sur le nombre de coupes

Page 181: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.4. Discussions et évaluation de notre approche 169

évitées plutôt qu’un précalcul efficace sur les temps d’exécution.

Quant au troisième point, l’utilisation des deux ensemblesM→SO et M←SO permet de prendre en compte

de manière indépendante les deux orientations de l’occulteur. Au contraire, l’utilisation de l’ensembleMSO seul ne distingue pas ces différentes orientations, dans uncas de dégénérescence entre la sourceet l’occulteur. Si un tel cas apparaît dans la méthode de Mora, les deux orientations de l’occulteur sontsystématiquement utilisées pour tous les polytopes non rejetés, résultant ainsi en un surdécoupage de lavisibilité qu’évite notre technique.

Le paragraphe6.4.3présente les résultats des évaluations des différents rejets en pratique (celui de Ni-renstein seul, celui de Mora puis le nôtre).

Utilisation des silhouettes

Haumontet al. [HMN05] proposent également un calcul de la visibilité à partir d’une notion de sil-houettes. Leur calcul des arêtes silhouettes procède par propagation à partir d’un occulteur de départ.L’inconvénient principal de leur approche est qu’elle ne limite pas la coupe aux seules arêtes contenuesdans les silhouettes depuis les deux faces source et cible : la coupe fait intervenir beaucoup plus d’arêtesque celles où apparaissent les évènements visuels. Dès lors, le traitement de la silhouette de certainsobjets revient à retirer la majeure partie des occulteurs indépendamment les uns des autres.

Notre définition des silhouettes depuis deux faces permet derestreindre la coupe aux arêtes des sil-houettes depuis deux faces (aux coupes dues aux singularités près). Elle contient donc moins d’élémentset permet potentiellement de mieux réduire la coupe. Toutefois, notre définition des silhouettes requiertun traitement de singularités, particulièrement complexeet lourd en pratique (cf. §6.4.3), et dont Hau-montet al.peuvent s’affranchir. En ce sens, leur méthode est plus intéressante du point de vue de l’im-plantation de la méthode et du coût de l’exécution, mais l’est moins du point de vue de la réduction de lacoupe.

Mesure de l’occultation pour la détection des occulteurs «larges»

Dans le cas du traitement de la silhouette, déterminer les occulteurs prépondérants à partir d’une mesurede leur taille, comme il est fait habituellement dans le calcul classique sans silhouette, n’est pas adapté.Cela revient en effet à considérer une taille critique à partir de laquelle un occulteur n’est plus considérécomme prédominant, ce qui n’est pas prédictible en toute généralité. Une taille critique trop petite risqued’augmenter de manière importante le nombre d’occulteurs prédominants, sans que cela soit justifié. Aucontraire, une taille trop grande risque de négliger certains occulteurs pourtant avantageux.

Par exemple, l’occulteurO1 de la figure6.17 est le plus grand présent par sa taille, entre la sourceSet la cibleC. Pourtant, celui-ci n’occulte aucun objet par rapport à la source ou par rapport à la cible.ConsidérerO1 comme un occulteur prédominant ou considérer seulement sesarêtes comme silhouettesne changera pas le résultat, aussi bien au niveau du temps de calcul que du nombre de coupes de la visibi-lité. En revanche, l’occulteurO2, bien que plus petit queO1, occulte complètement un ensemble d’objetsdepuis la source. ConsidérerO2 comme prédominant permettra de ne pas traiter les objets occultés parcelui-ci. Ainsi, si seulement l’un des deux occulteursO1 ouO2 doit être traité en priorité, il est préférablede considérerO2.

Pour cette raison, notre méthode de détection des occulteurs prédominants, à partir d’une mesure de l’oc-cultation, est singulièrement plus efficace, dans le cas du traitement de la silhouette, qu’une heuristique

Page 182: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

170 Chapitre 6. Approches algorithmiques proposées

O1

O2

S

C

FIG. 6.17 – Du point de vue du traitement de la silhouette, l’occulteur O2, de taille moyenne, est plusprioritaire que l’occulteurO1 de grande taille. En effet, l’occulteurO1 n’occulte aucun autre occulteur,tandis queO2 occulte plusieurs petits occulteurs. Procéder à l’insertion deO2 dans l’arbre, prioritaire-ment à la silhouette, permet d’éviter le découpage par les silhouettes de ces objets.

sur les tailles relatives des occulteurs. Ceci est par ailleurs vérifié en pratique, dans les scènes utiliséesdans le paragraphe6.4.3.

6.4.2 Méthodes d’évaluation

Le paragraphe6.4.3présente les résultats expérimentaux sur lesquels sont fondés nos comparaisons. Ilscorrespondent au précalcul de la visibilité globale entre couples de polygones, dans des scènes tridimen-sionnelles constituées de soupes de polygones. En particulier, les faces peuvent se couper et nous n’avonspas l’information d’incidence entre les polygones : celle-ci est reconstruite à la volée pour la détectiondes arêtes silhouettes. Ce calcul consiste à déterminer la visibilité entre chaque couple de polygonessource/cible, où les sources sont des polygones émetteurs.

L’évaluation pratique de notre approche est fondée sur deuxcritères susceptibles d’améliorer significati-vement les résultats des méthodes précédentes. Ces critères concernent :– Les tests de rejet, décrit dans le paragraphe6.2.4– L’utilisation de la silhouette, décrite dans la section6.3Cinq scènes sont utilisées pour l’évaluation et les comparaisons de notre approche avec les précédentes.Les trois premières contiennent une source et une cible principale, placées en vis-à-vis. Un ou plusieursobjets polygonaux, de complexités visuelles croissantes,sont alors situés entre ces deux polygones prin-cipaux (figures6.18(a), 6.18(b)et 6.18(c)). Ces scènes permettent de juger du comportement précis desdifférents algorithmes sur des objets subdivisés. Les deuxscènes suivantes consistent en des scènes plusréalistes, comprenant plusieurs sources de lumière et des objets de complexités visuelles variables (fi-gures6.18(d)à6.18(h)). Elles permettent d’évaluer le comportement des différents algorithmes dans dessituations plus courantes.

Évaluer le rejet des polytopes dans l’arbre BSP

L’évaluation du test de rejet comprend une comparaison avecle test partiel de Nirenstein ainsi qu’unecomparaison avec le test complet proposé par Mora. Les comparaisons se font sur quatre mesures :

Page 183: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.4. Discussions et évaluation de notre approche 171

– Les temps de calcul de la visibilité.– La fragmentation de la visibilité, représentée par le nombre de feuillesvisiblesdans les arbres BSP.– La taille des arbres BSP, donnée par le nombre de nœuds internes. Elle procure une indication sur le

volume d’information nécessaire pour représenter la visibilité entre deux faces.– Le nombre de coupes de polytopes calculées. Il renseigne demanière précise sur les calculs réellement

effectués.Notons que les temps de calculs dépendent également des optimisations possibles des algorithmes. Enparticulier, l’écart entre les différences de temps de calculs de chaque méthode avec les différences dunombre de coupes donne une indication sur les temps passés à calculer les structures ou à faire des testssupplémentaires.

Évaluer l’utilisation des silhouettes

Les comparaisons pour la silhouette s’effectuent sur les mêmes critères que pour les tests de rejet,i.e. lestemps de calculs et les coupes des polytopes. Les scènes choisies contiennent volontairement des objetsmodérément subdivisés, offrant un intérêt a priori pour lessilhouettes, et des objets peu subdivisés, oùl’utilisation des silhouettes revient à couper la visibilité par une majorité des arêtes.

Notre traitement des silhouettes n’est pas comparé avec celui d’Haumont. Sa méthode n’a en effet pasété reproduite dans notre implantation, faute de temps. Nous proposons en revanche dans le paragraphesuivant, à partir des résultats que nous obtenons pour les autres méthodes, des conjectures sur ceux quenous obtiendrions avec la méthode d’Haumont. Nous supposons pour cela que le traitement proposé parHaumont est ajouté à notre approche sans silhouette,i.e. incluant notre technique de rejet améliorée20

(voir §6.2.4).

6.4.3 Résultats et comparaisons pratiques

Tous les résultats suivants ont été obtenus sous environnement Linux, avec un Athlon 64 à 2.8GHz et3Go de mémoire RAM. La figure6.18montre des captures d’écrans des scènes servant pour nos tests.Les résultats sont présentés, pour chaque scène, dans les tableaux6.1 à 6.5. À chaque ligne correspondune méthode de calcul différente. Chaque case du tableau contient, en haut le résultat brut sur l’ensemblede la scène, et en bas le facteur de différence par rapport auxdeux méthodes proposées dans ce chapitre,i.e. le rejet optimisé et le traitement de la silhouette (à gauche) et le rejet optimisé sans silhouette (àdroite).

La légende des tableaux donne, pour chaque scène, les nombres de sources lumineuses, de cibles etd’occulteurs. Les nombres des cibles et des occulteurs diffèrent en raison d’une opération de fusion desocculteurs. Ces fusions sont en pratique précalculées depuis l’ensemble des cibles, afin de réduire lesurdécoupage de la visibilité. Deux faces sont fusionnées si et seulement si elles sont coplanaires, ont aumoins une arête en commun et sont telles que leur fusion est unpolygone convexe.

La première scène,Trois crayons(tableau6.1), représente une faible complexité visuelle. Les crayonsplacés entre la source et la cible principale sont constitués en grande partie de faces longues et alignéesselon trois directions différentes. Cela explique pourquoi les résultats ne varient pas conséquemment

20L’algorithme proposé par Haumont n’inclut qu’un seul test de rejet, proposé initialement par Nirenstein (cf. §4.3.2). Enraison de cette différence, les comparaisons directes des deux techniques de traitement des silhouettes ne permettraient pas dedéterminer de manière exacte l’apport de l’algorithme de fusion des occulteurs proposé par Haumont. Pour cette raison,nousappuyons nos suppositions à partir du traitement de Haumont, adapté à notre technique de rejet.

Page 184: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

172 Chapitre 6. Approches algorithmiques proposées

(a) Trois crayons (b) Un crayon

(c) Sphère déformée (d) Salon

(e) Salon (f) Building

(g) Building (h) Building

FIG. 6.18 – Scènes de tests utilisées pour l’évaluation et la comparaison de notre méthode avec lesprécédentes les plus efficaces.

Page 185: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.4. Discussions et évaluation de notre approche 173

TAB . 6.1 –Trois crayons : 1 source, 1011 cibles, 400 occulteursMéth. Taille BSP Polytopes Coupes TempsAS∗ 1126 581 20986 12m34s

1.00 0.71 1.00 1.21 1.00 1.04 1.00 1.62RT∗ 1584 478 20066 7m43s

1.40 1.00 0.82 1.00 0.95 1.00 0.61 1.00RM∗ 1580 493 20515 7m38s

1.40 0.99 0.84 1.03 0.97 1.02 0.60 0.98RN∗ 1821 588 20974 7m19s

1.61 1.14 1.01 1.23 0.99 1.04 0.58 0.94

* AS : Avec silhouette RT : rejet total, optimisé RM : Rejet total de Mora [Mor06] RN : Rejet partiel de Nirenstein [Nir03]

d’une méthode à l’autre. Notons tout de même que la silhouette parvient à réduire le nombre de nœudsinternes dans les arbres. Ce critère est le plus important dans les applications du calcul de visibilité, oùl’objectif est d’extraire l’information contenue dans l’arbre le plus rapidement.

TAB . 6.2 –Un crayon : 1 source, 338 cibles, 133 occulteursMéth. Taille BSP Polytopes Coupes TempsAS∗ 796 450 3658 1h16m18s

1.00 0.43 1.00 0.58 1.00 0.31 1.00 18.91RT∗ 1810 769 11700 4m02s

2.27 1.00 1.70 1.00 3.19 1.00 0.05 1.00RM∗ 2308 1094 14394 4m35s

2.89 1.27 2.43 1.42 3.93 1.23 0.06 1.13RN∗ 6236 4337 32103 14m46s

7.83 3.44 9.63 5.63 8.77 2.74 0.19 3.66

* AS : Avec silhouette RT : rejet total, optimisé RM : Rejet total de Mora [Mor06] RN : Rejet partiel de Nirenstein [Nir03]

La scèneUn crayon(tableau6.2) présente une complexité visuelle modérée, mais plus importante quepour la scène précédente. Ceci s’explique par la présence dela mine du crayon dans l’enveloppe convexede la source et de la cible principale. Cette mine est constituée de plusieurs occulteurs contenant chacunplusieurs petites arêtes. On constate une très nette réduction de la coupe de la visibilité avec le rejetamélioré. Elle est encore plus réduite avec la silhouette. Toutefois, le point faible de la silhouette est letemps de calcul résultant du traitement des singularités.

La scène de laSphère déformée(tableau6.3), présente l’objet le plus subdivisé de nos exemples. Laméthode utilisant les silhouettes distance encore davantage les autres, réduisant notamment de plus de96% la coupe par rapport au rejet de Nirenstein et de plus de 90%, par rapport à celui de Mora. Cettefois-ci, le temps de calcul est lui aussi inférieur : les calculs nécessaires pour traiter les singularités sontrentabilisés par la forte réduction des coupes de la visibilité. Le rejet amélioré permet lui aussi de réduireconséquemment la coupe, comparé au rejet de Mora. La taille des arbres s’en trouve réduite de plus demoitié. Ceci illustre les limites du rejet de Mora, que notretechnique parvient à corriger.

Les deux dernières scènes contiennent à la fois des objets modérément subdivisés et d’autres peu sub-divisés. Sur les tableaux6.4 et 6.5, il apparaît clairement une explosion des temps de calculs pour lasilhouette. Toutefois, notons qu’elle permet de réduire lataille de l’information de visibilité, malgré un

Page 186: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

174 Chapitre 6. Approches algorithmiques proposées

TAB . 6.3 –Sphère déformée: 1 source, 322 cibles, 320 occulteursMéth. Taille BSP Polytopes Coupes TempsAS∗ 1701 783 7476 19m09s

1.00 0.40 1.00 0.58 1.00 0.16 1.00 1.21RT∗ 4160 1334 45117 15m45s

2.44 1.00 1.70 1.00 6.03 1.00 0.82 1.00RM∗ 11030 4717 84807 28m08s

6.48 2.65 6.02 3.53 11.34 1.87 1.46 1.78RN∗ 49697 27814 238662 2h49m54s

29.21 11.94 35.52 20.85 31.92 5.28 8.87 10.78

* AS : Avec silhouette RT : rejet total, optimisé RM : Rejet total de Mora [Mor06] RN : Rejet partiel de Nirenstein [Nir03]

TAB . 6.4 –Salon : 2 sources, 2938 cibles, 1226 occulteursMéth. Taille BSP Polytopes Coupes TempsAS∗ 13335 6494 89770 2h7m29s

1.00 0.69 1.00 0.95 1.00 1.73 1.00 4.86RT∗ 19089 6785 51882 26m13s

1.43 1.00 1.04 1.00 0.57 1.00 0.20 1.00RM∗ 20599 7477 55066 25m25s

1.54 1.07 1.15 1.10 0.61 1.06 0.19 0.96RN∗ 35137 15974 92295 49m59s

2.63 1.84 2.45 2.35 1.02 1.77 0.39 1.90

* AS : Avec silhouette RT : rejet total, optimisé RM : Rejet total de Mora [Mor06] RN : Rejet partiel de Nirenstein [Nir03]

TAB . 6.5 –Building : 15 sources, 18865 cibles, 10986 occulteursMéth. Taille BSP Polytopes Coupes TempsAS∗ 51147 26553 379865 49h43m19s

1.00 0.72 1.00 0.93 1.00 1.15 1.00 7.52RT∗ 70947 28265 329669 6h36m21s

1.38 1.00 1.06 1.00 0.86 1.00 0.13 1.00RM∗ 88127 36335 393813 6h43m17s

1.72 1.24 1.36 1.28 1.03 1.19 0.13 1.01RN∗ — — — —

* AS : Avec silhouette RT : rejet total, optimisé RM : Rejet total de Mora [Mor06] RN : Rejet partiel de Nirenstein [Nir03]

nombre de coupes en augmentation. Ceci provient des nombreuses singularités détectées comme problé-matiques, mais résultant en une coupe vide (un des polytopescoupés ne contient pas d’intersection avecla Grassmannienne). Le rejet sans silhouette permet lui aussi d’améliorer les calculs en réduisant la tailledes arbres. Enfin, notons qu’il n’a pas été possible de calculer la visibilité pour la scène duBuilding avecle rejet de Nirenstein, en raison d’une saturation de la mémoire.

Globalement, il apparaît que nos méthodes sont particulièrement avantageuses, spécialement la sil-houette, pour des objets subdivisés. Le rejet amélioré permet en outre de garder des temps de calculs

Page 187: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.5. Conclusion 175

raisonnables et généralement proches de ceux de Mora, mais meilleurs que ceux de Nirenstein. En re-vanche, le traitement important des singularités, pour la silhouette, réduit son intérêt pour les objetsfaiblement subdivisés pour lesquels les temps de calculs augmentent de manière importante.

Remarquons que la fusion des occulteurs a surtout profité à laméthode de Nirenstein. En effet, surla scène du crayon, les résultats sans fusion présentaient des temps de calculs et des tailles d’arbresupérieures de plus de 90% par rapport à notre méthode sans silhouette [CAF07]. Il apparaît donc unemeilleure stabilité de nos techniques relativement à la complexité des scènes. Cette plus grande stabilités’observe notamment sur l’ordre de traitement des occulteurs, où la méthode de Nirenstein peut donnerdes résultats forts différents selon l’ordre utilisé. La scène de laSphère déforméeen est un exempletypique : les faces de la sphère ayant sensiblement la même taille, ceux-ci sont insérés dans un ordrequelconque. Tandis que nos deux méthodes présentent des résultats cohérents par rapport aux autresscènes, la méthode de Nirenstein montre des faiblesses concernant la taille des arbres et le nombre decoupes.

Enfin, concernant la technique d’Haumont, utilisant une fusion des occulteurs pour se rapprocher dessilhouettes, nous pouvons supposer qu’elle permettrait d’améliorer les résultats de notre méthode sanssilhouette (en supposant qu’elle utilise les mêmes tests derejets). Mais en raison de la plus grandestabilité de notre méthode en fonction de l’ordre, de la forme et du nombre des occulteurs, il est probableque cette amélioration ne soit pas aussi significative que celle apportée initialement à la méthode deNirenstein (cf. [HMN05]). En ce qui concerne les comparaisons avec notre approche des silhouettes, ilne serait pas étonnant que la méthode de Haumont soit plus efficace concernant les temps de calculs.Ceci s’explique par le fait qu’elle n’intègre pas le traitement particulièrement coûteux des singularités,celles-ci ayant été mises en évidence seulement par nos travaux. Pourtant, les résultats montrent que cetraitement permet en pratique d’éviter un très grand nombrede coupes. Pour cette raison, nous pouvonssupposer que notre méthode resterait, en toute vraisemblance, la plus intéressante du point de vue de lacompacité de l’information calculée.

6.5 Conclusion

Résumé

Ce chapitre a proposé des solutions pratiques à différents problèmes apparaissant sans solution satis-faisante dans les méthodes précédentes du calcul de visibilité de polygone à polygone. Ces solutionsont été facilitées par l’utilisation d’une approche algébrique du calcul de visibilité, indépendante descoordonnées.

Nous avons montré dans le chapitre5 qu’une telle approche était essentielle pour trouver des résultats etdes concepts théoriques qui semblaient alors difficiles à définir ou à comprendre dans une approche pure-ment analytique. Nous prouvons dans ce chapitre que cette approche est aussi avantageuse pour trouverdes algorithmes efficaces, améliorant significativement les résultats précédents sur plusieurs niveaux.

Tout d’abord, nous avons défini des algorithmes robustes d’une part aux dégénérescences, grâce à unedéfinition cohérente du polytope initial et à une abstraction de la projection des vecteurs, d’autre partaux translations et rotations de la scène, avec une classification «euclidienne» des droites. Ensuite, nousavons proposé des algorithmes efficaces, permettant de réduire significativement la coupe de la visibilitépar des hyperplans dansDn. Un des avantages de ces deux premiers ensembles d’algorithmes est qu’ilssont simples à mettre en œuvre à partir d’une implantation del’algèbre de Grassmann. Enfin, nous avons

Page 188: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

176 Chapitre 6. Approches algorithmiques proposées

proposé une première caractérisation rigoureuse des silhouettes depuis un couple de faces, allant desa définition à la détermination des phénomènes consécutifsà cette définition. Cette caractérisation estaccompagnée de solutions algorithmiques pour traiter ces phénomènes. Ces contributions sont discutéesdans les sous-sections suivantes.

Amélioration de la robustesse

La première contribution notable est la définition des opérations géométriques en toute dimension etindépendamment des coordonnées. Cette abstraction d’un système de coordonnées est à l’origine de ladéfinition d’algorithmes robustes et valides en toutes dimensions, capables de prendre en compte les casdégénérés de manière exacte, sans recourir à des traitements de cas particuliers difficiles.

Réduction de la segmentation de la visibilité

Outre la robustesse des calculs, notre méthode propose des solutions réduisant la coupe de la visibilitéen affinant les techniques de rejet existantes. Comme l’ont montré les résultats, notre technique est plusstable vis-à-vis de la complexité des scènes. Cette stabilité est d’une part numérique : la réduction dunombre des calculs réduit par conséquent les erreurs numériques notamment sur les mises à jour dessquelettes, principale source d’erreurs. La stabilité concerne aussi la mémoire nécessaire pour représenterl’information de visibilité, permettant notamment de calculer la visibilité sur des scènes plus importantesen taille et visuellement plus complexes. Enfin, cette stabilité se ressent également sur l’extraction del’information de visibilité, qui est plus rapide, grâce a une information plus compacte.

Pourtant, les tests de rejet pourraient être encore améliorés. En effet, concernant le rejet proposé dans cemémoire, nous avons expliqué dans le paragraphe6.2.4que les polytopesMSO et MOC, utilisés pour lerejet, n’étaient pas optimaux puisqu’ils ne considéraientchacun que deux faces sur les trois concernées :la source, la cible et l’occulteur. Le polytope optimal est par conséquent le polytope minimal représentantles droites passant par la source, l’occulteur et la cible. Il n’existe actuellement aucune méthode simpleet rapide, pour déterminer les sommets du polytope minimal entre trois faces.

Une seconde optimisation des rejets serait d’intégrer le traitement des singularités, déjà utilisé pour lessilhouettes. En effet, ces singularités apparaissent en réalité systématiquement dans le calcul de visibilité.Si celles-ci ne sont pas problématiques pour la coupe, ellesle sont toujours pour le rejet, empêchant ainsid’éviter certaines coupes inutiles. Mais comme on a pu le voir avec les calculs utilisant les silhouettes,ce traitement est coûteux en temps et complexe à programmer.Pour ces deux raisons, cette solution nesemble pas être immédiatement envisageable.

Discussions sur la silhouette et les singularités

Concernant l’étude de la silhouette, son objectif est de déterminer une solution permettant de calculerla visibilité globale en la coupant par les seuls éléments intervenant dans la visibilité entre deux facesconvexes. Nous avons montré que cela n’était néanmoins pas directement possible, en raison de la pré-sence de singularités, empêchant une coupe consistante parles seules arêtes silhouettes. Notre approchede la silhouette apporte alors, à partir d’un traitement consistant de ces singularités, la seule méthode pou-vant théoriquement restreindre la coupe aux seuls élémentsde la scène où apparaissent les évènementsvisuels entre la source et la cible. Mais si les résultats montrent une réduction accrue de la fragmentationde la visibilité pour des objets subdivisés, le traitement efficace des singularités (minimisant les coupes

Page 189: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

6.5. Conclusion 177

supplémentaires par des éléments n’appartenant pas aux objets de la scène) nécessite toutefois des algo-rithmes complexes. Ceux-ci sont néanmoins nécessaires pour déterminer si une découpe est réellementutile, et rendent les temps d’exécution très importants.

Il est évidemment possible de définir d’autres traitements de la silhouette qui soient plus efficaces, enévitant le traitement des singularités. Le traitement proposé par Haumontet al. [HMN05] en est unexemple. Toutefois, ceux-ci nécessitent une définition différente des éléments de la silhouette, ne pouvantse limiter à la coupe par les seuls éléments ayant une réelle incidence sur la visibilité. Les résultats surla taille de l’information calculée ne seraient alors pas aussi significatifs, en raison de ces élémentssupplémentaires utilisés pour couper la visibilité, et desproblèmes de rejets non conformes apparaissantsystématiquement à cause des singularités.

Selon ces remarques, nous avons pensé à deux manières de réduire ce coût temporel tout en profitantde l’avantage de la réduction significative de la coupe. La première consiste à traiter individuellementla silhouette des objets de la scène, afin d’insérer les occulteurs régulièrement et ainsi supprimer unepartie de l’occultation, plutôt que d’effectuer ce traitement globalement, à la fin de la coupe. La secondereviendrait à combiner le calcul avec silhouettes et le calcul sans silhouette. Cela permettrait de choisir,selon les régions et les objets, un traitement avec silhouette si elles sont peu nombreuses relativement aunombre d’occulteurs, ou bien un traitement sans silhouette, lorsque son utilisation semble peu judicieuse.

Concernant la détection des occulteurs prédominants, bienque cette technique présente un intérêt in-déniable, elle possède également une limite : elle ne permetpas de prendre en compte l’occultation parplusieurs occulteurs à la fois. Il est cependant difficile deprendre en compte l’occultation conjuguée d’ungroupe d’occulteurs vus depuis deux polygones. Il n’existeactuellement aucune solution à ce problème.

Page 190: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

178 Chapitre 6. Approches algorithmiques proposées

Page 191: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Chapitre 7

Conclusion sur le calcul de visibilitéglobale

Dans cette partie, nous nous sommes intéressés au calcul de visibilité globale dans un espace projectif dedimensionn≥ 2. Ce travail a été initialement réalisé pour trouver des solutions aux problèmes existantsdans les travaux précédents sur le même sujet, rappelés dansla section7.1. La section7.2rappelle alorsles contributions apportées par notre approche algébrique. La section7.3 discute ensuite des intérêtsd’une telle approche. Enfin, nous évoquons dans la section7.4 quelques travaux faisant suite à ceuxprésentés dans ce mémoire et qui nous semblent intéressantsà la fois du point de vue théorique etpratique.

7.1 Motivations initiales

Les travaux précédents sur le calcul d’une représentation de la visibilité globale montrent certaines li-mites. On retrouve souvent parmi elles :– La robustesse : le calcul de visibilité globale fait apparaître des cas dégénérés, que ces méthodes

maîtrisent difficilement.– L’efficacité et l’effectivité des méthodes. Il s’agit également de critères auxquels toutes ne répondent

pas : la complexité du calcul, de la représentation et de l’exploitation de certaines structures, commele graphe d’aspect ou le complexe de visibilité, limite leurs utilisations pratiques.

– La définition de solutionsad hoc, notamment pour traiter les dégénérescences. Celle-ci estl’une deslimites les plus importantes des méthodes efficaces de calcul d’occultation dans l’espace des droites.Elles ne permettent notamment pas un traitement correct desdégénérescences, et proposent des solu-tions difficiles à généraliser ou à adapter selon le problème.

Nous avons souligné que ces limites sont en réalité une conséquence de l’utilisation d’une représentationanalytique, qui ne permet pas une bonne compréhension du problème. Ce manque de compréhensionconcerne principalement l’espace des droites et donc les calculs dans cet espace. Cela engendre alorségalement une mauvaise compréhension de certains phénomènes comme les différences inhérentes auchangement de dimension, ou les dégénérescences, bien comprises dans le plan, mais mal identifiéesdans l’espace tridimensionnel.

Suite à ces remarques, nous avons motivé l’intérêt d’une approche algébrique, qui soit :– Indépendante des coordonnées, pour formuler un calcul général et robuste de la visibilité globale.

179

Page 192: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

180 Chapitre 7. Conclusion sur le calcul de visibilité globale

– Capable d’unifier les méthodes existantes dans le plan et l’espace tridimensionnel puis de les généra-liser en toute dimension.

– Capable d’apporter une connaissance nouvelle, afin d’expliquer de manière précise les phénomènesauparavant mal compris, comme l’apparition des singularités et les propriétés des espaces de droites.

– Capable de faire usage des coordonnées, pour utiliser concrètement cette formulation et de calculerune information de visibilité.

7.2 Contributions

Les contributions proposées dans cette partie sont de deux sortes. Elles sont premièrement théoriques,avec la formulation d’un calcul de la visibilité globale cohérent et général, dans un espace projectif dedimensionn≥ 2. Elles sont secondement pratiques, avec la définition d’algorithmes permettant de rendrela théorie effective par un calcul robuste et efficace en temps et en mémoire.

Nous revenons ci-dessous plus en détail sur chacune de ces contributions.

Élaboration d’une théorie algébrique de la visibilité globale

Notre théorie repose sur l’interprétation des algèbres de Grassmann dans un espace projectif. Nous avonsrelevé deux avantages essentiels de ces algèbres : l’indépendance des coordonnées pour raisonner dansdes espaces abstraits et pour formuler des solutions générales ; la possibilité de calculer sur des objetsne pouvant pas être interprétés, nécessaire à la représentation de la visibilité. À partir d’une représen-tation d’un espace de droites dans ce formalisme, nous avonsdéterminé un ensemble de propriétés etd’opérations nécessaires au calcul de la visibilité globale. Cela comprend la définition d’une classifica-tion consistante des droites par rapport à certaines variétés linéaires, et enfin la caractérisation des droitespassant par des faces convexes.

À chaque étape, nous avons rappelé ou indiqué les équivalences entre notre formulation et les techniquesexistantes pour le plan et l’espace tridimensionnel, montrant ainsi qu’une seule et unique formulationpeut unifier complètement la visibilité globale dans ces deux espaces. Nous avons ensuite prouvé lavalidité de cette même formulation en toute dimension et indépendamment de la grassmannienne, cor-respondant à l’ensemble des éléments interprétables.

Ces démonstrations reposent sur des raisonnements purement algébriques. Elles permettent d’assurerla consistance du calcul et sa généralisation directe dans des espaces dont la dimension empêche toutraisonnement intuitif fondé sur l’observation.

Finalement, nous avons apporté la solution au problème ouvert du polytope minimal représentant lesdroites passant par deux faces convexes. Mentionné dès les travaux de Nirenstein sur la visibilité tri-dimensionnelle, ce problème était resté sans solution acceptable : celles proposées étaient ad hoc, nongénéralisables et invalides dans les cas dégénérés. Outre sa capacité à être utile en pratique, comme nousl’avons montré à différentes reprises dans le chapitre6, notre résultat a permis de caractériser de manièreprécise les cas de dégénérescences. La solution proposée est ainsi valide en toute dimension et dans tousles cas de figure.

Page 193: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

7.3. Intérêts de la méthode algébrique 181

Utilisation pratique de la théorie

Nous avons défini dans le chapitre6 un ensemble d’algorithmes permettant de mettre en pratiquecettethéorie dans le cadre du calcul de visibilité globale entre deux faces convexes. Ces algorithmes ont étépensés afin de permettre une évaluation à la fois robuste, homogène et exacte en toute dimension, du cal-cul décrit par la théorie. Ceux-ci sont en outre simples à mettre en œuvre, à partir d’une implantation del’algèbre

∧(Gn) : les algorithmes se résument essentiellement à des produits et sommes de multivecteurs

puis à des parcours classiques de graphes.

Grâce à un raisonnement géométrique et algébrique plus abstrait, nos algorithmes ont permis d’améliorerles précédentes approches sur plusieurs points. Il s’agit notamment de la détermination de solutionsexactes aux problèmes de robustesses, à la fois pour le calcul des polytopes et pour la classification desdroites. Il s’agit également d’une expression de l’information de visibilité plus compacte et donc plusrapide à exploiter.

Enfin, nous avons également décrit un traitement consistantdes silhouettes vues depuis deux facesconvexes. Notre approche a permis de mettre en avant des singularités pouvant être problématiques pourl’utilisation de ces silhouettes. Bien que les algorithmesproposés soient complexes et nécessitent descalculs lourds, ils sont capables de traiter efficacement ces singularités, en minimisant les découpes sup-plémentaires déduites. Ces algorithmes permettent donc deréduire considérablement la découpe de lavisibilité, afin d’obtenir une information compacte et rapide à exploiter.

7.3 Intérêts de la méthode algébrique

Le premier intérêt de notre approche est qu’elle a permis de définir une théorie générale, proposant uneunification des méthodes existantes du calcul de visibilitéglobale et leur généralisation en toute dimen-sion. Le cadre sur lequel elle repose apporte une approche plus synthétique de la représentation, unemeilleure connaissance des structures mathématiques utilisées, et par conséquent une meilleure connais-sance générale de l’espace des droites. Celles-ci ont notamment permis de mettre en évidence puis d’ex-pliquer les conséquences sur le calcul de visibilité, des différences liées au changement de dimension duproblème. L’utilisation d’un formalisme plus abstrait, plus synthétique que les coordonnées de Plücker,a simplifié la justification de cette théorie par des démonstrations mathématiques.

Le second intérêt est la possibilité d’appliquer cette théorie algébrique en pratique, à partir de la défini-tion d’un cadre analytique conforme à la formulation abstraite. Ce cadre, simple et rapide à définir entoute dimension, permet une évaluation robuste de divers problèmes de visibilité. En particulier, la re-présentation de la visibilité présentée dans le chapitre6, est capable de fournir rapidement et de manièreexacte des réponses aux trois problèmes suivants :

1. Deux points pris sur deux faces dansPn sont-ils visibles l’un de l’autre ?

2. Soit un point pris sur une face dePn, quelle est la portion visible d’une autre face depuis ce point ?

3. Étant donné une droite dePn, par quelles faces passe-t-elle ?

Pour la première requête, la solution consiste en un simple parcours d’arbre BSP représentant la visibilitéentre les deux faces sur lesquelles se trouvent les points. La droite passant par les deux points est calculéepuis insérée dans l’arbre par classification par rapport auxhyperplans contenus dans les nœuds internes.La réponse est positive si le parcours arrive dans une feuille visible, négative si la feuille représentel’occultation.

Page 194: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

182 Chapitre 7. Conclusion sur le calcul de visibilité globale

La deuxième requête a été utilisée dans nos travaux pour calculer des ombres douces dans un lancer derayons interactif. Cette requête a été proposée initialement par Mora [MA05] et est directement généra-lisable en toute dimension.

La troisième requête est immédiatement résolue à partir du théorème5.3page118. Il suffit de classer ladroite par rapport aux(n−2)-variétés supportant le bord des faces.

Mais, comme nous l’avons indiqué dans la discussion des résultats établis pour le chapitre5, notre ap-proche algébrique de la visibilité est une base théorique solide, qui peut être adaptée en fonction duproblème : les solutions algorithmiques que nous proposonssont un exemple d’application. Nous pen-sons que cette base est un outil théorique préliminaire à de nombreux travaux sur la visibilité globaleen dimension quelconque, et peut être utilisée pour étudieret appliquer la généralisation de structurescomme le complexe de visibilité.

7.4 Perspectives

Travaux théoriques

D’un point de vue théorique, nous avons déjà discuté de l’intérêt de pouvoir déterminer les intersectionsdes polytopes dans l’espace des droites avec la grassmannienne en toute dimension. Pour le moment, cecin’est possible qu’en dimension 2 et 3. En dimensionn > 3, ce calcul revient à un système d’équationspolynomiales à plusieurs variables. Il s’agit de la seule limite théorique à la généralisation du calcul devisibilité globale en toute dimension. Bien que ces intersections sont inutiles à l’expression du calcul dela visibilité, celles-ci peuvent l’être pour l’application du résultat.

Un autre problème, dont la résolution présente un intérêt, en calcul de radiosité notamment, est de définirune notion de mesure sur les ensembles de droites. Cela permettrait par exemple, à partir de l’expressionde la visibilité entre deux faces, de calculer leur facteur de forme de manière exacte.

Ces deux premiers problèmes nécessitent une meilleure connaissance de la grassmannienneGR(2,n+1)deDn. Notamment, pour le second problème et dans le casn = 3, nous savons que la grassmannienneGR(2,4) est localement isomorphe àR4. Une solution serait donc de définir une translation de l’ensembledes droites de visibilité entre deux polygones deD3 dansR4, puis de calculer le volume de l’ensemblereprésenté. Toutefois, il faut pouvoir s’assurer qu’une telle translation existe puis déterminer laquelle, cequi ne semble pas être un problème simple.

Applications

Les possibilités d’application de la théorie sont nombreuses, à la fois d’un point de vue fondamental etpratique.

Au cours de cette thèse, nous avons par exemple utilisé celle-ci dans le cadre de la visibilité entre pairesde faces, pour calculer des ombres douces dans un lancer de rayons interactif pour des scènes statiques.Les images de la figure6.18 sont d’ailleurs issues de ce logiciel. À la suite de cette application, nousnous sommes intéressés à son extension au calcul de visibilité pour prendre en compte des objets enmouvement dans une scène. Une méthode simple pour effectuercela consiste à déterminer la visibilitéde chaque objet dans leur boîte englobante, indépendammentde la scène. L’objet est ensuite inséré dansla scène avec son arbre de visibilité. Cette technique a pourl’instant été appliquée pour des objets très

Page 195: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

7.4. Perspectives 183

simples dans le lancer de rayon interactif. Néanmoins, cette méthode requiert pour le moment des calculsbeaucoup plus complexes et nécessite certaines améliorations.

Page 196: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

184 Chapitre 7. Conclusion sur le calcul de visibilité globale

Page 197: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Conclusion

185

Page 198: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 199: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

187

Parallèlement aux problèmes liés à la visualisation de grandes scènes, contenant plusieurs millions depolygones, ceux liés à la visibilité ont évolué vers d’autres directions tout aussi essentielles, où il devientnécessaire de caractériser une information de visibilité globale. Cela concerne notamment les calculsd’illumination globale, la simulation de propagation des ondes, et tout autre problème faisant apparaîtreune notion de droites passant par des polygones ou plus généralement des polytopes. Ces problèmes sontnotamment motivés par un besoin de réalisme : dans la vie courante, les sources de lumière ou de touteautre énergie ou ondes (ondes radio en télécommunication ouondes sonores en acoustique) proviennentgénéralement de sources surfaciques et non ponctuelles.

Jusqu’aux abords des années 2000, la caractérisation de la visibilité dans le plan était déjà exploitéeet bien comprise, mais la visibilité tridimensionnelle restait problématique. Les travaux précurseurs deTeller [Tel92], Pellegrini [Pel93] ou Durand [Dur99] ont certes permis une avancée indéniable vers unecompréhension et une représentation pratique de la visibilité tridimensionnelle, mais ces solutions sontsoit difficilement exploitables, soit spécifiques à un problème, et manquent généralement de robustessevis-à-vis des dégénérescences et également de la précisionnumérique. Ces solutions n’apportent pas,par ailleurs, de connaissance précise de l’espace des droites, constituant pourtant l’outil principal dans lareprésentation de la visibilité globale.

Les travaux de Mora [Mor06], faisant suite à ceux de Nirenstein [Nir03] puis Bittner [Bit02] sur le cal-cul d’occultation fondé sur la paramétrisation de Plücker,ont constitué la première méthode réellementefficace pour représenter cette visibilité. Toutefois, ceux-ci comportent toujours des problèmes de dégé-nérescence et surtout ne permettent pas une meilleure compréhension de l’espace des droites. Ce manquede compréhension s’avère particulièrement limitatif pourl’amélioration de ces techniques. En particulier,la question de leur généralisation, afin de définir des solutions aux problèmes exprimés en dimensionsquelconques, ne semble pas être envisageable.

Dans ce mémoire, nous avons souhaité apporter une meilleureconnaissance fondamentale de l’espace desdroites, afin d’améliorer ces méthodes en pratique puis de montrer que leur généralisation est possible,voire directe. Pour cela, une étude approfondie des algèbres géométriques, outil mathématique dont nousnous sommes servis pour formuler le calcul de visibilité globale, a été nécessaire. Pour cette raison,les travaux et les contributions présentés dans ce mémoire s’articulent autour de ces deux thématiques :il s’agit d’une part d’un travail d’étude et de synthèse des présentations des algèbres géométriques, etd’autre part de l’application de ces algèbres au calcul de visibilité globale.

Nous commençons cette conclusion par une synthèse des contributions exposées dans ce mémoire, puisrappelons nos perspectives sur ces deux thèmes.

Synthèse des contributions

Les contributions exposées dans ce mémoire se rapportent à :– la compréhension des algèbres géométriques, du point de vue de leurs définitions puis de leurs tech-

niques d’applications.– l’application de ces algèbres pour la définition d’une formulation algébrique de la visibilité, valide en

dimension quelconque.– l’élaboration d’algorithmes qui améliorent l’aspect pratique du calcul de visibilité entre paires de faces

convexes.

Page 200: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

188

Compréhension de la définition et des applications des algèbres géométriques

La première partie de ce mémoire s’est attachée à présenter les algèbres géométriques afin d’en permettrel’application à la géométrie. Cette présentation des algèbres possède plusieurs intérêts vis-à-vis des pré-sentations habituelles. Elle apporte une vue d’ensemble sur les différents aspects qui font de ces algèbresun outil utile en informatique graphique. Ceux-ci se rapportent à :– la définition des algèbres, où nous avons proposé une simplification des textes mathématiques sur le

sujet, mais sans en négliger les éléments essentiels.– la présentation des principes généraux, puis des spécificités des techniques usuelles, qui permettent

d’interpréter et de programmer les algèbres géométriques.Cette vue d’ensemble réunit les principes fondamentaux présents d’une part dans les présentations ma-thématiques et d’autre part dans les présentations plus pragmatiques et appliquées. Elle en propose alorsun regard différent, à la fois rigoureux et synthétique. Elle permet ainsi une meilleure compréhensiondes liens existant entre ces différents textes. Nous avons pu, par exemple, justifier les propriétés de cer-tains opérateurs, dont l’utilisation est délicate dans lesapproches pragmatiques, en raison du manque deconnaissance de leurs fondements. Nous avons en outre, à partir d’une définition plus précise, déterminéune interprétation algébrique cohérente de ces opérateurs.

Enfin, elle apporte un recul utile pour mieux aborder ces présentations, mathématiques ou pragmatiques,en proposant des démonstrations plus simples ou des réflexions que n’exposent pas les textes tradition-nels, notamment sur les spécificités des différents modèlesd’interprétations géométriques.

Formulation algébrique et compréhension de la visibilité globale

La seconde partie de ce mémoire s’est intéressée, en premierlieu, à la définition d’un cadre mathématiquesolide pour définir une formulation algébrique du calcul de visibilité. Cette formulation a pour objectifd’unifier les techniques existantes et de les généraliser entoute dimension, puis d’apporter une meilleurecompréhension du phénomène de visibilité et de sa représentation dans un espace de droites.

Théorie du calcul de visibilité en dimension quelconque

Nous avons défini, à partir des algèbres de Grassmann et de leur interprétation dans un espace projectif,un cadre mathématique propice au raisonnement et à la formulation d’opérations géométriques sur desensembles de droites : ceux-ci sont établis indépendammentde l’expression concrète du calcul sur lescoordonnées.

Nous avons alors défini, à partir de ce cadre algébrique, la première théorie pour calculer et représenter lavisibilité globale dans un espace projectif de dimensionn≥ 2. Elle permet en particulier d’unifier com-plètement les techniques existantes de calcul de visibilité globale dans le plan et dans l’espace tridimen-sionnel. Cette théorie est cohérente, générale et utilise en outre uniquement des expressions algébriquessimples : l’expression du calcul, reposant uniquement sur le produit extérieur, est directement valide entoute dimension.

Nous avons également établi la solution au problème ouvert du polytope minimal représentant les droitespassant par deux(n− 1)-faces convexes. Cette solution apporte actuellement l’unique possibilité, endimension supérieure à trois, de mener à bien les calculs de visibilité globale entre deux(n− 1)-facesconvexes, où une représentation complète d’un polytope entre ces deux(n−1)-faces est requise.

Page 201: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

189

Finalement, la consistance de cette théorie, c’est-à-direla validité de l’expression générale du calcul devisibilité et du résultat du polytope minimal, est prouvée mathématiquement. Ces démonstrations justi-fient spécialement certaines assertions ou certains résultats, parfois définis dans les travaux précédents àpartir de l’observation ou de l’intuition.

Compréhension de la visibilité et de l’espace des droites

Outre l’expression d’un calcul de visibilité globale en dimension quelconque, notre approche apporte unemeilleure conception de l’espace des droites : la connaissance de ses propriétés nous permet d’expliquerles conséquences des différences liées au changement de dimension, dues à la nature de la grassman-nienne. Nous sommes aussi capables de déterminer de manièreprécise l’apparition de dégénérescences,dans l’expression du calcul des droites passant par plusieurs faces convexes. Cette capacité à identifieret expliquer l’apparition des dégénérescences a permis de proposer des solutions spécifiques et adaptéespour caractériser la visibilité également dans ces cas.

Algorithmique du calcul de visibilité globale entre pairesde faces convexes

La partieII s’est intéressée, en second lieu, à la définition d’algorithmes pour appliquer la théorie dans lecadre du calcul de visibilité globale entre paires de faces.Ces algorithmes ont pour but de généraliser lestravaux de Mora [Mor06], Nirenstein [Nir03] et Haumont [HMN05] en toute dimension, mais égalementd’améliorer ces méthodes.

Améliorations des algorithmes précédents

Les améliorations des algorithmes précédents concernent deux points principaux : la robustesse et lacapacité à représenter une information compacte, plus rapide à exploiter et permettant de traiter desscènes plus importantes.

L’amélioration de la robustesse se manifeste à travers deuxpoints :– Un traitement exact des dégénérescences, faisant suite à la caractérisation théoriquement exacte de la

visibilité dans ces cas (cf.ci-dessus). Ce traitement est la conséquence d’une expression des opérationsgéométriques indépendamment de toute normalisation.

– Une classification homogène des droites euclidiennes, uniquement en fonction de la distance entre cesdroites et les(n−2)-variétés utilisées pour la classification.

Nous avons ensuite amélioré les algorithmes précédents parla définition de tests de rejets plus précis, per-mettant de discriminer davantage de découpes inutiles. Cette amélioration a deux avantages immédiats.Elle permet d’une part de retarder les effets néfastes des imprécisions numériques, grâce aux calculsmoins nombreux, et d’utiliser moins de ressources en mémoire. Une conséquence est la capacité à traiterdes scènes plus complexes, contenant plusieurs dizaines demilliers de polygones. Elle permet d’autrepart de calculer une information plus compacte et donc plus rapide à utiliser dans les applications. Cettedernière amélioration a permis d’utiliser l’information calculée dans un contexte de rendu d’ombresdouces en temps interactif.

L’ensemble de ces algorithmes et de ces améliorations est deplus défini en dimension quelconque, per-mettant ainsi de mettre en pratique un calcul de visibilité globale efficace dans des espaces de dimensionssupérieures à trois.

Page 202: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

190

Proposition d’un traitement cohérent des silhouettes

Nous avons aussi proposé le premier traitement exact des silhouettes entre deux faces, qui repose sur uncalcul faisant intervenir uniquement les éléments où apparaissent les évènements visuels. Le résultat estalors une information de visibilité beaucoup plus compactesur les objets subdivisés.

Bien que les algorithmes mis en œuvre soient coûteux et complexes, ils permettent de traiter de manièrecohérente et efficace les phénomènes singuliers mis en évidences par nos travaux, et qui résultent desvariations de la silhouette en fonction du point de vue et de la direction du regard.

Perspectives

En conclusion des deux parties de ce mémoire, nous avons mentionné différentes pistes de travaux faisantsuite à ceux qui y sont présentés. Nous revenons sur ceux-ci puis ouvrons sur d’autres perspectives plusgénérales.

Étude et applications des algèbres géométriques

Concernant l’étude des algèbres géométriques, nous avons indiqué qu’il restait un certain nombre d’opé-rateurs et de notions, généralement introduits uniquementà partir de propriétés, auxquels nous souhaite-rions fournir une définition mathématique. Ces définitions plus rigoureuses en donneraient une meilleurecompréhension, qu’il s’agisse de leurs propriétés ou de leurs interprétations. Ces opérateurs n’ont paspu être abordés dans ce mémoire, mais ces pistes d’études permettraient d’étendre plus largement leschamps d’application des algèbres géométriques.

Notamment, parallèlement aux travaux de cette thèse, nous avons commencé à collaborer à l’élabora-tion d’une bibliothèque générique de traitement d’images multicomposantes, à partir de calculs dans lesalgèbres de Clifford. Pour le moment, cette bibliothèque selimite à des filtres, mais pourra inclure àl’avenir des traitements à base de transformées de Fourrierou encore en ondelettes.

Nous avons également projeté de collaborer à l’utilisationdes algèbres géométriques dans le cadre d’uneétude sur la preuve géométrique automatique ou guidée, à l’aide des manipulations d’expressions algé-briques.

Étude de l’espace des droites pour la visibilité et applications

Les travaux sur le calcul de visibilité présentés dans ce mémoire offrent différentes pistes. Notamment,nous souhaitons étudier de manière plus approfondie les variétés de Grassmann dans l’espace des droites,afin d’en avoir une meilleure connaissance et ainsi trouver des solutions aux problèmes liés à ces varié-tés. Nous avons discuté notamment de l’intérêt de déterminer les intersections ou au moins l’existenced’intersection entre la grassmannienne et un polytope dansDn, constituant l’unique limite actuelle à lagénéralisation de certaines applications de la visibilitéglobale en toute dimension, comme le traitementdes silhouettes que nous avons proposé dans le chapitre6.

Une seconde piste, évoquée dans la conclusion de la partieII , est la détermination d’une mesure sur lesensembles de droites. Ce problème consiste, à partir d’un polytope donné dans un ensemble de droites,à déterminer quelvolumede droite celui-ci représente. Bien que cette étude semble très intéressante

Page 203: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

191

et présente des applications directes en illumination globale, pour le calcul de facteurs de forme enradiosité ou l’utilisation de méthodes de Monte-Carlo guidées, celle-ci nécessite également une meilleureconnaissance des grassmanniennes.

D’un point de vue plus applicatif, nous avons précisé nous être intéressés au rendu interactif d’ombresdouces pour des scènes statiques puis des scènes où il est possible de déplacer les objets. Sur le plus longterme, nous sommes également intéressés par la définition d’un calcul de visibilité globale hiérarchique,dans le but de pouvoir traiter des scènes plus complexes. Ce type de calcul serait notamment utile afind’améliorer les travaux de Mora sur l’application de la visibilité globale en simulation de propagationd’ondes en environnements extérieurs [Mor06]. Sa méthode est actuellement limitée sur la taille des villesprises en compte, en raison du nombre trop important de bâtiments à traiter. Une solution à ce problèmeserait de décomposer une ville en quartiers puis de calculerla visibilité dans chacun de ces quartiers, demanière indépendante. L’information de visibilité d’un quartier à un autre serait alors recomposée, afind’obtenir une information de visibilité globale, sur la ville complète.

En conclusion

Dans ce mémoire, nous avons commencé par présenter les algèbres géométriques sous un angle nou-veau, certes assez complexe de prime abord, mais pouvant s’avérer très utile en pratique. Les définitionsmathématiques des algèbres géométriques nous ont notamment beaucoup aidés à prendre du recul surles présentations des algèbres, reposant sur un ensemble depropriétés dont l’origine est volontairementmasquée. Elles nous ont permis de mieux comprendre le sens etles intérêts de ces algèbres. Nous espé-rons que cette présentation pourra être aussi utile à d’autres chercheurs ou étudiants, désireux d’avoir uneconnaissance plus approfondie que celle donnée dans les textes appliqués, mais sans pour autant avoir àrecourir à des textes mathématiques, généralement trop généraux pour l’utilisation que l’on souhaite enfaire.

Nous avons ensuite utilisé ces algèbres pour formuler une solution au calcul de visibilité globale, ennous appuyant sur la définition des coordonnées de Plücker, jusqu’ici utilisées pour ce même calcul dansl’espace tridimensionnel, à partir des coordonnées des multivecteurs décomposables. Ce travail donneune illustration des avantages et des moyens d’applicationdes algèbres géométriques, pour trouver denouveaux résultats à la fois plus généraux et plus robustes.Nous souhaitons, par cette illustration, avoirégalement montré que le calcul de visibilité globale, avec une approche adaptée, peut être résolu à partirde solutions simples et efficaces.

Enfin, plus généralement, une de nos exigences, dans ce mémoire, était de définir les structures et lesconcepts qui y sont utilisés, de manière rigoureuse, c’est-à-dire telles qu’elles sont présentées dans lestextes spécialisés. Il s’agit bien sûr de la définition des algèbres géométriques, comme nous l’avonsrappelé ci-dessus. Mais cela s’applique également aux concepts utiles au calcul de visibilité globale.Par exemple, nous avons tenu à éviter la confusion généralement faite entre l’espace projectif et l’es-pace arguésien. Elle est en effet souvent la source des problèmes pour calculer dans ce premier. Nousavons également voulu rappeler la représentation des coordonnées de Plücker à partir des algèbres deGrassmann, afin de montrer que ces dernières sont plus appropriées pour définir les raisonnements et lesdémonstrations, tandis que les premières sont utiles au calcul des termes algébriques. Ainsi, bien que larigueur de ce mémoire soit encore perfectible, elle vise à montrer qu’utiliser des définitions plus justesou mathématiques, a un intérêt indéniable sur les solutionsapportées à un problème apparaissant commecomplexe.

Page 204: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

192

Page 205: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Annexes

193

Page 206: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres
Page 207: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Annexe A

Rappels sur les structures algébriques

Cette annexe présente quelques rappels sur les structures algébriques de base, qu’il est utile de connaîtrepour la compréhension des définitions des algèbres géométriques, développées dans le chapitre1.

Nous supposons que le lecteur a déjà eu connaissance des propriétés de ces structures, nous nous conten-tons donc d’un rappel de leurs définitions. Pour une présentation plus détaillée de ces notions, il estpossible de se reporter entre autres aux ouvrages [BD72, CO68].

A.1 Définitions de base

Avant de définir les structures principales dont nous auronsbesoin, c’est-à-dire les espaces vectoriels,les algèbres et en particulier les algèbres quotientes, certaines notions classiques doivent d’abord êtreintroduites.

Groupe

Définition A.1 Un groupe(G,∗) est un ensemble G muni d’une loi de composition interne (applicationde G×G dans G) notée∗, vérifiant les axiomes suivants :

1. G n’est pas vide ;

2. la loi ∗ est associative ;

3. la loi ∗ possède un élément neutre e dans G, de sorte que e∗g = g∗e= g, pour tout g dans G ;

4. tout élément g de G possède un opposé−g pour la loi∗, autrement dit : g∗ −g = −g ∗ g = e.

Par exemple, l’ensemble(Z,+) des entiers relatifs, muni de l’addition des entiers, est ungroupe. Commel’addition est commutative, c’est un groupecommutatif.

En revanche, l’ensemble(Z,×) des entiers relatifs muni de la multiplication n’est pas un groupe. Toutentier ne possède pas un inverse pour la multiplication.

Anneau

Définition A.2 Un anneau(A,+, ·) est un ensemble A muni de deux lois internes+ et ·, telles que :

195

Page 208: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

196 Annexe A. Rappels sur les structures algébriques

1. (A,+) est un groupe commutatif ;

2. la loi «·» est associative ;

3. la loi «·» est distributive par rapport à la loi+, c’est-à-dire :

(a+b) · (c+d) = a·c+a·d+b·c+b·d, pour tout a, b, c et d dans A

.

Généralement, la loi de groupe+ est appelée addition et son élément neutre est noté 0, et la loi · estappelée multiplication.

Si la multiplication est commutative, l’anneau est ditcommutatif, et si l’anneau possède un élémentneutre pour la multiplication, l’anneau est ditunitaire.

Ainsi, l’ensemble des entiers naturelsZ, muni de l’addition et de la multiplication des entiers, possèdeune structure d’anneau commutatif unitaire.

Corps

Définition A.3 Un corps(K,+, ·) est un ensemble K muni de deux lois internes, vérifiant les propriétéssuivantes :

1. K est un groupe commutatif pour l’addition+ d’élément neutre0 ;

2. K−{0} est un groupe pour la loi·, appelée multiplication ;

3. la multiplication· est distributive par rapport à la loi+.

Cela signifie queK est unanneau commutatif unitaireoù chaque élémentk de K −{0} possède unsymétrique pour la multiplication, que l’on noterak−1. L’unité, élément neutre de la multiplication, seranotée 1K ou simplement 1 lorsqu’il n’y aura pas de confusion possible.

Les ensemblesR, Q et C, respectivement des réels, des nombres rationnels et des nombres complexessont des exemples de corps, touscommutatifs(la multiplication est commutative).

On appellecaractéristique, pour un corpsK, le nombre minimum qu’il est nécessaire d’ajouter l’unité 1deK à elle-même pour obtenir l’élément neutre 0 pour l’addition+. Si ce nombre n’existe pas, le corpsest de caractéristiques 0.

Par exemple, l’ensemble des réelsR est de caractéristique nulle tandis que l’ensembleZ/pZ des entiersmodulop, pour p premier, est un corps de caractéristiquep.

Dans ce mémoire, seul le cas des corps de caractéristique 0 est étudié. Entrent dans cette catégorie lescorps des réelsR, des rationnelsQ et des complexesC.

Relations et classes d’équivalence

Pour introduire la notion d’algèbre quotiente, quelques rappels sur les relations et les classes d’équiva-lences sont utiles.

Définition A.4 Une relation d’équivalenceR sur un ensemble E est une relation binaire vérifiant lespropriétés suivantes :

Page 209: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

A.2. Espaces vectoriels 197

1. Réflexivité: pour tout x de E, xRx ;

2. Symétrie: pour tout x et tout y de E, xRy⇔ yRx ;

3. Transitivité: pour tout triplet(x,y,z) de E3, xRy et yRz implique xRz.

Ceci permet de définir les classes d’équivalences pour une relationR sur un ensembleE.

Définition A.5 Soient un ensemble E et une relation d’équivalenceR sur E. À tout élément x de E,on peut associer une partie de E définie par Cl(x) = {y ∈ E|xRy}. Cet ensemble est appeléclassed’équivalencede x.

Nous avons alors la propriété suivante.

Propriété A.1 L’ensemble des classes d’équivalences d’un ensemble E, pour une relationR sur E,décrit une partition de E. C’est-à-dire que chaque classe d’équivalence est disjointe des autres et quel’union de toutes les classes d’équivalences donne l’ensemble E.

On a alors la définition suivante des ensembles quotients et des surjections canoniques sur les ensemblesquotients.

Définition A.6 Soient E un ensemble etR une classe d’équivalence sur E. L’ensemble de toutes lesclasses d’équivalence sur E, pour la relationR, est appeléensemble quotientde E parR, et est notéE/R.

Définition A.7 Pour tout ensemble quotient E/R de E par une relationR, on définit l’application sur-jective canoniqueρ : E→ E/R par :

ρ : x 7→Cl(x) pour tout x∈ E

A.2 Espaces vectoriels

Les notions d’espace vectoriel et de sous-espace d’un espace vectoriel sont nécessaires à la compréhen-sion des algèbres géométriques, mais aussi à l’élaborationde la théorie du calcul de visibilité présentée auchapitre5. Nous rappelons ici leurs définitions ainsi que quelques propriétés de bases sur ces structures.

Espace vectoriel

Définition A.8 Soit (K,+,∗) un corps commutatif d’unité1K . Un espace vectoriel sur le corps K estun ensemble E, muni d’une loi interne additive, noté+, et d’une loi externe de K×E dans E, notée·,vérifiant les propriétés suivantes :

1. E muni de l’addition+ est un groupe commutatif dont l’élément neutre est le vecteur ~0 ;

2. Pour tout couple(α ,β ) de K2 et tout élément x de E, nous avons :

α · (β ·x) = (α ∗β ) ·x1K ·x = x

Page 210: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

198 Annexe A. Rappels sur les structures algébriques

3. pour tout couple(α ,β ) de K2 et tout couple(x,y) de E2, nous avons :

(α+β ) ·x = α ·x+ β ·xα · (x+y) = α ·x+ α ·y

Les éléments deE sont appelés vecteurs et les éléments deK sont appelés scalaires.

Dans la définition ci-dessus, nous avons pris soin de bien différencier les lois du corpsK de celles del’espace vectorielE. Comme il ne peut y avoir d’ambiguïté entre les opérateurs, on utilise généralementla notation+ pour la loi interne additive, deE comme deK, et la juxtaposition des deux opérateurs pourla loi externe deE et la multiplication deK. Par exemple, les propriétés du troisième point s’écriventplus simplement :

(α + β )x = αx+ βx

α(x+y) = αx+ αy

Sous-espaces vectoriels

Définition A.9 Soient E un espace vectoriel sur un corps K et E′ une partie de E. E′ est un sous-espacevectoriel de E si les deux lois de E sont stables sur E′ et si E′, muni de la restriction de ces lois àlui-même, est un espace vectoriel.

La stabilité des lois signifie, pour tout couple(α ,β ) de K2 et tout couple(x,y) de E′2, que le vecteurαx+ βy appartient aussi àE′. En particulier, le vecteur nul~0 appartient à tout sous-espace vectoriel deE.

Sommes directes

Définition A.10 Soient E et F deux espaces vectoriels sur le corps K. On appelle somme de E et de Fl’espace vectoriel E+ F où tout vecteur x de E+ F est la somme d’un vecteur xE de E et d’un vecteurxF de F.

Si E∩F = {~0}, alors la somme est ditedirecte. On la note E⊕F.

A.2.1 Bases d’un espace vectoriel

Dans la suite, nous considérons un espace vectorielE sur un corpsK et A = (a1, . . . ,an) une famille devecteurs deE.

Combinaison linéaire

Définition A.11 Un vecteur x de E est unecombinaison linéairedes vecteurs de A s’il existe des scalairesα1, . . . ,αn tels que :

x = α1a1 + α2a2 + . . .+ αnan

En particulier, le vecteur~0 est combinaison linéaire de toute famille de vecteurs (lesscalairesαi sonttous nuls).

Page 211: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

A.2. Espaces vectoriels 199

Définition A.12 Un vecteur x estlinéairement indépendantdes vecteurs de la famille A si et seulementsi x n’est pas combinaison linéaire de ces vecteurs.

Familles génératrices et familles libres

Définition A.13 L’ensemble des combinaisons linéaires d’une famille de vecteurs A définit un sous-espace vectoriel E′ de E. On dit alors que A est unefamille génératricedu sous-espace E′.

Définition A.14 La famille A est ditefamille libresi et seulement si chaque vecteur de A est linéairementindépendant des autres vecteurs de la famille.

Bases

Définition A.15 Une famille A est une base de E si et seulement si A est à la fois une famille libre et unefamille génératrice de E. Le cardinal de la famille A correspond à la dimension de l’espace vectoriel E.

Les bases possèdent des propriétés essentielles :– Existence: Dans tout espace vectoriel et tout sous-espace vectoriel de dimension finie, il existe une

base.– Décomposition: Si A est une base deE, alors tout vecteur deE possède une décomposition unique en

combinaison linéaire des vecteurs deA.Ces deux propriétés sont essentielles. Elles apportent un moyen pratique pour représenter un vecteur deE par une suite de coefficients, correspondant aux scalaires de la combinaison linéaire dans une base. Ils’agit du meilleur moyen que l’on possède, en informatique,pour représenter des vecteurs et calculer surces vecteurs.

A.2.2 Applications linéaires et multilinéaires

Morphismes

Définition A.16 On appellemorphisme, une application entre deux ensembles E et F munis d’une mêmestructure algébrique, qui conserve cette structure.

Par exemple, siE est muni d’une loi interne∗ et F d’une loi correspondante·, alors pour tout couple(x,y) deE, un morphismeφ deE dansF vérifie :

φ(x∗y) = φ(x) ·φ(y)

Quelques morphismes particuliers :– isomorphisme: un morphisme bijectif, c’est-à-dire à la fois surjectif etinjectif ;– endomorphisme: un morphisme d’un ensembleE dans lui-même ;– automorphisme: un endomorphisme bijectif.Deux ensembles algébriques sont dits isomorphes si et seulement s’il existe un isomorphisme entre lesdeux ensembles.

En particulier, l’espace vectorielE est isomorphe à lui-même. On peut définir l’application identité IE deE, définie parIE(x) = x pour toutx deE. L’identité IE est un automorphisme deE.

Page 212: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

200 Annexe A. Rappels sur les structures algébriques

Applications linéaires

Définition A.17 Une application linéaireφ d’un espace vectoriel E sur K vers un espace vectoriel Fsur K est un morphisme d’espaces vectoriels. C’est-à-dire que φ vérifie les propriétés suivantes, pourtout couple(α ,β ) de K2 et tout couple(x,y) de E2 :

φ(αx+ βy) = αφ(x)+ βφ(y)

Formes linéaires et espace dual

Définition A.18 Une forme linéaire de l’espace vectoriel E sur le corps K est une application linéairede E dans K.

Soient(φ ,θ) un couple de formes linéaires,x un vecteur deE etα un scalaire deK. On définit l’additionde deux formes linéaires par :

(φ + θ)(x) = φ(x)+ θ(x)

et la multiplication d’une forme linéaire par un scalaire par :

(αφ)(x) = α(φ(x))

Définition A.19 L’ensemble des formes linéaires sur E, muni de l’addition etde la multiplication ex-terne sur les formes linéaires, détermine un espace vectoriel E∗ isomorphe à E, appelé espace dualde E.

Nous avons la propriété suivante.

Propriété A.2 Soitφ une forme linéaire non nulle dans le dual E∗ d’un espace vectoriel E de dimensionn. L’ensemble des vecteurs x de E tels queφ(x) = 0 détermine unhyperplanH= {x∈ E|φ(x) = 0}, i.e.un sous-espace vectoriel de dimension n−1, dans E.

Applications multilinéaires

Définition A.20 Soient E et F deux espaces vectoriels sur K. Une applicationΦ de En dans F est uneapplication n-linéaire si et seulement si elle est linéairesur chacun de ces n arguments.

Ainsi, pour toute famille(xi)i=1...n de vecteurs de E, tout vecteur y de E et tout scalaireα de K,φ vérifie :

φ(x1, . . . ,xi + αy, . . . ,xn) = φ(x1, . . . ,xi , . . . ,xn)+ αφ(x1, . . . ,xi−1,y,xi+1, . . . ,xn)

pour toute valeur de i dans l’intervalle[1;n].

A.2.3 Formes bilinéaires et formes quadratiques

Comme l’algèbre de Clifford est dépendante d’une forme quadratique, nous présentons quelques brefsrappels sur ces formes, leurs propriétés et les notions qu’elles impliquent.

Pour avoir une approche plus approfondie de ces notions, se reporter à [Deh81].

Page 213: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

A.2. Espaces vectoriels 201

Formes bilinéaires

Définition A.21 Soient E et F deux espaces vectoriels sur le corps K. Une formebilinéaire est uneapplication2-linéaire de E×F dans K, c’est-à-dire qu’elle est linéaire sur ces deux arguments.

Si E = F, alors on appellera forme bilinéaire symétrique toute forme bilinéaireφ telle que pour toutcouple(x,y) de E2 :

φ(x,y) = φ(y,x)

Nous avons la propriété suivante.

Propriété A.3 SoitB une forme bilinéaire de E×F dans un corps K. Soit x un vecteur de E. L’applica-tion δx : F → K définie, pour tout y de F, par :

δx(y) = B(x,y)

est une forme linéaire sur F.

Inversement, soit y un vecteur de F. L’applicationγy : E→ K définie, pour tout x de E, par :

γy(x) = B(x,y)

est une forme linéaire sur F.

Formes quadratiques

Définition A.22 Soit E un espace vectoriel sur le corps K. Une forme quadratique sur E est une appli-cationQ de E dans K qui possède les propriétés suivantes :

1. Q(αx) = α2Q(x), pour toutα dans K et tout x dans E ;

2. L’application B : (x,y) 7→ 12(Q(x+ y)−Q(x)−Q(y)) est une forme bilinéaire symétrique sur

E×E.

L’espace E, muni de la formeQ, est ditquadratique.

SiB est la forme bilinéaire obtenue depuisQ, alorsQ(x) =B(x,x) pour toutxdeE. Cette correspondanceentre les formes quadratiques et les formes bilinéaires symétriques est bijective, c’est-à-dire que touteforme bilinéaire symétriqueB surE est obtenue de manière unique à partir d’une forme quadratiqueQsurE et inversement.

Pour toute forme quadratique, nous définissons sa signaturede la manière suivante.

Définition A.23 SoitQ une forme quadratique sur un espace E de dimension n. On appelle signatureou indice d’inertiede la forme quadratiqueQ le couple(s, t) où s est la dimension maximale d’un sous-espace vectoriel de E sur lequelQ est définie strictement positive (Q(x) > 0 pour tout x non nul de cesous-espace) et t est la dimension maximale d’un sous-espace vectoriel de E sur lequelQ est définiestrictement négative.

Cette signature peut être facilement déterminée à partir duthéorèmeA.1 d’inertie de Sylvester (voirci-dessous).

Page 214: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

202 Annexe A. Rappels sur les structures algébriques

Orthogonalité

Définition A.24 Soient E un espace vectoriel muni d’une forme quadratiqueQ, x et y, deux vecteurs deE, etB la forme bilinéaire associée àQ. SiB(x,y) = 0 alors x et y sont dit orthogonaux.

Définition A.25 Soit E un espace vectoriel muni d’une forme quadratiqueQ. Soit x un vecteur de E. Levecteur x estisotroperelativement à la formeQ, s’il vérifie :

Q(x) = 0

Définition A.26 La forme quadratiqueQ est dite dégénérée s’il existe un vecteur x de E tel queB(x,y) =0, pour tout vecteur y de E. Autrement dit, le vecteur x est orthogonal à tout vecteur de E.

De manière immédiate, une forme quadratique est non dégénérée si et seulement sis+ t = n où (s, t) estla signature de la forme quadratique (voir définitionA.23) etn est la dimension deE.

Note : dans ce mémoire, seules les formes quadratiques non dégénérées sont étudiées.

Propriété A.4 Si E est de dimension finie n, alors il existe au moins une base(ei)i=1...n telle que lesvecteurs de la base sont orthogonaux deux à deux, c’est-à-dire :

B(ei,ej) = γi j ,γi j ∈ K

avecγi j = 0 pour tout i 6= j. Cette base est appelée base orthogonale de E.

Si de plus K= R et lesγii sont strictement positifs, pour tout i dans[1;n], alorsB est un produit scalaireet l’espace E est dit euclidien.

À partir d’une base orthogonale, il est possible de déterminer la signature d’une forme quadratique, àl’aide du théorème d’inertie suivant.

Théorème A.1 Soit(e1, . . . ,en) une base orthogonale de E, pour la forme quadratiqueQ. Nous avons,pour tout x= ∑n

i=1xiei dans E,Q(x) = ∑ni=1 xiεi, oùεi =Q(ei).

Si (s, t) est la signature deQ, alors s correspond au nombre de coefficientsεi strictement positifs tandisque t correspond au nombre de coefficientsεi strictement négatifs. Ces nombres sont les mêmes pourtoute base orthogonale de E.

À nouveau, la formeQ est dégénérée si et seulement s’il existe un coefficientεi nul.

Sous-espaces orthogonaux

Définition A.27 Soit E′ un sous-espace vectoriel de E de dimension finie. L’ensembledes vecteurs yde E tels queB(x,y) = 0 pour tout x de E′ est un sous-espace vectoriel E′⊥ de E, appelésous-espaceconjuguéde E′ ou encoresous-espace orthogonalde E′.

Propriété A.5 SiQ est non dégénérée, alors E′⊕E′⊥ = E.

Page 215: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

A.3. Algèbres 203

Groupe des isométries

Définition A.28 Soit E un espace vectoriel sur K de dimension finie n, muni d’une forme quadratiqueQ non dégénérée et de sa forme bilinéaire associéeB. Une application linéaireθ de E dans E est diteorthogonale (relativement àQ) si on a :

Q(θ(x)) =Q(x) pour tout vecteur x de E

L’ensemble des applications orthogonales deE, que l’on appelle généralement transformations ortho-gonales ou isométries, muni de la loi de combinaison des applications, est un groupe appelé groupeorthogonal ou groupe des isométries et est notéO(E).

Ce groupe contient notamment toutes les symétries deE21, dont nous rappelons la définition.

Définition A.29 Soit y un vecteur non isotrope de E. Le conjugué de y relativement à la formeB est unhyperplanH de E, c’est-à-dire un(n−1)-sous-espace vectoriel de E, où n est la dimension de E. Onappelle symétrie par rapport à H, l’isométrie sH de E définie par :

sH : x 7→ x−2B(x,y)Q(y)

y

Ce groupe contient aussi un sous-groupe appelégroupe spécial orthogonalet notéSO(E). Les élémentsdeSO(E) sont les rotations dansE.

A.3 Algèbres

Définition A.30 Soit K un corps commutatif. Une algèbre A est un espace vectoriel sur K, muni d’uneapplication bilinéaire de A×A dans A, appelée produit.

Autrement dit, une algèbre est un ensemble A muni d’une loi interne additive+, d’une deuxième loiinterne multiplicative∗ et d’une loi externe· de K×A dans A, qui vérifient :

1. (A,+, ·) est un espace vectoriel sur K ;

2. pour tout triplet(x,y,z) d’éléments de A,

x∗ (y+z) = x∗y+x∗z

(x+y)∗z = x∗z+y∗z

3. pour tout couple(α ,β ) de K2 et tout couple(x,y) de A2,

(αx)∗ (βy) = αβ (x∗y)

Si la deuxième loi interne∗ est associative, l’algèbre est dite associative, et(A,+,∗) est alors un anneau.S’il existe un élément neutre dansA pour la loi ∗, alors l’algèbreA est associative unitaire. L’unité del’algèbre est alors l’élément neutre de la loi∗.Définition A.31 Une algèbre Agénéréepar un ensemble G= {g1, . . .gn} signifie que tous les élémentsde A sont des combinaisons linéaires de produits de la forme gi1 ∗gi2 ∗ . . .∗gim, pour m quelconque.

21La terminologie utilisée ici est empruntés à [Che96]. Le terme «symétrie» se réfère donc toujours à une symétriepar rapportà un hyperplan vectoriel deE, dont le conjugué contient des vecteurs non isotropes (relativement àQ). Celui-ci est souventremplacé par le terme «réflexion» dans la littérature.

Page 216: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

204 Annexe A. Rappels sur les structures algébriques

A.3.1 Quotients d’algèbres

Les définitions qui suivent sont limitées aux algèbres associatives.

Idéal

La notion d’idéal d’une algèbre associative est un cas particulier d’idéal sur un anneau, dont nous neparlerons pas ici. Toutefois, pour aider la compréhension de cette notion, nous donnerons un exempled’idéal sur un anneau, car l’extension aux algèbres associatives est immédiate.

Définition A.32 Soit (A,+,∗, ·) une algèbre associative. Une partie I de A est unidéal à gauche(resp.à droite) de A si I est un sous-espace vectoriel de(A,+, ·) et si, pour tout i de I et tout a de A, le produita∗ i (resp. i∗a) est un élément de I.

L’idéal I est ditbilatèresi c’est un idéal à gauche et à droite.

Un exemple classique d’idéal bilatère est l’ensemblenZ des entiers divisibles parn. C’est un idéal surl’anneauZ. On remarque alors que la multiplication d’un multiple den par un élément deZ est égalementun multiple den, i.e. un élément denZ.

Définition A.33 Soit (ai)i=1...n une famille d’éléments de l’algèbre A. L’ensemble des combinaisonslinéaires des éléments de la forme x∗ai (resp. ai ∗x), pour tout x de A et tout i dans[1;n], est un idéal àgauche (resp. à droite) de A. On dit que l’idéal estgénérépar la famille(ai)i=1...n.

Par exemple,nZ est l’idéal généré parn dansZ.

Algèbres quotientes

Définition A.34 À tout idéal I sur une algèbre(A,+,∗, ·), il est possible d’associer une relation d’équi-valenceRI , définie par xRI y≡ x−y∈ I, compatible avec la structure de A.

Dire queRI est compatible avec la structure de A signifie que, si l’on prend l’ensemble quotient A/RI

(aussi noté A/I), il est possible de définir une algèbre sur A/I telle que l’injection canoniqueρ : A→A/Iest un morphisme d’algèbre.

Autrement dit, on a, pour tout couple(x,y) de A2 et tout scalaireα :– ρ(x+y) = ρ(x)+ρ(y)– ρ(x∗y) = ρ(x)∗ρ(y)– ρ(α ·x) = α ·ρ(x)L’algèbre(A/I , ∗, ·) est appeléealgèbre quotientede l’algèbre A.

Remarque : Tout élémenti de I vérifie i−0∈ I . On en déduit queρ(i) = 0∈ A/I , pour touti de I .

Nous avons les mêmes propriétés sur les quotients de module.Par exemple, soitpZ, l’idéal bilatère desentiers relatifs divisibles parp dansZ. Le module quotientZ/pZ est l’ensemble des nombres modulop. Cet ensemble possède exactementp classes d’équivalences, de 0 àp−1. Tout nombre de l’idéalpZ,divisible parp, est congruent à 0, modulop.

Propriété A.6 Soit l’algèbre A, générée par un ensemble d’éléments G= {g1, . . .gn}. Pour tout idéalbilatère I de A, l’algèbre quotiente A/I est générée par les élémentsρ(G) = {ρ(g1), . . .ρ(gn)}.

Page 217: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Annexe B

Géométries, espaces affines et espacesprojectifs

Dans cette annexe, nous présentons une introduction aux espaces affines et aux espaces projectifs, dansla limite des connaissances requises pour la compréhensionde ce mémoire. Les définitions et propriétéssont données sans démonstration. Celles-ci peuvent être retrouvées dans [Cas65, CRC65]. En dernierlieu, nous nous intéressons à la notion d’orientation en géométrie, fondamentale notamment pour lecalcul de visibilité exposé dans ce mémoire. Nous prenons soin en particulier, de mettre en évidence lasignification mathématique de la notion d’orientation.

Les notions d’espaces affine et projectif utilisent celle d’espace vectoriel. Cette dernière est présentéedans l’annexeA.2.

B.1 Espaces affines

B.1.1 Définitions, propriétés

Définition B.1 Un espace affine réel de dimension n est la donnée d’un espace vectoriel réel ~An dedimension n, appelé espace directeur, et d’un ensemble non videAn, dont les éléments sont les points.À tout couple de points(A,B) deAn, correspond un unique vecteur de~An, noté

−→AB, et satisfaisant les

propriétés suivantes :

Prop. 1−→AB=−−→BA, pour tous A,B deAn.

Prop. 2 O étant un point quelconque deAn et~V, un vecteur de E, il existe un point A et un seul deAn

tel que−→OA=~V.

Prop. 3 Quels que soient les points A,B,C deAn,

−→AB+

−→BC=

−→AC (relation de Chasles).

La propriété2 de cette définition permet de définir la loi externe suivante.

205

Page 218: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

206 Annexe B. Géométries, espaces affines et espaces projectifs

b~e3

~e2

~e1

M : (λ1,λ2,λ3)

λ2~e2

λ1~e1

λ3~e3

FIG. B.1 – Définition d’un repère(O,~e1,~e2,~e3) dansA3 et d’un pointM, de coordonnées cartésiennes(λ1,λ2,λ3) dans le repère.

Définition B.2 Soient P,Q deux points deAn et~V un vecteur de~An tel que−→PQ=~V. Nous définissons la

loi externe «+» deAn× ~An dansAn par :

P+~V = Q

Par abus de notation, l’application deAn×An dans ~An, définissant l’espace affine, est souvent notée«−», de sorte que :

B−A=−→AB

Enfin, les propriétés1 et2 de la définition permettent de montrer la propriété suivante[CRC65].

Propriété B.1 Si~0 est l’élément neutre pour l’addition dans~An (le vecteur nul), alors pour tout A,B deAn,−→AB=~0⇔ A = B.

L’ensemble de ces propriétés suffit généralement à utiliserles espaces affines en géométrie.

B.1.2 Repère cartésien, coordonnées cartésiennes

Par définition, siO est un point deAn, alors pour tout pointM deAn,−−→OM est un vecteur de~An.

À partir de la propriété2, on déduit qu’il existe une bijection entre les points deAn et les vecteurs de~An,complètement définie par la donnée du pointO. On a alors la propriété suivante.

Propriété B.2 Soit O un point quelconque deAn et (~e1, . . . ,~en) une base de~An. L’égalité :

−−→OM = λ1~e1 + · · ·+ λn~en

définit tout point deAn, lesλi, i = 1. . .n prenant toute valeur dansR.

Cette propriété mène aux définitions suivantes du repère cartésien et des coordonnées cartésiennes (voirégalement figureB.1).

Définition B.3 La donnée(O,~e1, . . . ,~en), d’un point O deAn et d’une base(~e1, . . . ,~en) de ~An, est appe-léerepère cartésiendeAn. Le point O est appelé origine du repère cartésien.

Page 219: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.1. Espaces affines 207

Définition B.4 Soit (O,~e1, . . . ,~en) un repère cartésien deAn. À tout point M deAn correspond, demanière bijective, un n-uplet(λ1, . . . ,λn) deRn, tel que

−−→OM = λ1~e1 + · · ·+ λn~en. Le n-uplet(λ1, . . . ,λn)

est appelécoordonnées cartésiennesdu point M.

B.1.3 Variétés linéaires affines

Définition B.5 Soit l’espace affineAn, d’espace directeur~An. Soit ~Ak, un sous-espace vectoriel de~An.L’ensembleAk des points deAn, déduit à partir d’un point O quelconque deAn et des vecteurs de~Ak,est un sous-espace affine deAn. Ce sous-espace affine est appelévariété linéaire de dimensionk, passantparO et de direction~Ak.

b

b

P1

P2

~d

{P2 +λ ~d,λ ∈R}

FIG. B.2 – Un pointP1 deA2 est une 0-variété linéaire : il est complètement représentépar la donnédu point seulement. Une droite deA2 est une 1-variété linéaire : elle est complètement caractérisée parun pointP2 et par un vecteur~d de ~An, indiquant la direction de la droite. Le pointP2 et la direction~dpermettent de déterminer tous les pointsP2+ λ ~d,λ ∈R appartenant à la droite.

Par exemple, un point est une variété linéaire de dimension 0, tandis qu’une droite deAn est une variétélinéaire de dimension 1, donnée par un point deAn et un vecteur, ou direction, de~An (voir figureB.2).Une variété linéaire est donc complètement déterminée par la donnée d’un point deAn et d’une direction,i.e.un sous-espace vectoriel de~An. À partir de ce point et de cette direction, il est possible dedéterminertous les points de la variété linéaire. Si de plus l’espace vectoriel est donné par une base de celui-ci dans~An, alors cela revient à définir un repère cartésien dans le sous-espace affine correspondant à la variétélinéaire.

Une variété linéaire peut également être caractérisée par un ensemble de points deAn. Pour cela, onintroduit la notion de dépendance affine.

Définition B.6 Soient(A1, . . . ,Ak) k points deAn, k > 1. Les points Ai, i = 1. . .k sont dits affinement

indépendants si et seulement si la famille(−−→A1A2,

−−→A1A3, . . . ,

−−→A1Ak) est une famille libre de~An.

Définition B.7 Soient(A1, . . . ,Ak) k points affinement indépendant deAn. Les points Ai, i = 1. . .k ca-ractérisent une unique(k−1)-variété linéaireAk−1 deAn. Il s’agit de la variété passant par A1 et dedirection(

−−→A1A2,

−−→A1A3, . . . ,

−−→A1Ak) dans ~An.

Par exemple, une droite peut être définie alternativement par deux points deAn ou bien par un point etune direction dans~An.

Page 220: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

208 Annexe B. Géométries, espaces affines et espaces projectifs

Enfin, le parallélisme de deux variétés linéaires est défini de la manière suivante.

Définition B.8 Deux variétés linéairesAk et Ak′ sont dites parallèles si et seulement si l’espace di-recteur de l’une est un sous-espace vectoriel de l’espace directeur de l’autre variété. En particulier, si

k = k′, alors ~Ak = ~Ak′.

B.1.4 Géométrie euclidienne, espace euclidien

L’espace affine est une structure abstraite permettant de décrire des objets par des ensembles de points.Toutefois, les concepts fondamentaux de distances et d’angles lui sont étrangers.

Le modèle algébrique de géométrie euclidienne consiste en la donnée d’un espace affineAn et d’unespace directeur~An euclidien, c’est-à-dire muni d’un produit scalaire (voir annexeA.2.3).

L’introduction du produit scalaire permet de retrouver, à partir de l’espace directeur~An, la notion de

distance. Par exemple, la distance entre deux pointsA etB dansAn peut être définie par le réel√−→

AB·−→AB,où «·» est le produit scalaire de~An. L’espace affine euclidien est l’espace géométrique utilisé pour l’étudede la géométrie euclidienne. Le groupe principal de cette géométrie est le groupe des similitudes.

B.2 Géométrie projective, espaces projectifs

Les espaces projectifs sont souvent utilisés en géométrie,pour définir la notion de points à l’infini. Nousles utilisons également dans ce mémoire pour définir une caractérisation algébrique de la visibilité. Nousen rappelons les concepts principaux.

B.2.1 Définition algébrique

Soit Rn+1, l’espace vectoriel réel de dimensionn+ 1. D’après la définitionA.12, annexeA.2, deuxvecteurs~x et~x′ sont linéairement dépendants oucolinéairessi et seulement s’il existe deux scalairesα etα ′ non tous nuls, tels queα~x+ α ′~x′ =~0.

SoientRn+1∗ = Rn+1 \ {~0} et R∗ = R \ {~0}. Les vecteurs~x et ~x′ sont dit colinéaires dansRn+1

∗ si etseulement s’il existe un scalaireλ deR∗ tel que :

~x = λ~x′

La relation∼, définie surRn+1∗ par :

~x∼~x′⇔∃λ ∈R∗,~x = λ~x′

est une relation d’équivalence appeléerelation de colinéarité(voir définition A.4, page196, pour lesrelations d’équivalences).

Cette relation mène à la définition suivante de l’espace projectif.

Définition B.9 On appelle espace projectif réel22 Pn, de dimension n, le quotientRn+1∗ / ∼ de l’espace

Rn+1∗ par la relation de colinéarité.

22Nous n’utilisons dans ce mémoire que des espaces projectifsréels de dimensions finies,i.e. obtenus par quotient d’unespace vectoriel surR de dimension finie. En l’absence d’ambiguïté, nous parlerons simplement d’espace projectif.

Page 221: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.2. Géométrie projective, espaces projectifs 209

Les éléments dePn sont appeléspoints projectifsou simplement points. Tout point dePn corresponddonc une classe d’équivalence deRn+1

∗ , pour la relation∼. Cette classe d’équivalence est un sous-espacevectoriel de dimension 1 privé du vecteur~0 dansRn+1.

Ainsi, en ajoutant le vecteur~0 à chacune de ces classes d’équivalences, l’espace projectif Pn est l’espacedes 1-sous-espaces vectoriels deRn+1.

Comme tout vecteur~x 6=~0 deRn+1, détermine de manière unique le 1-sous-espace vectoriel qu’il génère,il suffit à représenter une classe d’équivalence. Il s’agit d’un des représentants de la classe d’équivalencequi regroupe tous les vecteurs qui lui sont équivalents. Ainsi, tout vecteur~x deRn+1

∗ détermine un uniquepoint x dePn. Le vecteur~x est appeléreprésentant homogènedu pointx. Ainsi, représenter les points dePn peut se faire en représentant les vecteurs deRn+1

∗ , pris à un facteur multiplicatif près.

B.2.2 Système de coordonnées homogènes

Définition B.10 Soit(e0,e1, . . . ,en) une base deRn+1. On appellecoordonnées homogènesd’un point PdePn, relativement à la base(ei)i=0...n, les coordonnées d’un représentant homogène quelconque p6=~0de P, dans la base(ei)i=0...n.

Points à l’infini et espaces arguésiens

Les coordonnées homogènes sont aussi introduites, indépendamment des espaces projectifs, pour lesespaces affines euclidiens [Cas65]. Elles permettent une représentation analytique desespaces argué-siens(de Desargues). Cette notion définit un lien entre l’espace projectif et l’espace affine euclidien, enajoutant à ce dernier la notion d’infini.

En effet, l’espace euclidien ignore la notion d’infini : ellen’y est pas modélisée. Tout pointA deAn est

à une distance finie√−→

OA·−→OA d’une origine quelconqueO dansAn. Pour introduire la notion d’infinidans les espaces affines, nous définissons les espaces arguésiens.

Définition B.11 SoitAn un espace affine euclidien. L’espace arguésienest la fermeture de l’espace affineAn par l’adjonction depoints à l’infini à toute suite de points dont la distance à l’origine augmenteindéfiniment.

Analytiquement, considérons un repère cartésien(O,e1, . . . ,en) deAn. Soit un pointA deAn, de coor-données(a1, . . . ,an) dans le repère. Posons :

a1 =a′1a0

; · · · an =a′na0

Les nombres(a0,a′1, . . . ,a′n) sont pris à un facteur près. Ils représentent, poura0 6= 0, les coordonnées

homogènes du pointA.

Ainsi, l’espace arguésien coïncide avec l’espace affineAn, pour tout point tel quea0 6= 0. Sia0 = 0, lespoints ne coïncident plus avec des points deAn. Il s’agit alors des points à l’infini.

Le principe est le même pour l’espace projectif (voir figureB.3). On considère une direction arbitrairedansRn+1, par exemple celle du vecteure0 dans la base(e0,e1, . . . ,en) précédente. Il est alors possible dedéfinir une bijection de l’espace arguésien deAn dansPn (voir définitionB.10). Pour cela, on considère

Page 222: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

210 Annexe B. Géométries, espaces affines et espaces projectifs

O

P1

P2

P∞

e0

e1

e2

e0 = 1≃A2

b

b

FIG. B.3 – Plan projectifP2. En introduisant un système de coordonnées (ici la base(e0,e1,e2) ortho-normée dansR3), le modèle projectif est analogue au système de coordonnées homogènes des espacesarguésiens. Les vecteurs du plan directeur, généré par(~e1,~e2), sont des directions dansA2, ou encore despoints à l’infini, comme le pointP∞. Les vecteurs ayant une composante dans la direction supplémentairegénérée pare0 sont alors interprétés comme des points usuels deAn (les pointsP1 etP2). Plus la distanced’un point deA2 à l’origine O est grande et plus le vecteur homogène se rapproche du plan vectorielgénéré pare1 ete2, i.e. de l’ensemble des points à l’infini.

les coordonnées des vecteurs deRn+1 dans la base(e0,e1, . . . ,en) comme les coordonnées homogènes(a0,a1, . . . ,an) d’un point de l’espace arguésien. Un point projectif correspond alors à un point à l’infinisi la coordonnée ene0 est nulle et correspond à un point affine sinon.

Pour schématiser, on considère dans la figureB.3, l’espaceAn comme l’ensemble des vecteur deRn+1

«pointant» sur l’hyperplane0 = 1, et l’ensemble des points à l’infini comme les vecteurs deRn+1 confon-dus avec l’hyperplane0 = 0.

Notons que le sous-espace de base(e1, . . . ,en) deRn+1 est isomorphe à l’espace directeur~An (car ils ontmêmes dimensions). Pour cette raison, ce sous-espace deRn+1, est souvent appeléespace des directions.Il correspond aussi, selon ce qui précède, à l’hyperplan despoints à l’infini dansPn.

B.2.3 Variétés linéaires projectives

Définition B.12 Soit Pn un espace projectif de dimension n, obtenu par les1-sous-espaces deRn+1.SoitP′ une partie non vide dePn. L’ensembleP′ est un sous-espace projectif dePn, aussi appelévariétélinéaire projectivedePn, si et seulement si l’ensembleR′ des vecteurs homogènes représentant tous lespoints deP′ est un sous-espace vectoriel deRn+1.

Si R′ est de dimension k, alors la variétéP′ est de dimension k−1.

La définitionB.12nous mène naturellement à la notion de points projectifs indépendants.

Définition B.13 SoientPn, l’espace projectif réel de dimension n et P1, . . . ,Pk, k points projectifs dansPn. Les points P1, . . . ,Pk sontprojectivement indépendantssi et seulement si leurs représentants homo-gènes p1, . . . , pk sont linéairement indépendants.

Suit alors la propriété suivante.

Page 223: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.3. L’orientation en géométrie 211

Propriété B.3 Par k points projectifs indépendants dansPn passe une et une seul k-variété linéaireprojective. Il s’agit de la variété générée par le sous-espace deRn+1 dont les représentants homogènesdes k points forment une base. On dit alors que les k pointsgénèrentla variété.

B.3 L’orientation en géométrie

La notion d’«orientation» est assez classique en géométrie. Par exemple, on parle souvent de droitesou de plans orientés. Dans cette section, nous nous intéressons à la notion usuelle d’hyperplan orienté,utilisée en géométrie affine pour classifier les points selonde quel côté de l’hyperplan ils se trouvent. Unenotion analogue est effectivement utilisée dans le chapitre 5 pour orienter les variété linéaires projectiveset ainsi pouvoir classifier les droites de l’espace projectif à la manière des points et des hyperplans.

Bien que la notion d’hyperplan orienté est classique en géométrie23, sa signification géométrique ou ma-thématique est souvent ignorée ou difficile à concevoir. Le but de cette section est précisément de fournirune définition cohérente et générale à cette notion, ceci afind’en permettre une extension rigoureuseaux variétés linéaires quelconques de l’espace projectif réel (cf. §5.1.2). Pour cela, nous nous appuyonssur deux études de l’orientation en géométrie. La première est une étude de l’orientation en géométrieabstraite, proposée par Élie Cartan dans [Car41]. La seconde, proposée par Stolfi [Sto87, Sto91], visejustement à étendre à la géométrie projective la notion d’orientation des hyperplans en géométrie affine.L’analyse de la notion d’orientation utilisée par Stolfi ainsi que sa comparaison avec l’étude de Cartanpermettra d’en déterminer un sens précis ainsi que d’en proposer une définition cohérente.

B.3.1 La notion d’orientation en géométrie abstraite

La géométrie abstraite, selon Félix Klein, est une géométrie fondée sur la définition d’ungroupe dedéplacementsou groupe de transformations, et se définie comme l’étude des propriétés invariantes desfigures d’un espace géométrique (un espace de points), par les déplacements de ce groupe. Par exemple,la géométrie euclidienne a pour groupe de déplacements les isométries, qui conservent les distances(rotations, symétries, etc.), tandis que la géométrie projective est l’étude des propriétés d’incidences,invariantes par les déplacements du groupe deshomographies. Dans ce contexte, Cartan propose unepremière étude rigoureuse de l’orientation géométrique [Car41].

Cette étude de l’orientation en géométrie abstraite a pour objectif d’en donner une définition et une signi-fication mathématique générale. Pour cela, Cartan s’appuiesur la notion classique de droites orientéesen géométrie élémentaire, puis en étudie les propriétés pour ensuite les étendre à la géométrie abstraite.

Nous ne détaillons pas ici le cheminement du raisonnement utilisé par Cartan ; pour cela, le lecteurpeut se référer à [Car41]. Nous introduisons ci-dessous les notions nécessaires à la compréhension desprincipaux résultats de cette étude, qui seront expliqués ensuite. Nous supposons ci-dessous avoir unegéométrie fondée sur un groupe de déplacementG.

Définition de l’orientation selon la géométrie

On appellecorps, une familleF de figures vérifiant :

23Cette orientation est par exemple utilisée pour définir l’orientation des courbes et surfaces en topologie, à partir de l’orien-tation des hyperplans qui bordent un simplexe géométrique [Mun84]

Page 224: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

212 Annexe B. Géométries, espaces affines et espaces projectifs

1. Tout déplacement deG transforme une figure deF en une autre figure deF ;

2. Il existe toujours un déplacement deG au moins, transformant une figure deF en toute autre figuredeF .

De cette définition, on déduit que tout corps est entièrementdéterminé par une de ses figures et parles transformés de cette figure par les déplacements du groupe G. Par exemple, l’ensemble des droitesforme un corps dans les géométries euclidienne et projective ; il peut être obtenu à partir de tous lesdéplacements d’une seule droite de référence.

On appellegroupe de stabilitépour une figureF, le sous-groupeg de G, formé des déplacements quilaissent invariante la figureF .

À partir de ces deux définitions, Cartan montre le théorème suivant [Car41].

Théorème B.1 Pour que les figures d’un corps soient géométriquement orientables, il est nécessaire etsuffisant que le groupe de stabilité d’une figure du corps se décompose en plusieurs familles connexes dedéplacements.

Ce théorème fondamental est une conséquence de la conditiond’orientabilité. Celle-ci indique que siune figureF est orientable, alors on peut toujours passer continûment d’une orientation à une autre, àcondition de passer par des figures intermédiaires, distinctes deF, et obtenues par une série de dépla-cements continus deF . En effet, si le groupe de stabilité d’une figure contient uneseule composanteconnexe, alors cela signifie que l’on peut passer continûment d’une orientation à une autre à partir dedéplacements laissant la figure invariante, ce qui est contraire à l’hypothèse. En revanche, si elle contientplus d’une composante connexe, une seule contient le déplacement nul (qui ne change pas l’orientation) ;il existe alors autant d’orientations différentes de la figure que de composantes connexes dans son groupede stabilité.

Par exemple, pour une droiteD en géométrie élémentaire, le groupe de stabilité contient les deux com-posantes connexes suivantes [Car41] :

1. les translations parallèles àD, les rotations autour deD et les compositions de ces déplacements.

2. les rotations d’angle 180˚ autour d’une droite quelconque perpendiculaire àD.

La première composante contient le déplacement nul (translation de vecteur nul ou rotation d’angle nul) :toute application de ces transformations à une droite orientée ne change ni la droite, ni sont orientation.Au contraire, toute application d’un déplacement de la seconde composante à une droite orientée laissela droite invariante (par définition du groupe de stabilité), mais change son orientation.

Exemple de l’orientation en géométrie projective

Pour illustrer son propos, Cartan étudie différents exemples de l’orientabilité des figures dans différentesgéométries. En particulier, il étudie le cas de la géométrieprojective réelle qui nous intéresse précisément,et dont le groupe principal des déplacements est le groupe des homographies (voir par ex. [Del64]). Lesdeux théorèmes suivants déterminent l’orientabilité des variétés linéaires projectives, selon si l’espaceprojectif est de dimension paire ou impaire [Car41].

Théorème B.2 En géométrie projective réelle d’un espace projectif à un nombre pair de dimensions, lepoint, la droite, le plan, etc., sont géométriquement orientables.

Page 225: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.3. L’orientation en géométrie 213

Théorème B.3 En géométrie projective réelle d’un espace projectif à un nombre impair de dimensions,la droite, la variété plane à 3 dimensions, à 5 dimensions, etc., sont géométriquement orientables ; lepoint, le plan à deux dimensions, etc., ne sont pas géométriquement orientables.

Ces deux résultats nous serviront ci-dessous, afin de comparer cette définition de l’orientation en géomé-trie avec celle proposée par Stolfi [Sto91] et que nous proposons d’expliquer dans le paragraphe suivant.

Pour finir, il semble important de remarquer ici que, bien quecette définition de l’orientation soit prin-cipalement abstraite, celle-ci possède une signification géométrique propre. En effet, elle est définie enfonction du groupe des déplacements, qui définit également la géométrie : cette notion de l’orientationdépend donc de la géométrie utilisée et uniquement de celle-ci.

B.3.2 La géométrie projective orientée et la notion d’orientation algébrique

Stolfi propose dans [Sto87, Sto91] la définition d’un «espace projectif orienté», dans le but de pouvoir dé-terminer à quel demi-espace appartient un point, par rapport à un hyperplan. Cette notion que l’on utilisegénéralement en géométrie affine à partir des hyperplans orientés et que nous souhaitons préciser danscette section, n’a effectivement plus la même significationdans un espace projectif. Les conséquences,selon Stolfi, sont entre autres l’impossibilité de caractériser des ensembles convexes ou d’orienter demanière consistante l’espace projectif.

Toutefois, Stolfi ne cherche pas à définir cette notion de l’orientation : il en donne uniquement sa repré-sentation dans le formalisme qu’il propose. Cela empêche notamment d’établir le lien qui existe entre sonorientation et celle des hyperplans de l’espace affine que l’on utilise habituellement ; on sait seulementque la première permet d’étendre à l’espace projectif orientéles propriétés géométriques de la seconde.

Dans ce paragraphe, nous commençons par rappeler la définition de Stolfi, puis tentons d’expliquer lasignification précise de l’orientation qu’il utilise dans l’espace projectif. Nous montrons ensuite quecette notion est incompatible avec celle de Cartan, nous menant ainsi à proposer une nouvelle défi-nition cohérente et générale de cette autre orientation. Cette définition permet d’unifier l’orientationclassique des hyperplans de l’espace affine ainsi que l’orientation proposée par Stolfi dans son forma-lisme [Sto87, Sto91] ; elle est également utilisée dans le chapitre5, pour déterminer une notion d’orien-tation fondamentale au calcul de la visibilité globale.

L’espace projectif orienté de Stolfi [Sto87, Sto91]

La définition de l’espace projectif orientéproposée par Stolfi s’appuie notamment sur les systèmes decoordonnées homogènes des points affines [Sto91]. En ce sens, l’espace projectif orienté n’est pas àproprement parler la définition d’un espace projectif, maisplutôt la définition analytique d’un espacearguésien (cf. §B.2.2), où on distingue deux orientations possibles des points affines et des directions.

Cette notion d’orientation est caractérisée de la manière suivante. Nous avons vu dans le paragrapheB.2.2que l’espace arguésien pouvait être défini analytiquement àpartir d’un espace projectif, en considérantune base(e0,e1, . . . ,en) de l’espaceRn+1 déduit dePn. Les coordonnées(x0, . . . ,xn) d’un vecteurx danscette base correspondent alors aux coordonnées homogènes d’un point de l’espace arguésien. Le pointxest un point à l’infini six0 = 0, et est un point deAn si x0 6= 0. Stolfi distingue alors les points «positifs»,tels quex0 > 0, et les points «négatifs», tels quex0 < 0. De manière immédiate, cette orientation revient à

Page 226: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

214 Annexe B. Géométries, espaces affines et espaces projectifs

distinguer les représentants homogènes qui sont du côté positif ( x0 > 0) ou négatif (x0 < 0) de l’hyperplanà l’infini, caractérisé par l’ensemble des points tels quex0 = 0.

Dans la sous-section suivante, nous montrons que cette notion d’orientation est en réalité égalementvalable dans l’espace projectif standard.

Signification de l’orientation de Stolfi dans l’espace projectif réel

En géométrie projective, la distinction des points en fonction du signe d’une coordonnée caractérisant unhyperplan à l’infini n’a pas de sens, puisque la notion d’infini n’existe pas dans l’espace projectif. Néan-moins, cette orientation des points peut malgré tout être appliquée de manière immédiate et cohérente àl’espace projectif standard.

Pour illustrer notre propos, prenons l’exemple de la droiteprojective réelle, homéomorphe à la sphèreS1

et représentée par les vecteurs colinéaires non nuls deR2 (voir figuresB.4(a)et B.4(b)). On remarquequ’un hyperplan projectifPH1 (un point sur la droite) ne permet pas de séparer la droite projective endeux demi-espaces non connexes : les pointsP1, P2, P3 et P4 de la droite sont à la fois «à gauche» et «àdroite» de l’hyperplan. Cette propriété se retrouve également dans la représentation vectorielle de l’es-pace projectif : deux vecteurs colinéairesa et−a se trouvent chacun d’un côté différent de l’hyperplanvectorielH1, représentant l’hyperplan projectifPH1, bien quea et−a représentent le même point pro-jectif ; on dira quea et−a représentent le même point projectif avec chacun une orientation différente.C’est précisément cette propriété, cohérente en géométrieprojective mais pas en géométrie affine, qui amené Stolfi à proposer la définition d’«espace projectif orienté». Cela justifie par ailleurs le fait que sadéfinition est propre à la géométrie affine dans l’espace arguésien.

Nous illustrons maintenant comment retrouver les propriétés de l’orientation usuelle des hyperplans del’espace affine dans l’espace projectif, puis montrons notamment qu’il est toujours possible de caracté-riser des ensembles convexes dans un espace projectif. Pourcela, considérons un second hyperplan ¶H2

sur la droite projectiveP1 et distinct dePH1 (figuresB.4(c)et B.4(d)). On remarque que les deux hyper-plans séparent la droite en deux parties ou arêtes. À nouveau, l’appartenance d’un point à une arête estcomplètement déterminée à partir de la représentation vectorielle de l’espace projectif : les représentantshomogènes des points appartenant à la première arête sont les vecteurs deR2 appartenant à l’une desintersectionsH+

1 ∩H+2 ou H−1 ∩H−2 , tandis que les représentants des points appartenant à la seconde

arête sont ceux appartenant aux intersectionsH+1 ∩H−2 ouH−1 ∩H+

2 .

La notion d’espace projectif orienté de Stolfi est précisément analogue à cette dernière construction.Pour montrer cela, considérons à nouveau la base(e0,e1, . . . ,en) dansRn+1 et supposons que les pointsà l’infini sont représentés par les vecteursx∞ tels quex∞ · e0 = 0, où «·» est le produit scalaire dansRn+1. Les pointsX «orientés positivement», de représentantx, vérifient x · e0 > 0. Il s’agit donc despoints ducôté positif de l’hyperplan à l’infini, caractérisé par l’ensemblee⊥0 = {x ∈ Rn+1|x · e0 = 0}.La classification par rapport à un hyperplanH dans la définition de Stolfi revient donc à considérer lespoints projectifs dont les représentants homogènes sont ducôté positif des deux hyperplanse⊥0 et H,ou de manière équivalente, aux points dont les représentants sont du côté négatif aux deux hyperplans,comme sur les figuresB.4(c)etB.4(d).

Ces constructions effectuées sur la droite projective montrent deux choses : d’une part, il est toujourspossible de caractériser le «côté» où se trouve un point par rapport à un hyperplan dans un espace pro-jectif Pn de dimensionn, bien que celle-ci n’ai pas la même signification géométrique que dans l’espaceaffine ; d’autre part, à partir de cette caractérisation, il devient également possible de représenter des en-

Page 227: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.3. L’orientation en géométrie 215

b b bbb

P4 P3 P1 P2

H1

PH1

~0

(a) Plan vectorielR2. Les points projectifsP1, P2, P3, P4,correspondant aux vecteurs du côté positif (à droite) del’hyperplanH1, définissent toute la droite projective (icischématisée par unedroitene passant pas par~0).

b

b

b

b

b

PH1 P1

P2

P3

P4

P1

(b) EspaceP1, homéomorphe à un cercle. Le pointPH1

du cercle (correspondant à l’hyperplan vectorielH1 surla figureB.4(a)) sépare le cercle en une seule composanteconnexe, définie par tous les points du cercle.

b

H1

PH2

H+1 ∩H+

2

H−1 ∩H−2

H−1 ∩H+2 H+

1 ∩H−2~0

b

H2

PH1

(c) Plan vectorielR2. Un deuxième hyperplanH2 permetde déterminer deux ensembles de points projectifs. Ceuxcorrespondant aux vecteurs dansH+

1 ∩H+2 ou H−1 ∩H−2 ,

et ceux correspondant aux vecteurs dansH+1 ∩H−2 ou

H−1 ∩H+2 .

b PH2

b

PH1

P1

(d) EspaceP1. Deux hyperplans séparent la droite pro-jective en deux ensembles de points ou deux arêtes. EnposantPH1 comme étant le «point à l’infini», on obtientun espace arguésien dans lequel peut être décrit le forma-lisme de Stolfi.

FIG. B.4 – Classification des points projectifs par rapport à un hyperplan dansR2 puis dans l’espaceprojectif P1, obtenu à partir deR2 et de la relation de colinéarité (cf. définitionB.9). Les demi-espacesassociés à un hyperplan vectoriel correspondent aux mêmes points projectifs.

sembles convexes par des intersections de demi-espaces, comme le montre les figuresB.4(c) et B.4(d)avec la construction d’une arête à partir de deux hyperplans. La sous-section suivante explique quellesignification donner à cette notion d’orientation et comment la généraliser.

Signification mathématique de l’orientation : la notion d’orientation algébrique

Intéressons-nous maintenant à la signification mathématique de cette notion d’orientation. De manièreimmédiate, les résultats énoncés pour la droite projectiveréelle sont valables pour tout espace projectifréel : soit un vecteura représentant un point projectif, le vecteur−a, colinéaire àa, représente le mêmepoint projectif, mais avec une orientation différente. Ainsi, les points projectifs sont toujours orientables,selon cette représentation, quelque soit la dimension de l’espace projectif considéré. Ce résultat est enopposition avec celui de Cartan [Car41], qui indique que les points projectifs ne sont pas géométrique-

Page 228: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

216 Annexe B. Géométries, espaces affines et espaces projectifs

ment orientables dans les espaces projectifs de dimensionsimpaires. Cela montre que les deux définitionsde l’orientation ne sont pas équivalentes. En menant le raisonnement plus loin, on remarque égalementque la représentation d’un polytope convexe par une intersection de demi-espaces positifs n’est pasgéo-métriquementvalable, bien que ce polytope existe. En effet, le «côté positif» d’un hyperplan étant toutl’espace projectif, selon ce qui précède, on déduit que l’intersection géométrique des côtés positifs deplusieurs hyperplans est toujours l’espace projectif entier (voir figureB.4(d)).

Ces deux contradictions mènent à penser que l’orientation usuelle des hyperplans dans l’espace affine,étendue à l’espace arguésien par Stolfi puis à l’espace projectif dans la sous-section précédente, n’est passpécifiquement une notion d’orientation géométrique. Au contraire, nous avons souligné que l’orientationdes points et des hyperplans, ainsi que la caractérisation des ensembles convexes, étaient entièrementdéfinies à partir de la représentation vectorielle des points et des hyperplans projectifs (cf. figureB.4(c)).

Cette propriété est également valable pour la définition de l’orientation des hyperplans dans l’espaceaffine. En effet, la classification entre un pointP et un hyperplanH (cf. figure B.5), qui permet de dé-terminer de quel côté se trouve le point par rapport à l’hyperplan, est classiquement déterminée à partirdu produit scalaire entre le vecteur

−−→OHP, défini entre le pointP et un point quelconqueOH surH, et le

vecteur~n normal à l’hyperplan. Cela montre que cette orientation estaussi définie à partir de la repré-sentation des points et des hyperplans dans un espace vectoriel. De manière plus générale, l’orientationdes hyperplans peut être caractérisée à partir des formes linéaires. En effet, tout hyperplan vectoriel peutse définir comme une unique forme linéaire, à un facteur près (voir annexeA.2.2). L’orientation de l’hy-perplan (la définition de son côté positif et de son côté négatif) est alors complètement caractérisée parla forme linéaire le représentant : sif est une forme linéaire représentant un hyperplan vectoriel, assi-milé à un hyperplan affine ou projectif, la forme− f représente le même hyperplan, avec un changementd’orientation.

−~n

~n

H

P1

P2

P3

P4

OH

b

b

b

b

b

FIG. B.5 – Dans le plan euclidienA2, pour savoir de quel côté sont les pointsPi, i = 1. . .4 par rapport

à l’hyperplanH, il suffit de calculer le produit scalaire~n·−→

OHPi, où~n ∈ ~A2 est le vecteur normal àl’hyperplanH. Si on considère le vecteur−~n au lieu du vecteur~n, on inverse le côté positif et négatif del’hyperplan : on change donc son orientation.

Ainsi, pour résumer, l’orientation des hyperplans est représentée de la même façon dans l’espace projec-tif ou dans l’espace euclidien, à partir du signe des formes linéaires les représentant. L’espace projectifajoute à cela la définition d’une orientation analogue des points, à partir du signe des vecteurs représen-

Page 229: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

B.3. L’orientation en géométrie 217

tant les points. On remarque alors que l’orientation des points projectifs ou des hyperplans est toujourséquivalente à la notion d’opposé pour une loi de groupe (cf. annexeA.1). Il s’agit, dans les cas étudiés,de la loi de groupe (l’addition) de l’espace vectoriel utilisé pour représenter les points projectifs ou leshyperplans24 : si a est un vecteur (resp. une forme linéaire) représentant un point projectif (resp. un hy-perplan affine ou projectif), le vecteur (resp. la forme linéaire)−a représente le même point projectif(resp. le même hyperplan), avec un changement d’orientation.

De cette manière, on peut voir l’orientation utilisée par Stolfi, en géométrie euclidienne ou projective,comme une notionalgébriqueplutôt que géométrique. Cela justifie notamment le fait que la caracté-risation des ensembles convexes dans l’espace projectif soit uniquement valide à partir de propriétésalgébriques sur les représentants homogènes (les vecteurs) des points projectifs.

Pour conclure, nous proposons, à partir de la notion des corps de figures (§B.3.1), la définition généralesuivante de l’orientation algébriqueen géométrie abstraite :

Définition B.14 Les figures d’un corps sont ditesalgébriquement orientablessi et seulement s’il existeune représentation de ce corps dans un groupe G, telle que pour tout élément g de G représentant unefigure F de ce corps, son opposé−g pour la loi de groupe de G est aussi un représentant de F. Leséléments g et−g représentent alors chacun une orientation différente de la figure F.

Cette définition de l’orientationalgébriquedonne une signification mathématique nouvelle à une notionclassique, souvent utilisée en géométrie. Concrètement, elle apporte une meilleure compréhension decette notion particulière de l’orientation, et offre la possibilité de l’étendre et de la généraliser à d’autrescorps de figures. Par exemple, nous avons montré dans ce paragraphe, à partir des travaux de Stolfi, queles points projectifs sontalgébriquementorientables, ce qui permet alors d’étendre la notion de clas-sification point/hyperplan habituelle à l’espace projectif réel. Nous utilisons également cette nouvelledéfinition dans le chapitre5, pour montrer que toute variété linéaire projective est algébriquement orien-table. Cette orientabilité des variétés linéaires projectives, comme les droites, est l’un des fondements ducalcul de la visibilité globale présenté dans ce mémoire.

24Pour l’orientation des hyperplans, l’espace vectoriel considéré est l’espace dual,i.e. l’espace des formes linéaires (cf.annexeA.2.2), de l’espace vectoriel sous-jacent à l’espace affine ou projectif.

Page 230: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

218 Annexe B. Géométries, espaces affines et espaces projectifs

Page 231: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Annexe C

Les espaces de droites usuels

Cette annexe présente deux espaces de droites usuellement utilisés dans le plan et dans l’espace tridimen-sionnel. Il s’agit respectivement du plan dual, et de la paramétrisation par les coordonnées de Plücker.Les définitions de ces espaces reposent essentiellement surcelles que l’on peut trouver dans la biblio-graphie utilisant ces espaces pour la visibilité. Il s’agitpar exemple de [FPST03] pour le plan dual etde [Dur00, Nir03, Mor06] pour les coordonnées de Plücker.

Les définitions de ces deux espaces utilisent diverses notions sur les espaces affines et les espaces pro-jectifs, ainsi que sur la dualité vectorielle. Les rappels de ces notions sont proposés dans les annexesBetA respectivement.

C.1 Espace dual du plan affine

La notion d’espace dual du plan est souvent utilisée dans un contexte analytique, pour le plan affine.Toutefois, le principe de dualité est une notion projective[Del64]. De manière générale, la dualité pro-jective consiste à associer bijectivement un point à un hyperplan dual et un hyperplan à un point dual.Cela correspond dans le plan, à associer les points aux droites, puis les droites aux points.

Dans un premier temps, nous présentons la définition analytique et affine, souvent rencontrée dans lespapiers, notamment sur la visibilité dans le plan [FPST03]. Dans un second temps, nous présentonsune définition algébrique de la dualité projective réelle dans un espace de dimension finie, telle qu’elleapparaît dans la littérature plus spécialisée.

C.1.1 Définition analytique

Soit l’espace affineA2 muni d’un repère cartésien(O,~i,~j) (voir annexeB.1.2).

Une droite peut être donnée dans ce repère, par une fonction de la formey = ax+ b, (a,b) ∈ R2, pourtoute valeur dex. Les couples(x,y), avecy= ax+b, correspondent alors aux coordonnées d’un point dela droite dans le repère(O,~i,~j). À chaque droite de la formey = ax+b peut être associé un couple(a,b)deR2. L’espace dual du plan affine est défini alors de la manière suivante.

Définition C.1 L’espace dualA2 du plan affineA2, est un espace affine de dimension2, défini par lescouples(a,b), dans un repère(O,~i,~j), correspondant, dansA2, à la droite d’équation y= ax+b.

219

Page 232: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

220 Annexe C. Les espaces de droites usuels

O

~j

~i x

yl :y =−2x+1

l ′

b

b

b

p2

p3

p1

(a) Points et droites dans l’espace primalA2.

O ~i

y

x

~j

p1p3

p2b

b

l :(−2,1)

l ′

(b) Points et droites dans l’espace dualA2.

FIG. C.1 – Espace dualA2 du plan affineA2. Cette dualité permet de caractériser les incidences desdroites et des points dans l’espace primal. Le but est de pouvoir manipuler des ensembles de droites liéespar des relations d’incidences de manière intuitive.

Notons que, dans ce cadre, l’espaceA2 est aussi appeléespace primal[Mor06]. D’après cette définition,le dual d’une droite de l’espace primal correspond à un pointde l’espace dual.

De la même façon, on peut définir le dual d’un point(α ,β ), dans l’espace primal, par la droite d’équation

y =−α x+ β dans l’espace dual, relativement au repère(O,~i,~j). Nous avons alors la propriété suivante.

Propriété C.1 Si la droite d’équationy = −α x+ β , dans le repère(O,~i,~j), est le dual du point(α ,β )dans le repère(O,~i,~j), alors chaque point de la droitey = −α x+ β correspond, dans l’espace primal,à une droite incidente au point(α ,β ).

En effet, le point(x0,−α x0+β ) de la droite duale correspond, dans l’espace primal, à la droite d’équationy = x0x−α x0 + β . Si on prendx = α , on obtienty = β . Le point(α ,β ) est donc un point de la droite,dans l’espace primal.

La figureC.1est une illustration de droites et de points, d’une part dansl’espace primal (figureC.1(a))et d’autre part dans l’espace dual (figureC.1(b)). On voit alors que les pointsp1, p2 et p3, incidents àla droite l dans l’espace primal, correspondent à des droites (respectivement p1, p2 et p3) incidentes aupoint l dans l’espace dual. La propriété inverse de dualité associeles droitesl et l ′, incidentes au pointp1 dans l’espace primal, aux deux points respectifsl et l ′, incidents à la droite ¯p1 dans l’espace dual.

C.1.2 Présence de singularités pour la dualité affine

L’espace dual de la définitionC.1possède des singularités. En effet, les équations de la formey= ax+bne permettent pas de représenter les droites parallèles à l’axeO~j, c’est-à-dire les droites d’équationx= x0

pour touty, x0 ∈R.

Afin de représenter ces droites, l’équationy = ax+b doit être prise sous la forme équivalente suivante :

ax+b−y = 0

Page 233: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

C.1. Espace dual du plan affine 221

On remarque alors que cette équation est homogène, c’est-à-dire que multiplier le terme à gauche del’égalité par un réel non nul ne change pas l’équation ni la droite qu’elle représente. Ainsi, l’équationdevient, après modification :

a′x+b′y+c′ = 0

Il suffit alors de prendreb′ = 0 eta′ = 1 pour avoir les droites d’équationsx =−c′. Mais pour cela, troiscoordonnées homogènes sont nécessaires pour représenter une droite du plan.

Ainsi, pour éliminer ces singularités, il est nécessaire dedéfinir le plan dual dans le plan projectif. Pourcomprendre cela, il suffit de constater que par deux points distincts de l’espace (euclidien) passe toujoursune et une seule droite. Ce constat exprime dualement le faitque deux droites distinctes (les droites dualesdes points distincts) ont toujours un et un seul point d’intersection (le point dual de la droite passant parles deux points), même si ces droites sont parallèles. Ainsi, pour que cette dualité soit consistante etconserve les relations d’incidence, elle doit être définie dans un espace projectif ou de manière analogue,dans le plan affineA2 fermé par un hyperplan à l’infini. Définir cet espace dans le plan affine revientà ignorer la fermeture du plan affine par la droite à l’infini. La discontinuité en l’infini est responsablede l’apparition des singularités et également de dégénérescences dans certains travaux utilisant une telleparamétrisation (par ex. [FPST03]).

C.1.3 Définition algébrique

Nous définissons maintenant la notion d’espace dual d’un espace projectif de dimension finien, adaptéede la définition indiquée dans [Del64].

La notion de dualité projective est liée à la dualité linéaire ou vectorielle, définie dans l’espace vectorielgénérant l’espace projectif. Pour cela, nous introduisonsl’espace vectorielV ≃Rn+1 et l’espace dualV∗

des formes linéaires surV. L’annexeA.2.2 donne des rappels sur les formes linéaires et l’espace dual etl’annexeB.2 rappelle les notions utiles sur les espaces projectifs.

À toute forme linéaire non nullef deV∗ est associé un hyperplanH f = {x∈V| f (x) = 0} dansV. De lamême façon, à tout vecteurx deV est associé un hyperplanH∗x = { f ∈V∗| f (x) = 0}. D’autre part, lesformes f étant linéaires, nous avonsf (λx) = (λ f )(x). On en déduit les relations suivantes :

{H f = Hλ f pour tout f ∈V∗

H∗x = H∗λx pour toutx∈V

D’où la définition de la dualité projective suivante.

Définition C.2 Soit Pn l’espace projectif de dimension n, déduit de l’espace V≃ Rn+1. L’espace dualPn∗ de Pn est l’espace projectif de dimension n déduit de V∗ qui à tout point X dePn, de représentanthomogène x dans V, associe bijectivement l’hyperplan projectif déduit de l’hyperplan vectorielH∗x deV∗ et à tout point F dePn∗, de représentant homogène f dans V∗, associe bijectivement l’hyperplanprojectif déduit de l’hyperplan vectorielH f de V .

On remarque alors que l’ensemble des points dePn incident à un hyperplanH correspond, dualement, àl’ensemble des hyperplans incidents au point dual de l’hyperplanH dansPn∗, et inversement.

Page 234: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

222 Annexe C. Les espaces de droites usuels

−→U

−→V

(PQ)

PQ

O

(a) Les coordonnées de Plücker de la droite passant parles pointsP et Q sont données par( ~PQ : ~OP× ~OQ).

P

O

−→V

−→U Q

−→U

−→V

Q(PQ)

(b) Les coordonnées de Plücker d’une droite sont défini àun facteur près, en fonction des pointsP et Q choisis surla droites.

FIG. C.2 – Les coordonnées homogènes de Plücker d’une droite(PQ), déterminées à partir de deuxpointsP etQ quelconques sur la droite.

C.2 Les coordonnées de Plücker

Cette section définie les coordonnées de Plücker telles qu’elles apparaissent dans [Mor06, Nir03]. Unedéfinition différente peut être trouvée dans [Goa04].

Les coordonnées de Plücker consistent en une paramétrisation analytique des droites orientées de l’es-pace tridimensionnel dans un espace projectifP5, appeléespace de Plückerpar abus de langage. Cescoordonnées sont les suivantes.

Définition C.3 Soit une droite l, définie par deux points P et Q, de coordonnées respectives(p1, p2, p3)et (q1,q2,q3), dans un repère cartésien(O,~x,~y,~z) deA3.

Les coordonnées de Plücker [Plü65] de la droite l, passant par P et Q, sont données par le6-uplet Πl ,correspondant à un vecteur homogène deR6 ou de manière équivalente à un point deP5 :

Πl =

π0

π1

π2

π3

π4

π5

=

q1− p1

q2− p2

q3− p3

p2q3− p3q2

p3q1− p1q3

p1q2− p2q1

De manière plus intuitive, ces coordonnées correspondent dans la base(~x,~y,~z), à celles des vecteursQ−P =

−→PQ= (π0,π1,π2), indiquant la direction de la droite, et

−→OP×−→OQ= (π3,π4,π5), indiquant la

position de la droite par rapport à l’origine (voir figureC.2(a)).

Les coordonnées de Plücker sont homogènes, le point deP5 associés aux coordonnées de la droite(PQ)ne dépend donc pas des pointsP et Q choisis sur la droite, mais uniquement de la droite elle-même. Parexemple, en considérant un pointQ′ = P+ λ

−→PQ (voir figureC.2(b)), la droitel ′ passant pasP et Q′ est

confondue avec la droitel . Ses coordonnées de Plücker sont :

Πl ′ = (Q′−P :−→OP×

−−→OQ′) = (λ

−→PQ : λ

−→OP×−→OQ) = λΠl

Toutefois, tous les points de cet espace projectif ne représentent pas une droite. Autrement dit, tous les

Page 235: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

C.2. Les coordonnées de Plücker 223

6-uplets de coordonnées, ou vecteurs deR6, ne correspondent pas aux coordonnées de Plücker d’unedroite. Pour caractériser cela, un produit «⊙» appeléopérateur sideest défini sur les 6-uplets.

Définition C.4 Le produit «⊙» de deux6-upletsΠa et Πb, correspondant à deux points deP5, est définipar le scalaire suivant :

Πa⊙Πb = πa0πb3 + πa1πb4 + πa2πb5 + πa3πb0 + πa4πb1 + πa5πb2 (C.1)

L’ensemble des points deP5 correspondant aux droites de l’espaceA3 est alors donné par l’ensemble les6-upletsΠ vérifiant :

Π⊙Π = 0

Cet ensemble décrit dansP5 une quadrique de dimension 4 appeléequadrique de Plückerou hypersur-face de Plückeret que nous noteronsQ.

C.2.1 Orientation relative de deux droites

Soit un pointΠ quelconque deP5 (qu’il soit ou non sur la quadrique de PlückerQ). L’ensemble despointsx tels queΠ⊙x = 0 défini un hyperplanΠ⊥ = {x∈R6|Π⊙x = 0} dansP5. À cet hyperplan peutêtre associé un demi-espace positifΠ⊥+ et un demi-espace négatifΠ⊥+, respectivement définis par :

Π⊥+ = {x∈ R6|Π⊙x> 0}Π⊥− = {x∈ R6|Π⊙x< 0}

Si Π est pris sur la quadriqueQ, alors ces demi-espaces permettent une classification des droites de l’es-paceA3 en fonction de leur orientation relative par rapport à la droite représentée parΠ. La propriétéC.2explique cette interprétation et la figureC.3en montre une illustration.

Propriété C.2 Soit l, une droite deA3, et Πl ses coordonnées de Plücker. L’ensembleΠ⊥ ∩Q repré-sente, dansP5, l’ensemble des droites incidentes ou parallèles à la droite l dansA3.

Les ensemblesΠ⊥+∩Q etΠ⊥−∩Q correspondent, dansP5, aux droites ni incidentes, ni parallèles à ladroite l, ettournant autourde l dans un sens différent, en fonction de l’ensemble auquelleur plongementappartient dansP5.

C.2.2 Les coordonnées de Plücker généralisées

Les coordonnées de Plücker définies ci-dessus peuvent être généralisées afin de représenter, par des coor-données homogènes, toutes variétés linéaires (les points,droites, hyperplans, etc.) d’un espace projectifde dimension quelconque [Sot03].

Ces coordonnées, également connue sous le nom decoordonnées de Grassmann[PW01], sont obtenuesà partir des multivecteurs décomposables,i.e. des produits de vecteurs dans une algèbre de Grassmann(cf. chapitre1), exprimée dans une base de l’algèbre. Leur définition est lasuivante [Sot03, Sto91] :

Définition C.5 Soient(pi)i=0...k, k+ 1 points indépendants de l’espace projectifPn, de coordonnéeshomogènes pi : (p0

i , . . . , pni ). Les coordonnées de Grassmannπα de la k-variété linéaireK générée par

Page 236: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

224 Annexe C. Les espaces de droites usuels

b

Π⊥l

Πl−

Q

l−l

(a) La droitel− passe en dessous dela droite l . Elle vérifie dansP5, Πl ⊙Πl− < 0. Le pointΠl− deP5 est dansle demi espace négatif associé à l’hy-perplanΠ⊥l .

b

Π⊥l

Πl=

Q

l=l

(b) La droite l= est incidente à ladroite l . Elle vérifie dansP5, Πl ⊙Πl= = 0. Le pointΠl= de P5 est surl’hyperplanΠ⊥l .

b

Π⊥l

Πl+

Q

l+

l

(c) La droite l+ passe au dessus dela droite l . Elle vérifie dansP5, Πl ⊙Πl+ > 0. Le pointΠl+ deP5 est dansle demi espace positif associé à l’hy-perplanΠ⊥l .

FIG. C.3 – L’orientation relative ou l’incidence de deux droites l et l ′ est complètement caractérisée parle signe du produitΠl ⊙Π′l , dansP5.

les points(pi)i=0...k, pour toutα : 0≤ α1 < .. . < αk ≤ n, sont données par les mineurs d’ordres k de lamatrice K= (p j

i ) :

pα = det

pα10 · · · pα1

k...

. . ....

pαk0 · · · pαk

k

Ces coordonnées sont étudiées, en mathématique, dans le cadre de la théorie des grassmanniennes, quisont des variétés représentant l’ensemble des variétés linéaires d’une dimension donnée, dans un espaceprojectif. Ces grassmanniennes et les coordonnées de Plücker généralisées sont par exemple le fonde-ment du calcul de Schubert [Sch79], notamment utilisé dans l’étude de la complexité combinatoire duphénomène visuel en dimension quelconque [GT05, ST07]. Ces coordonnées apparaissent égalementdans une approche symbolique du calcul sur les variétés linéairesorientées[Sto91].

Page 237: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

Bibliographie

[AF05] Rafal Ablamowicz and Bertfried Fauser,Clifford - a maple 8 package for clifford algebracomputations, From http ://www.math.tntech.edu/rafal/cliff8/index.html, September 2005,version 8.

[Ang80] Pierre Anglès,Construction de revêtements du groupe conforme d’un espacevectoriel munid’une « métrique » de type(p,q), Annales de l’Institut Henri Poincaré, section A, tome 33(1980), no. 1, p.33–51.

[Ang07] , Conformal groups in geometry and spin structures, Progress in Mathematical phy-sics, vol. 50, Birkhäuser, janvier 2007.

[APC93] Boris Aronov, Marco Pellegrini, and Micha Charir,On the zone of a surface in a hyperplanearrangement, Discrete Computational Geometry9 (1993), no. 2, 177–186.

[BD72] J. Bass and Cl. Do,Algèbre, Mathématiques, vol. 1, Masson & Cie, 1972.

[BDP02] T.A. Bouma, L. Dorst, and H.G.J. Pijls,Geometric algebra for subspace operations, ActaMathematicae Applicandae73 (2002), 285–300.

[Bit02] J. Bittner,Hierarchical techniques for visibility computations, Ph.D. thesis, Czech TechnicalUniversity in Prague, October 2002.

[BP96] C. L. Bajaj and V. Pascucci,Splitting a complex of convex polytopes in any dimension,Proceedings of the 12th Annual Symposium on Computational Geometry (ACM, ed.), May1996, pp. 88–97.

[BW03] Jirí Bittner and Peter Wonka,Visibility in computer graphics, Tech. Report TR-186-2-03-03,Institute of Computer Graphics and Algorithms, Vienna University of Technology, March2003.

[BY98] J-D. Boissonnat and M. Yvinec,Algorithmic geometry, Cambridge University Press, UK,1998, Translated by Hervé Brönnimann.

[CAF07] Sylvain Charneau, Lilian Aveneau, and Laurent Fuchs, Exact, robust and efficient full visi-bility computation in the plücker space, The Visual Computer journal23 (2007), no. 9–11,773–782.

[Car41] Élie Cartan,La notion d’orientation dans les différentes géométries, Bulletin de la SociétéMathématique de France69 (1941), 47–70.

[Cas65] Gaston Casanova,Géométrie analytique, Mathématiques Spéciales, vol. 3, Librairie Belin,1965.

[CFA05] Sylvain Charneau, Laurent Fuchs, and Lilian Aveneau, Implantation de l’algèbre géomé-trique en objective caml, Actes des Journées Francophones pour les Langages Applicatifs2005, Obernai (Contreforts des Vosges), mars 2005.

225

Page 238: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

226 Bibliographie

[Che96] Claude Chevalley,The algebraic theory of spinors and clifford algebras, Collected Works ofClaude Chevalley, vol. 2, Springer, 1996.

[Cli76] William Kingdon Clifford, Mathematical papers, edited by Mac Millan, 1876.

[CO68] L. Chambalal and J.L. Ovaert,Algèbre linéaire et algèbre tensorielle, Dunod, Paris, 1968.

[CRC65] G. Cagnac, E. Ramis, and J. Commeau,Nouveau cours de mathématiques spéciales : Géo-métrie, vol. 3, Masson & Cie, 1965.

[Cru90] Albert Crumeyrolle,Orthogonal and symplectic clifford algebras : spinor structures, Kluweracademic publishers, 1990.

[D0199] Honing geometric algebra for its use in the computer sciences, Geometric Computing withClifford Algebras (Gerald Sommer, ed.), Springer-Verlag,Heidelberg, 1999, pp. 127–152.

[DD02] Florent Duguet and George Drettakis,Robust epsilon visibility, SIGGRAPH’02 : Procee-dings of the 29th annual Conference on Computer Graphics and Interactive Techniques (NewYork, USA), ACM Press, 2002, pp. 567–575.

[DDP97a] Frédo Durand, George Drettakis, and Claude Puech,The 3d visibility complexe : a uni-fied data structure for global visibility of scenes of polygons and smooth objects, CanadianConference on Computational Geometry, August 1997.

[DDP97b] , The visibility skeleton : a powerful and efficient multi-purpose global visibility tool,Computer Graphics31 (1997), no. 3A, 89–100.

[DDP99] , Fast and accurate hierarchical radiosity using global visibility, ACM Transactionon Graphics (1999).

[Deh81] René Deheuvels,Formes quadratiques et groupes classiques, Presses Universitaires deFrance, Paris, 1981.

[Del64] André Delachet,La géométrie projective, Que sais-je, Presses Universitaires de France,1964.

[Del65] , La géométrie contemporaine, Que sais-je, Presses Universitaires de France, 1965.

[DFM07] Leo Dorst, Daniel Fontijne, and Stephen Mann,Geometric algebra for computer science :An object oriented approach to geometry, Morgan Kauffmann Publishers, 2007.

[DLL02] Chris Doran, Anthony Lasenby, and Joan Lasenby,Conformal geometry, euclidean spaceand geometric algebra, Uncertainty in Geometric Computations (J. Winkler, ed.),Kluwer,2002.

[Dor02] Leo Dorst,The inner products of geometric algebra, Applications of Geometric Algebra inComputer Science and Engineering (Lasenby Dorst, Doran, ed.), Birkhäuser, 2002.

[dT05] M. Rausch de Traubenberg,Clifford algebras in physics, Preparatory Conference (Tou-louse III Université Paul Sabatier, ed.), 7th International Conference on Clifford Algebrasand Applications, May 2005.

[Dur99] Fredo Durand,Visibilité tridimensionnelle : étude analytique et applications, Ph.D. thesis,Université Joseph Fourier, iMAGIS-GRAVIR/IMAG-INRIA, juillet 1999.

[Dur00] , A multidisciplinary survey of visibility, Siggraph’2000 courses notes on Visibility,2000.

[Euc93] Euclid,Les Éléments d’euclide, Blanchard, Paris, 1993, traduction from François Peyrard.

[FD07] Daniel Fontijne and Leo Dorst,Gaigen2, http ://staff.science.uva.nl/ fontijne/gaigen2.html,2007, University of Amsterdam.

Page 239: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

227

[FDB03] Daniel Fontijne, Leo Dorst, and Tim Bouma,Gaigen : A geometric algebra implementa-tion generator, http ://www.science.uva.nl/ga/gaigen/index.html, 2003, University of Am-sterdam.

[Fon06] Daniel Fontijne,Gaigen 2 : a geometric algebra implementation generator, ACM GPCE2006 Proceedings, 2006, pp. 141–151.

[Fon07] , Efficient implementation of geometric algebra, Ph.D. thesis, Universiteit van Am-sterdam, 2007.

[FPST03] Marco Foco, Pietro Polotti, Augusto Sarti, and Stefano Tubaro,Sound spatialization basedon fast beam tracing in the dual space, Proceedings of the 6th International Conference onDigital Audio Effects (London, UK), September 2003.

[GARG] Cambridge Geometric Algebra Research Group,Ga package for maple v,http ://www.mrao.cam.ac.uk/ clifford/software/GA/.

[GMP] The gnu multiple precision arithmetic library, http ://gmplib.org/.

[Goa04] Xavier Goaoc,Structures de visibilité globales : tailles, calculs et dégénérescences, Ph.D.thesis, Université Nancy 2, mai 2004.

[Gra44] Hermann Günther Graßmann,Die lineale ausdehnungslehre, Leipzig : Wiegand 1844.

[GT05] Peter Gritzmann and Thorsten Theobald,On the complexity of visibility problems with mo-ving viewpoints, Combinatorial and Computational Geometry, vol. 52, MSRI publications,Cambridge University Press, 2005, pp. 377–397.

[HC01] Stéphane Huot et Christian Colin, MARINA : 3D reconstruction from images using formalprojective geometry, Rapport de recherche 01/1/INFO, École des Mines de Nantes,Janvier2001.

[Hes86] David Hestenes,A unified langage for mathematics and physics, Clifford Algebras and theirApplications in Mathematical Physics (J.S.R. Chisholm andA.K. Common, eds.), KluwerAcademic Publishers, 1986, pp. 1–23.

[Hes88] , Universal geometric algebra, A Quarterly Journal of Pure and Applied Mathema-tics (1988), no. 3–4.

[Hes93] , Differential forms in geometric calculus, Clifford Algebras and their Applicationsin Mathematical Physics (F. Brackxet al, ed.), Kluwer, Dordrecht, Boston, 1993, pp. 269–285.

[Hes01] , Old wine in new bottles : A new algebraic framework for computational geometry,Advances in Geometric Algebra with Applications in Scienceand Engineering (E. Bayro-Corrochano & G. Sobczyk, ed.), Birkhäuser, 2001, pp. 1–14.

[HFPD04] Dietmar Hildenbrand, Daniel Fontijne, ChristianPerwass, and Leo Dorst,Geometric algebraand its application to computer graphics, 25th Annual Conference of the European Associa-tion for Computer Graphics, no. 3, September 2004.

[HLR99a] David Hestenes, Hongbo Li, and Alyn Rockwood,Generalized homogeneous coordinatesfor computational geometry, Geometric Computing with Clifford Algebra (G. Sommer, ed.),Springer-Verlag, Heidelberg, 1999, pp. 25–58.

[HLR99b] , A unified algebraic framework for classical geometry, Geometric Computing withClifford Algebra (Gerald Sommer, ed.), Springer-Verlag, Heidelberg, 1999.

Page 240: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

228 Bibliographie

[HMN05] Denis Haumont, Otso Mäkinen, and Shaun Nirenstein,A low dimensional framework forexact polygon-to-polygon occlusion queries, Proceedings of the Eurographics Symposiumon Rendering, June 2005, pp. 211–222.

[HZ91] David Hestenes and Renatus Ziegler,Projective geometry with clifford algebra, Acta Appli-candae Mathematicae23 (1991), 25–63.

[JHM04] Frédéric Jourdan, G. Hegron, Pierre Macé,Modélisation de quadriques avec l’algèbre degrassmann-cayley, Actes des 17ème journées de l’Afig, Chapitre Français d’Eurographics,Novembre 2004.

[Koe90] Jan J. Koenderink,Solid shape, MIT Press, Cambridge, Massachusetts, London, England,1990.

[KvD76] Jan J. Koenderink and Andrea van Doorn,The singularities of visual mapping, BiologicalCybernetics24 (1976), no. 1, 51–59.

[KvD79] , The internal representation of solid shape with respect to vision, Biological Cyber-netics32 (1979), no. 1, 211–216.

[LAA +05] Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko Lehtinen, and Tomas Akenine-Möller,Softshadow volumes for ray tracing, ACM Transactions on Graphics (SIGGRAPH 2005)24(2005), no. 3, 1156–1165.

[Leo] Paul C. Leopardi,Glucat : Generic library of universal clifford algebra templates, http ://glu-cat.sourceforge.net/, 2002.

[MA05] Frédéric Mora and Lilian Aveneau,Fast and exact direct illumination, Computer GraphicsInternational 2005 Proceedings (Stony Brooks University,New York, USA), vol. 23, Com-puter Graphics International, IEEE Computer Society, June2005, pp. 191–197.

[MAM05] Frédéric Mora, Lilian Aveneau, and Michel Mériaux,Coherent and exact polygon-to-polygon visibility, WSCG’2005 Full Papers Conference Proceedings (University of WestBohemia, Plzen, Czech Republic) (Vaclav Skala, ed.), vol. 13, Winter School on ComputerGraphics, UNION Agency – Science Press, february 2005, pp. 87–94.

[MD02a] S. Mann and L. Dorst,Geometric algebra : A computational framework for geometricalapplications, part 1, IEEE Computer Graphics and Applications22 (2002), no. 3, 24–31.

[MD02b] , Geometric algebra : A computational framework for geometrical applications, part2, IEEE Computer Graphics and Applications22 (2002), no. 4, 58–67.

[Mor06] Frédéric Mora,Visibilité polygone à polygone : calcul, représentation, applications, Ph.D.thesis, Université de Poitiers, juillet 2006.

[Mun84] James R. Munkres,Elements of algebraic topology, Addison-Wesley Publishing Company,Inc., Reading, MA, 1984.

[NAT90] Naylor, Amanatides, and Thibault,Merging bsp trees yields polyhedral set operations, Pro-ceedings of the 17th annual conference on Computer graphicsand interactive techniques,ACM Press, 1990, pp. 115–254.

[Nay90] B. Naylor,Binary space partitioning trees as an alternative representation of polytopes,Comput. Aided Des.22 (1990), no. 4, 250–252.

[NBG02] S. Nirenstein, E. Blake, and J. Gain,Exact from-region visibility culling, Proceedings of the13th Eurographics workshop on Rendering, Eurographics Association, June 2002, pp. 191–202.

Page 241: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

229

[Nir03] Shaun Nirenstein,Fast and accurate visibility preprocessing, Ph.D. thesis, University ofCape Town, October 2003.

[nosiad05] Nklein Softwares : non orientable software in any dimension,Nklein c++ template classesfor geometric algebras, http ://www.nklein.com/products/geoma/, 2005, version1.1.

[PD90] William Harry Platinga and C. R. Dyer,Visibility, occlusion and the aspect graph, Interna-tional Journal of Computer Vision5 (1990), no. 2, 137–160.

[Pel90] Marco Pellegrini,Stabbing and ray shooting in 3 dimensional space, SCG’90 : Proceedingsof the 6th annual symposium on Computational Geometry (New York, USA), ACM Press,1990, pp. 177–186.

[Pel93] , Ray shooting on triangles in 3-space, Algorithmica9 (1993), no. 5, 471–494.

[Per] Christian Perwass,The clu project, http ://www.clucalc.info/.

[Pet92] Sylvain Petitjean,Computing exact aspect graphs of smooth objects bounded by smoothalgebraic surfaces, Master’s thesis, University of Illinois, Urbana Champaign, IL, June 1992.

[PF06] Christian Perwass and Wolfgang Förstner,Uncertain geometry with circles, spheres and co-nics, Geometric Properties from Incomplete Data (L. Noakes R. Klette, R. Kozera and J. Wei-ckert, eds.), Computational Imaging and Vision, vol. 31, Springer-Verlag, Berlin, Heidelberg,2006, pp. 23–41.

[PH03] Christian B.U. Perwass and Dietmar Hildenbrand,Aspects of geometric algebra in eucli-dean, projective and conformal space, Tech. Report Bericht Nr. 0310, Christian-AlbrechtsUniversität, Kiel, 2003.

[Plü65] Julius Plücker,On a new geometry of space, Philisophical Transactions of the Royal Societyof London155(1865), 725–791.

[PM99] Fan-Tao Pu and David M. Mount,Binary space partitions in plücker space, Selected papersfrom the International Workshop on Algorithm Engineering and Experimentation (London,UK), no. 32, ALENEX’99, Springer-Verlag, 1999, pp. 94–113.

[Poc93] Michel Pocchiola,The visibility complex, Proceedings of the ninth annual symposium onComputational Geometry, ACM Press, 1993, pp. 328–337.

[Pu98] Fan-Tao Pu,Data structures for global illumination computation and visibility queries in3-space, Ph.D. thesis, Chair-David M. Mount, 1998.

[PW01] Helmut Pottmann and Johannes Wallner,Computational line geometry, Springer Verlag,2001.

[RS97] Fritz Reinhardt and Heinrich Soeder,Atlas des mathématiques, La Pochothèque, LGF – Livrede Poche, 1997.

[Sat99] Hajime Sato,Algebraic topology : an intuitive approach, American Mathematical Society,1999.

[SBDL07] Frank Sottile, Hervé Brönnimann, Olivier Devillers, and Sylvain Lazard,Lines tangent tofour triangles in three-dimensional space, Discrete and Computational Geometry37 (2007),no. 3, 369–380.

[Sch79] Hermann Schubert,Kalkul der abzählenden geometrie, Springer Verlag, 1879.

[Sot03] Frank Sottile,Enumerative real algebraic geometry, AMS DIMACS series, vol. 60, 2003,pp. 139–180.

Page 242: g´eom´etriques pour le calcul de la visibilit´e globale ...xlim-sic.labo.univ-poitiers.fr/publications/files/publi2229.pdf · Résumé Cette thèse propose une étude des algèbres

230 Bibliographie

[ST02] Frank Sottile and Thorsten Theobald,Lines tangent to2n−2 spheres inRn, Transaction ofthe American Mathematical Society354(2002), 4815–4829.

[ST07] , Line problems in nonlinear computational geometry, ArXiv Mathematics e-prints(2007).

[Sto87] Jorge Stolfi,Oriented projective geometry, SCG ’87 : Proceedings of the third annual sym-posium on Computational geometry (New York, NY, USA), ACM Press, 1987, pp. 76–85.

[Sto91] , Oriented projective geometry : A framework for geometric computations, AcademicPress, San Diego, CA, USA, 1991.

[Tel92] Seth Teller,Visibility computation in densely occluded polyhedra environments, Ph.D. thesis,University of California, Berkeley, 1992.

[TH91] Seth Teller and Michael E. Hohmeyer,Stabbing oriented convex polygons in randomizedO(n2) time, Tech. Report UCB/CSD/91/669, Computer Science Department, University ofCalifornia, Berkeley, July, 1991.

[TH94] Seth Teller and Pat Hanrahan,Global visibility algorithms for illumination computations,Proceeding of SIGGRAPH’94, ACM Press, 1994, pp. 443–450.

[TH99] Seth Teller and Michael Hohmeyer,Determining the lines through four lines, Journal ofGraphics Tools4 (1999), no. 3, 11–22.

[The02] Thorsten Theobald,An enumerative geometry framework for algorithmic line problems inR3, SIAM Journal on Computing31 (2002), no. 4, 1212–1228.

[The03] , Visibility computations : From discrete algorithms to realalgebraic geometry, AMSDIMACS series, vol. 60, 2003, pp. 207–219.

[Tho72] René Thom,Stabilité structurelle et morphogénèse, Benjamin, New York, 1972.

[WCL04] R.J. Wareham, J.I. Cameron, and J. Lasenby,Applications of conformal geometric algebra incomputer vision and graphics, Proceedings of the 6th International Workshop on Mathema-tics Mechanization (Berlin), Lecture Notes in Computer Science, Springer, 2004, pp. 329–349.

[WL04] Richard J. Wareham and Joan Lasenby,Rigid body pose and position interpolation usinggeometric algebra, ACM Transactions on Graphics (2004).

[WLL04] Richard J. Wareham, Joan Lasenby, and Anthony Lasenby, Computer graphics using confor-mal geometric algebra, To appear in : Philosophical Transactions A of the Royal Society,special issue, 2004.