GALERIE    EN COURS    SCENES    MACROS    GUIDE    A PROPOS


Chapiter 3 : Combinaison des solides



POVRay offre plusieurs méthodes permettant de combiner les solides entre eux. Ces opérations sont plus connues sous la dénomination CSG (Constructive Solid Geometry).


3.1 Intérieur, extérieur et surface...

Un solide défini un "intérieur". Tout ce qui n'appartient pas au solide est appelé "extérieur". La limite entre intérieur et extérieur est appelé "surface". Tout cela se comprend sans peine et est facile à imaginer. Nos pauvres ordinateurs n'ayant pas encore cette capacité, il a fallu trouver un moyen pour modéliser les solides et les surfaces. Nous n'avons à l'heure actuelle que les nombres pour réaliser cette modélisation. Et comme vous le savez, la précison des calculs est limitée !

Tout ceci pour expliquer que nous ne pouvons différencier l'intérieur de l'extérieur d'un solide qu'à la précision des calculs près. Nous le verrons plus loin, cette limitation est IMPORTANTE et peut causer quelles mauvaises surprises.


3.2 A quoi sert le combinaison des solides ?

Et bien à créer les solides complexes à partir de formes simples. Une fois créés on peut alors appliquer facilement toutes les transformations de formes, de position et de matière (couleurs, état de surface, indice de réfraction...), à tout les solides combinés en un seule opération.


3.3 Opérations de combinaison

Les cinq opérations que POVRay nous offre sont : l'union union { } , l'intersection intersection { } , la différence difference { } , la fusion merge { } et l'inversion inverse. Cette dernière est plutôt un complément aux quatres autres.


3.4 Objets utilisés

Pour les exemples nous utiliserons les deux objets ci-dessous :
cylindre de base
Un cylindre A
sphere de base
Une sphère B


3.5 Union

L'union union { } , permet "d'ajouter" deux ou plusieurs solides afin d'en créer un nouveau. L'exemple ci-dessous montre l'union du cylindre et de la sphère :
union sphere et cylindre
union sphere et cylindre
union sphere et cylindre avec transparence
union sphere et cylindre avec transparence
L'image de droite montre l'union avec les solides transparents. Comme vous pouvez le constater, les parties communes aux deux solides sont toujours existantes. La syntaxe est : union { cylinder { } sphere { } }

L'union correspond à l'opérateur booléen OR : C = A OR B.


3.6 Intersection

L'intersection intersection { } , crée un solide formé par l'ensemble des points communs au deux solides. L'exemple ci-dessous montre l'intersection du cylindre et de la sphère.
intersection sphere cylindre
intersection sphere cylindre
intersection sphere et cylindre avec transparence
Avec la sphère et le cylindre an transparence.


3.7 Différence

La différence difference { } , crée un solide formé par l'ensemble des points qui appartiennent au premier solide mais pas au deuxième. La soustraction n'est pas commutative. L'ordre est important.
difference sphere-cylindre
Sphere moins Cylindre
difference cylinder-sphere
Cylindre moins Sphère


3.8 Fusion/Merge

Nous avons vu plus haut que l'union "garde" les deux solides. L'opération merge { } élimine les surfaces intérieure. Le résultat n'est visible que si les solides sont transparents.
intersection sphere cylindre
Fusion sphère et cylindre

L'union correspond à l'opérateur booléen XOR : C = A ⊕ B.


3.9 Inverse

Lorsque inverse { } est utilisé, l'intérieur et l'extérieur du solide sont inversés.