Opérations booléennes sur les polygones

Les opérations booléennes sur les polygones sont un ensemble d’opérations booléennes (AND, OR, NOT, XOR...) effectuées sur un ou plusieurs ensembles de polygones en infographie. Ces ensembles d’opérations sont largement utilisés en infographie, en CAO, et en conception électronique (dans les logiciels de conception et de vérification de circuits intégrés).

Différentes opérations booléennes

AlgorithmesModifier

Les algorithmes suivants permettent de faire des opérations booléennes sur les polygones :

Utilisations dans les logicielsModifier

Les premiers algorithmes effectuant des opérations booléennes sur les polygones reposaient sur l’utilisation de bitmaps. Mais l’utilisation de bitmaps pour modéliser la forme des polygones possède de nombreux inconvénients. L’un d’entre eux est que l’utilisation de la mémoire peut être très importante, du fait que la résolution des polygones est proportionnelle au nombre de bits utilisés pour les représenter. Plus la résolution désirée est grande, plus le nombre de bits nécessaire est important.

Les implémentations modernes des opérations booléennes sur les polygones tendent à utiliser des algorithmes de plan de balayage (ou de ligne de balayage). Une liste d'articles faisant usage de tels algorithmes pour effectuer des opérations booléennes sur les polygones se trouve en bibliographie ci-dessous.

Les opérations booléennes sur des polygones convexes et sur des polygones monotones de même direction peuvent être effectuées en temps linéaire[1].

RéférencesModifier

(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Boolean operations on polygons » (voir la liste des auteurs).
  1. Matthew J. Katz, Mark H. Overmars et Micha Sharir, « Efficient hidden surface removal for objects with small union size »", Computational Geometry: Theory and Applications 2 (4), 1992, p. 223–234, doi:10.1016/0925-7721(92)90024-M.

Voir aussiModifier

Articles connexesModifier

BibliographieModifier

Liens externesModifier

Logiciels