For faster navigation, this Iframe is preloading the Wikiwand page for Géométrie de construction de solides.

Géométrie de construction de solides

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 tridimensionnelle).

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

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").

Opérations

[modifier | modifier le code]

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

Transformations géométriques

[modifier | modifier le code]

Ce sont les transformations géométriques classiques :

Opérations booléennes

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

Union (ou addition)

[modifier | modifier le code]

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.

Différence (ou soustraction)

[modifier | modifier le code]

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)…

Intersection

[modifier | modifier le code]

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

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

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.

Description spatiale

[modifier | modifier le code]

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.

Optimisation des calculs

[modifier | modifier le code]

La géométrie de construction de solides permet d'accélérer les calculs qui peuvent se baser sur des volumes plutôt que sur les polygones.

  • 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.
  • De façon plus étendue, la géométrie de construction de solides accélère tous les calculs de projection : clipping, culling, ombres... Il est en effet plus rapide de projeter un polygone formé par les arêtes d'un solide que de projeter les polygones du solide.
  • Les calculs de collision entre deux solides convexes sont très rapides, il suffit de tester si au moins un des deux a un point inclus dans l'autre.
  • 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

Inconvénients

[modifier | modifier le code]
  • 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.

Rendu accéléré

[modifier | modifier le code]

Pour le rendu temps réel rapide, on compile la géométrie de construction de solides dans un format qui retient le résultat des opérations booléennes. L'espace est alors statique.

Articles connexes

[modifier | modifier le code]

Liens externes

[modifier | modifier le code]
{{bottomLinkPreText}} {{bottomLinkText}}
Géométrie de construction de solides
Listen to this article

This browser is not supported by Wikiwand :(
Wikiwand requires a browser with modern capabilities in order to provide you with the best reading experience.
Please download and use one of the following browsers:

This article was just edited, click to reload
This article has been deleted on Wikipedia (Why?)

Back to homepage

Please click Add in the dialog above
Please click Allow in the top-left corner,
then click Install Now in the dialog
Please click Open in the download dialog,
then click Install
Please click the "Downloads" icon in the Safari toolbar, open the first download in the list,
then click Install
{{::$root.activation.text}}

Install Wikiwand

Install on Chrome Install on Firefox
Don't forget to rate us

Tell your friends about Wikiwand!

Gmail Facebook Twitter Link

Enjoying Wikiwand?

Tell your friends and spread the love:
Share on Gmail Share on Facebook Share on Twitter Share on Buffer

Our magic isn't perfect

You can help our automatic cover photo selection by reporting an unsuitable photo.

This photo is visually disturbing This photo is not a good choice

Thank you for helping!


Your input will affect cover photo selection, along with input from other users.

X

Get ready for Wikiwand 2.0 🎉! the new version arrives on September 1st! Don't want to wait?