Chapitre 26

Les OpŽrations sur la Matire

et le Vide

OpŽrations BoolŽennes

 

1 - OpŽrations sur la Matire et le Vide

 

2 - OpŽrations BoolŽennes

 

Retour au sommaire principal

 


1 - OpŽrations sur la matire et le Vide

1 - Introduction

Les BoolŽennes, ou Boolinnes, sont des opŽrations relatives aux thŽories de Georges BOOLE, logicien et mathŽmaticien britannique (1815-1864).

 

Soit C l'objet rŽsultant d'une opŽration entre deux objets A et B. L'opŽrateur boolŽen de 3D Turbo comporte 10 opŽrations :

 

l'union (ou fusion) de 2 solides A et B

C = A U B

 

 

l'intersection de 2 solides A et B

C = A B

 

 

la soustraction de 2 solides A et B

C = A - B

C = B - A

 

la soustraction ouverte de 2 solides A et B

C = A - B

C = B - A

 

la soustraction sur l'enveloppe, peau de A

la soustraction sur l'enveloppe, peau de B

C = A - B

C = B - A

 

la section commune - Profil d'intersection (ET exclusif)

C = A et B

 

 

la diffŽrence symŽtrique de 2 solides A et B (OU exclusif)

C = A xor B

 

 

2 - La Matire

Avec les opŽrations boolŽennes, 3D Turbo est non seulement un logiciel 3D "surfacique" mais Žgalement un logiciel 3D "volumique", ce qui signifie qu'il faut raisonner "Matire" et "Antimatire".

 

Les opŽrations boolŽennes de 3D Turbo fonctionnent sur les volumes (surfaces fermŽes) et les surfaces ouvertes.

 

La "Matire" n'existe que par rapport ˆ "l'Antimatire", le "Plein" par rapport au "Vide",. "l'IntŽrieur" par rapport ˆ "l'ExtŽrieur". "Matire, Plein, IntŽrieur" sont des synonymes dŽsignant la partie solide d'un objet. "Antimatire, Vide, ExtŽrieur, Creux, Poche" sont des synonymes dŽsignant l'espace dŽpourvu de matire.

 

 

L'enveloppe (ou peau) dŽlimite l'intŽrieur de l'extŽrieur.

 

Cette partie n'a aucune Žpaisseur. Elle permet simplement de reprŽsenter la matire. Dans 3D Turbo, cette partie est appelŽe "Surface", d'o le qualificatif de "Surfacique" quand la notion de "Solide" n'existe pas.

 

 

 

Dans 3D Turbo, c'est l'orientation des "Normales" aux surfaces qui diffŽrencie le cotŽ matire du c™tŽ antimatire :

 

3 - DŽfinition des opŽrations boolŽennes

Par "solide", nous dŽsignons la matire de l'objet, pour faire ressortir la notion de "peau" qui n'est que le reste de l'enveloppe de l'un des deux objets.

 

 

Soit deux objets A et B, dont les normales sont orientŽes vers l'intŽrieur, donc des objets solides.

 

 

 

 

 

 

Union de solides#

 

1 - Union de solides - Addition BoolŽenne

 

 

 

