Ecrit par Olivier Saraja (olivier_at_linuxgraphic.org)
Dans ce didacticiel, nous allons voir comment modéliser un tournevis en utilisant la technique du CSG (Constructive Solid Geometry). La procédure est assez linéaire, et repose sur la logique Booléenne. Cela nécessite de la rigueur et quelques connaissances de base pour obtenir le résultat souhaité. Heureusement, l'Arbre des Objets (voir notre précédent didacticiel) va nous aider à obtenir le bon résultat. Mais intéressons-nous d'abord à quelques explications sur les opérations Booléennes.
Quelques mots sur les opérations Booléennes
Kpovmodeler permet d'utiliser quatre type d'opérations Booléennes au cours des étapes de modélistation. Union, Intersection, Différence et Merge (Fusion en français, le logiciel n'étant pas encore francisé au moment où cet article est rédigé). Regardons de plus près comment ces opérations fonctionnent lorsque deux (ou plus!) volumes interfèrent:
Union et Merge:
Ces deux opérations semblent se comporter de la même façon: les deux objets semblent collés l'un à l'autre (de même que sur l'image précédente qui n'implique aucune opération Booléenne). Mais en fait, il y a de légères différentes entre les deux résultats, qui peuvent aisément être mis en évidence si vous donnez la même texture -avec un peu de transparence- aux deux objets (disons un Pigment de type Solid Color, avec une valeur de Filter réglée à environ 0.4).
En fait, Union se contente de lier les deux objets ensembles tout en en respectant les frontières individuelles, alors que Merge ne prend en compte que la frontière extérieure de la somme des deux objets fusionnés. C'est pourquoi le volume d'interférence est visible sur l'image représentant l'Union, et pas sur l'image du Merge. En première approche, vous pouvez considérer que la différence entre Union et Merge n'est imoprtante que si vous travaillez avec des matériaux transparents.
Une question courante pourrait être « Pourquoi dois-je m'embêter à utiliser Union ou Merge lorsque je peux obtenir exactement le même résultat en n'utilisant pas la CSG? » Il faut bien l'admettre, vous avez certainement raison: au rendu de l'image (à moins que vous n'utilisiez des matériaux semi-transparents), vous ne verrez pas la différence. C'est plus dans la façon que vous allez traiter les objets impliquant une opération Merge ou Union que vous remarquerez une différence. Lorsque plusieurs objets sont impliqués, vous pouvez faire tourner, déplacer, redimensionner, assigner un matériau et faire bien plus de choses encore (comme exporter l'objet, comme nous le verrons dans la conclusion!) en une seule opération, si vous avez au préalable utilisé une opération Booléenne de ce type. Si vous êtes passé outre, il ne vous reste plus qu'à appliquer chacune des transormations envisagées à chaque objet, un par un! Mais bon, c'est votre temps et votre argent, libre à vous de vous embêter inutilement!
Intersection:
Le résultat d'une opération d'intersection est assez facile à comprendre: le volume résultat est égal au volume d'interférence des deux objets. Notez dans tout ce qui suit la couleur des surfaces résultantes: une face commune hérite des propriétés de texture de l'objet qui a été supprimé.
Différence:
L'ordre dans lequel les objets sont présentés dans l'Arbre des Objets (en lisant du haut vers le bas) est particulièrement important dans ce cas: un objet Boîte (Box) suivi d'un objet Sphère se lirait, de façon Booléenne, comme une opération « soustraire le volume de la Sphère au volume de la Boîte». Réciproquement, l'objet Sphère suivi de l'objet Boîte se lirait comme une opération Booléenne de type « soustraire le volume de la Boîte au volume de la Sphère ».
A nouveau, vous pouvez prêter attention aux couleurs des surfaces communes résultant de ces opérations Booléennes. Sur la figure Difference = Sphere - Box, il n'apparaît pas clairement, par exemple, que l'intérieur de la Sphère découpée est rouge, couleur de la Boîte ayant servi à la découpe.