Géométrie de construction de solides

Un article de Wikipédia, l'encyclopédie libre.

En infographie, la géométrie de construction de solides (CSG en anglais: Constructive Solid Geometry) est une branche de la modélisation des solides (ou modélisation 3D).

Cette technique de modélisation géométrique concerne la représentation d'un objet solide comme combinaison d'objets solides simples (ex: cylindre, sphère, cone, tore, etc.) à l'aide d'opérateurs géométriques booléens.

La modélisation géométrique des solides procède de 2 méthodes :

  • la CSG (dite aussi "modélisation solide" ou "modélisation volumique"),
  • la B-Rep ("Boundary Representation" dite aussi "modélisation surfacique").


Sommaire

[modifier] Opérations

On applique des opérations booléennes et des transformations géométriques.

[modifier] Transformations géométriques

Ce sont les transformations géométriques classiques :

[modifier] Opérations booléennes

Union (ou addition) Différence (ou soustraction) Intersection
Démonstration de l'union Demonstration de la différence Demonstration de l'intersection
L'assemblage des deux objets. La soustraction d'un objet de l'autre. La partie commune aux deux objets.

[modifier] Union (ou addition)

Le résultat est l'assemblage des deux objets. Il y a parfois la possibilité de réaliser cette opération sur plus de deux objets.

[modifier] Différence (ou soustraction)

Le résultat est le premier objet moins la partie commune avec le second. Avec certains logiciels (POV-Ray par exemple), il est possible d'inverser un objet (ce qui revient à faire la soustraction inverse)…

[modifier] Intersection

Le résultat est la partie commune aux deux objets.

[modifier] Structure

Les objets en Géométrie de construction de solides peuvent être représentés par des arbres binaires, dans lesquels les feuilles représentent les primitives, et les nœuds représentent les opérations.  intersection  union  différence
Les objets en Géométrie de construction de solides peuvent être représentés par des arbres binaires, dans lesquels les feuilles représentent les primitives, et les nœuds représentent les opérations.
  • \cap intersection
  • \cup union
  • -\! différence

La géométrie de construction de solides est stockée sous une forme arborescente (arbre) qui décrit : l'opération et les éléments manipulés. L'utilisation d'arbre permet de faire très facilement des modifications.

[modifier] Avantages

  • De par sa nature mathématique, les volumes complexes décrits par cette technique ont des frontières parfaites et non approchées comme par les techniques à base de polygones par exemple. Ainsi, les bords d'une sphère seront parfaits, quel que soit le niveau de détail choisi.
  • Cette méthode de modélisation est assez adaptée au lancer de rayon car ce dernier travaille principalement par intersection de demi-droites avec des volumes mathématiques, et permet des calculs allégés. Par exemple, l'intersection d'une droite avec une sphère est plus facile qu'avec un ensemble de polygones approchant la forme de la sphère
  • Le calcul d'éventuelles réflexions ou réfractions à l'intérieur des volumes est facilité car on connaît précisément les équations décrivant la surface du volume, en particulier la normale et la tangente

[modifier] Désavantages

  • La liberté de modélisation est restreinte par les possibilités de créer le volume désiré par un ensemble d'opérations. De plus les formes présentes dans le monde réel sont peu ou pas géométriques et même un ballon n'est pas parfaitement sphérique lorsqu'il est posé sur le sol.
  • On peut facilement arriver à des hiérarchies d'opérations très complexes qui vont alourdir les calculs de rendu.
  • Le nombre de primitives disponibles va directement influer sur l'algorithme de rendu car ce dernier doit savoir les prendre toutes en compte ce qui peut alourdir son écriture.

[modifier] Voir aussi

[modifier] Lien externe

(en) OpenCSG : une bibliothèque libre en C++ et OpenGL.