L'union ou fusion de A et B, notŽe A U B (A union B), est formŽe des ŽlŽments de l'ensemble C qui appartiennent ˆ A ou ˆ B (ˆ au moins l'un des deux).

 

 

 

 

 

 

 

Intersection de solides#

 

2 - Intersection de solides - Partie commune

 

 

 

L'intersection de A et B, notŽe A B (A inter B), est formŽe des ŽlŽments de l'ensemble C qui appartiennent ˆ la fois ˆ A et ˆ B (ensemble des ŽlŽments communs).

 

 

 

 

 

 

 

Soustraction de solides#

 

3 - Soustraction de solides.

 

 

 

La diffŽrence (ou soustraction) entre A et B, notŽe A - B (A moins B), est formŽe des ŽlŽments de C qui sont eux-mmes :

 

-  soit des ŽlŽments de A qui n'appartiennent pas ˆ B

-  soit des ŽlŽments de B qui n'appartiennent pas ˆ A

 

 

 

 

 

 

 

Soustraction sur l'enveloppe#

 

4 - Soustraction sur l'enveloppe - Peau de A-B

 

 

 

La diffŽrence (ou soustraction) entre A et B, notŽe A - B (A moins B), est formŽe des ŽlŽments de C qui sont eux-mmes :

 

-  soit des ŽlŽments de l'enveloppe (ou peau) A qui n'appartiennent pas ˆ B

-  soit des ŽlŽments de l'enveloppe (ou peau) A qui appartiennent ˆ la fois ˆ A et ˆ B

 

 

 

 

 

 

 

Soustraction Inverse sur l'enveloppe#

 

5 - Soustraction Inverse sur l'enveloppe

 

 

 

-  soit des ŽlŽments de l'enveloppe (ou peau) B qui appartiennent ˆ la fois ˆ A et ˆ B

-  soit des ŽlŽments de l'enveloppe (ou peau) B qui n'appartiennent pas ˆ A

 

 

 

 

 

 

 

Profil d'intersection#

 

6 - Section commune (ET exclusif) - Profil d'intersection

 

 

 

La section commune entre A et B, notŽe A et B, est formŽe des ŽlŽments de l'ensemble C qui appartiennent ˆ la fois aux deux objets A et B.

 

 

 

 

 

 

 

DiffŽrence symŽtrique de solides#

 

7 - DiffŽrence symŽtrique de solides (OU exclusif)

 

 

 

La diffŽrence symŽtrique de A et B, notŽe A xor B, est formŽe des ŽlŽments de l'ensemble C qui appartiennent ˆ l'un des deux objets A ou B et ˆ un seul.

 

4 - Importance du sens matire

La notion de "Matire" et "d'Antimatire" a une importance primordiale dans le rŽsultat des opŽrations boolŽennes.

 

Voici un exemple de fusion sur deux objets A et B.

 

La combinaison des cas d'orientations de leurs normales offre quatre rŽsultats diffŽrents:

 

 

 

 

 

 

 

 

 

Une sphre dont les normales sont orientŽes vers l'extŽrieur, reprŽsente en rŽalitŽ un cube infini, avec une poche sphŽrique (vide) en son milieu.

 

N'ayant pas d'autre moyen pour reprŽsenter cet infini, nous dessinons ce qui a une Žchelle humaine "la poche".

 

C'est en fonction de cette contrainte que les objets crŽŽs dans 3D Turbo par une opŽration boolŽenne sont diffŽrents.

 

Si les normales des deux objets A et B sont orientŽes vers l'intŽrieur, c'est ˆ dire que l'enveloppe dessinŽe reprŽsente l'extŽrieur des objets, la fusion qui en rŽsulte s'apprŽhende aisŽment.

 

Par contre, dans les trois autres cas, il faut penser constamment qu'on ne peut reprŽsenter que le "Vide" qui en rŽsulte, d'ailleurs c'est aussi la reprŽsentation de l'extŽrieur des objets.

5 - Constitution des Solides

Les ŽlŽments gŽomŽtriques mis en Ïuvre dans les opŽrations boolŽennes doivent rŽpondre ˆ des critres topologiques rigoureux, faute de quoi l'opŽrateur de calcul risque de produire des erreurs ou des rŽsultats inattendus.

 

Les critres suivants doivent impŽrativement tre respectŽs. Toute erreur produite par une opŽration boolŽenne doit conduire l'opŽrateur ˆ vŽrifier immŽdiatement la validitŽ des objets impliquŽs dans l'opŽration.

Critres de constitution des solides

Les objets utilisŽs dans une opŽration boolŽenne doivent remplir les conditions suivantes :

 

-  Les ŽlŽments A et B doivent tre des OBJETS rŽpertoriŽs (voir le chapitre "Les Objets").

 

-  L'orientation des normales des objets doit tre homogne et reflŽter le sens souhaitŽ pour la matire. Le logiciel tentera de corriger automatiquement le sens des normales d'un objet non homogne. Cependant, cette correction peut tre incomplte, impossible ou conduire ˆ un sens matire opposŽ ˆ celui souhaitŽ en rŽalitŽ. C'est pourquoi il est prŽfŽrable de contr™ler soi-mme l'orientation des normales

 

 

-  Les objets peuvent tre "FERMƒS" ou "OUVERTS"

 

Un objet ouvert est un objet dont la peau prŽsente un trou.

 

Ca peut tre un objet fermŽ ˆ l'origine, dont on a enlevŽ une ou des facettes.

 

Ca peut tre Žgalement un objet ayant deux artes superposŽes, (objet de rŽvolution comme une sphre, avec profils 0 et 360 superposŽs) :

 

-  L'objet peut tre rŽduit ˆ un Plan (le plus simple des objets ouverts)

 

-  Les objets peuvent tre constituŽs de plusieurs parties physiquement disjointes, regroupŽes sous un mme nom d'objet

 

Remarque : Certains objets constituŽs de plusieurs solides, peuvent tre parfois considŽrŽs soit comme "OUVERTS" soit comme "FERMƒS", le rŽsultat n'Žtant pas du tout le mme.

 

Soit un objet (A) constituŽ de deux cubes, ayant une facette adjacente, dont les points sont doublŽs :

 

 

Si on supprime l'une des deux facettes centrales, l'objet (A) peut tre soit "OUVERT" soit "FERMƒ".

Voici le rŽsultat d'une fusion entre les objets (A et B) si (A) est dŽclarŽ fermŽ.

 

Le logiciel en apprenant la forme de l'objet (A) a ignorŽ la partie de gauche, considŽrant qu'elle n'Žtait pas cohŽrente avec le reste.

 

 

Voici le rŽsultat d'une fusion entre les objets (A et B) si (A) est dŽclarŽ ouvert.

 

L'orientation de la facette centrale n'a pas d'importance, car le logiciel la corrige de lui-mme.

 

 

-  Les objets ne doivent pas s'auto-intersecter.

 

 

-  Les objets ne doivent pas contenir de facettes en Žventail sur une arte commune (cloisons).

 

 

-  Les objets ne doivent pas contenir des facettes adjacentes par un point.

 

 

 

-  Les objets ne doivent pas contenir des facettes fortement gauches.

 

-  Si un objet est ouvert, la ligne de coupe ne doit pas passer par l'ouverture.

 

 

 

-  Les objets peuvent rŽsider dans des calques diffŽrents

 

 

 

 

 

Orientation Automatique des Normales#

 

1 - Orientation Automatique des Normales

 

 

 

Aprs qu'un objet a ŽtŽ crŽŽ par la voie gŽomŽtrique ou surfacique, il est parfois nŽcessaire d'homogŽnŽiser l'orientation des normales de ses facettes en vue de son utilisation par les opŽrations boolŽennes, ou pour un rendu photorŽaliste.

 

á SŽlectionner l'objet ˆ orienter.

 

á Cliquer dans l'ic™ne .

 

VŽrifier que les normales aient bien ŽtŽ orientŽes dans le sens matire dŽsirŽ, sinon inverser toutes les normales de l'objet.

 

 

 

 

 

VŽrifier un objet#

 

2 - VŽrifier un objet

 

 

 

Aprs qu'un objet a ŽtŽ crŽŽ par la voie gŽomŽtrique ou surfacique, ou aprs qu'une opŽration boolŽenne a donnŽ un rŽsultat inattendu ou une erreur, il est nŽcessaire de vŽrifier s'il rŽpond aux critres topologiques requis pour son utilisation en vue de son utilisation par les opŽrations boolŽennes.

 

á SŽlectionner l'objet ˆ orienter.

 

á Cliquer dans l'ic™ne .

 

Observer la crŽation de nouveaux objets de type CNX. Ils reprŽsentent :

 

-  soit les parties physiquement sŽparŽes de l'objet

-  soit les parties d'objets constituant des anomalies topologiques (cloisons)

 

VŽrifier si les objets CNX sont normaux et acceptables (objets multi-composants) ou bien s'il s'agit de parties indŽsirables (cloisons,..)

 

Si des parties CNX sont jugŽes indŽsirables :

 

á Utiliser la fonction de nettoyage d'objet

 

 

 

 

 

Nettoyer un objet#

 

3 - Nettoyer un objet

 

 

 

Si un objet contient des ŽlŽments dŽtectŽs comme topologiquement inacceptables (cloisons CNX, etc), cette fonction va sŽparer ces ŽlŽments de l'objet et les mettre dans un autre objet de type CNX.

 

á SŽlectionner l'objet ˆ orienter.

 

á Cliquer dans l'ic™ne .

 

A l'issue de cette opŽration, l'objet initial aura donc ŽtŽ nettoyŽ de ses ŽlŽments indŽsirables et sera considŽrŽ comme bon pour les opŽrations boolŽennes.

2 - opŽrations booleennes

 

 

 

 

 

RŽaliser une OpŽration BoolŽenne#

 

1 - RŽaliser une OpŽration BoolŽenne

 

 

 

Pour rŽaliser une opŽration boolŽenne, prŽparer 2 objets rŽpondant strictement aux critres et restrictions ŽnoncŽs plus haut.

 

á Cliquer sur l'une des ic™nes

 

En suivant les indications affichŽes dans la barre d'Žtats :

 

á Pointer un nÏud du premier objet (valider par EntrŽe si l'option Valider choix objets a ŽtŽ cochŽe).

 

á Pointer un nÏud du second objet (valider par EntrŽe si l'option Valider choix objets a ŽtŽ cochŽe).

 

Remarque : Si un objet est hiŽrarchique, la sŽlection d'objets dans une opŽration boolŽenne sŽlectionne dÕabord l'objet pre au point cliquŽ tout en prŽservant la possibilitŽ de cliquer successivement pour atteindre les fils si l'option validation du choix des objets est active.. (Option+Clic dans ) Voir le paragraphe RŽglage des fonctions interactives du chapitre 8 - CrŽer des EntitŽs.

 

Le dialogue suivant est proposŽ :

                                

 

á VŽrifier que les noms d'objets affichŽs sont bien ceux des objets ˆ boolŽer.

 

Les cases ˆ cocher ouvert sont renseignŽes pour information, selon que les objets dŽsignŽs ont ŽtŽ dŽtectŽs comme Žtant ouverts ou non.

 

á Indiquer le numŽro du calque dans lequel l'objet rŽsultant sera crŽŽ (le prochain calque libre est proposŽ d'office).

 

Les objets gŽnŽrateurs ne sont jamais effacŽs ni modifiŽs.

 

á Cliquer OK pour dŽclencher le calcul de l'opŽration.

 

Les calculs sont animŽs ˆ l'Žcran.

 

On peut observer les diffŽrentes phases de l'opŽration :

 

-  Analyse topologique des volumes de chaque objet

-  Nettoyage de la zone d'intersection

-  DŽtermination du profil d'intersection

-  GŽnŽration de l'objet rŽsultant dans le calque destination

 

SŽlectionner le calque destination en mode Courant et observer le rŽsultat.

 

Si ce rŽsultat ne correspond pas ˆ ce qui est attendu :

 

á VŽrifier la constitution des objets ˆ l'aide des outils de vŽrification.

 

á Chasser les facettes nulles (facettes sans surface).

 

á Chasser les facettes gauches.

 

á Trianguler les objets.

ou

á Appliquer un infime dŽplacement ˆ l'un des deux objets.

 

á Recommencer l'opŽration.

 

L'une des dispositions ci-dessus suffit trs souvent ˆ rŽgler une situation d'erreur.

 

 

 

 

 

Charte des OpŽrations BoolŽennes#

 

2 - Charte des OpŽrations BoolŽennes

 

 

 

Le tableau ci dessous indique le rŽsultat des opŽrateurs boolŽens en fonction du sens matire des objets.

 

 

 

OpŽration

A U B

A ∩ B

A - B

B - A

A - B

ouvert

B - A

ouvert

A - B

peau

B - A

peau

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Les opŽrations de calcul de profil et de OU exclusif gŽnrent toujours le mme rŽsultat et ne sont donc pas reprŽsentŽes dans ce tableau.

 

 

 

 

 

Exemples d'OpŽrations BoolŽennes#

 

3 - Exemples d'OpŽrations BoolŽennes

 

 

 

Voici plusieurs exemples du r™le fondamental de l'orientation des facettes dans le rŽsultat d'une opŽration de FUSION :

Union (ou fusion) entre deux cubes :

 

 

 

Union (ou fusion) entre une pyramide et un cube :

 

 

Union (ou fusion) entre deux cylindres :

 

 

Union (ou fusion) entre un cube et un cylindre :

 

 

Union (ou fusion) entre une pyramide et un cylindre :

 

 

Union (ou fusion) entre un cylindre et un c™ne :

 

 

Exemple de sections - Profil d'intersection

La section contient des points qui appartiennent ˆ la fois ˆ l'objet A et ˆ l'objet B.

 

Elle peut servir comme parcours pour un tubage.

 

L'opŽrateur produit toujours 2 profils strictement superposŽs, un pour chaque objet.

 

Il est nŽcessaire de fusionner ces profils ˆ l'aide de la fonction d'optimisation du modle appliquŽe au calque contenant les profils.

 

 

OpŽrations boolŽennes entre un plan et un tore :

 

OpŽrations entre une sphre pleine et une pile de plans aux normales alternŽes :

 

 

 

 

 

 

 

 

 

Raccordement d'un Volume et d'une Surface (Soustraction A-B) :

Percement d'un Mur par Objet Disjoint
(Soustraction A-B) :

Passage routier dans un modle numŽrique de terrain :