Chapitre 26

Les OpŽrations sur la Matire

et le Vide

OpŽrations BoolŽennes

 

1 - OpŽrations sur la Matire et le Vide

 

2 - OpŽrations BoolŽennes

 

Retour au sommaire principal

 


1 - OpŽrations sur la matire et le Vide

1 - Introduction

Les BoolŽennes, ou Boolinnes, 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 Matire

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 "Matire" et "Antimatire".

 

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

 

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

 

 

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 matire. 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Ž matire du c™tŽ antimatire :

 

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

Par "solide", nous dŽsignons la matire 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-mmes :

 

-  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-mmes :

 

-  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 matire

La notion de "Matire" et "d'Antimatire" 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 sphre 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 critres topologiques rigoureux, faute de quoi l'opŽrateur de calcul risque de produire des erreurs ou des rŽsultats inattendus.

 

Les critres 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.

Critres 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 homogne et reflŽter le sens souhaitŽ pour la matire. Le logiciel tentera de corriger automatiquement le sens des normales d'un objet non homogne. Cependant, cette correction peut tre incomplte, impossible ou conduire ˆ un sens matire opposŽ ˆ celui souhaitŽ en rŽalitŽ. C'est pourquoi il est prŽfŽrable de contr™ler soi-mme 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 artes superposŽes, (objet de rŽvolution comme une sphre, 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 mme 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 mme.

 

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-mme.

 

 

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

 

 

-  Les objets ne doivent pas contenir de facettes en Žventail sur une arte 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

 

 

 

Aprs 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 matire dŽsirŽ, sinon inverser toutes les normales de l'objet.

 

 

 

 

 

VŽrifier un objet#

 

2 - VŽrifier un objet

 

 

 

Aprs qu'un objet a ŽtŽ crŽŽ par la voie gŽomŽtrique ou surfacique, ou aprs 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 critres 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 critres 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 pre 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 trs 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 matire 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Žnrent toujours le mme 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 modle appliquŽe au calque contenant les profils.

 

 

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

 

OpŽrations entre une sphre 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 modle numŽrique de terrain :