• Aucun résultat trouvé

Classement d’un ´ el´ ement non volumique

2.3 Application des op´ erations bool´ eennes r´ egularis´ ees dans la pratique

2.3.1 Classement d’un ´ el´ ement non volumique

Le classement d’un ´el´ement non volumique par rapport au mod`ele CSG d’une sc`ene consiste `a estimer sa position vis-`a-vis de lui. Plus pr´ecis´ement, il d´etermine si cet ´el´ement se situe `a l’ext´erieur, `a l’int´erieur de lui ou sur sa surface.

Comme tous les points contenus dans un ´el´ement surfacique ont le mˆeme classement par rapport au mod`ele CSG d’une sc`ene donn´ee, un seul point parmi eux est consid´er´e. Son classement est estim´e relativement `a la racine de l’arbre CSG. Pour cela, il est d’abord calcul´e par rapport `a l’ensemble des primitives. Ainsi, chaque feuille est marqu´ee par un signe : −1, 1 ou 0 pour indiquer respectivement ext´erieur, int´erieur ou surface. Ensuite, en partant des feuilles, un parcours progressif des op´erations bool´eennes sur les nœuds internes permet de remonter jusqu’`a la racine de l’arbre CSG. Nous parlons alors d’une ´evaluation de l’arbre CSG.

Les op´erations bool´eennes union, intersection et compl´ement au sens de la th´eorie des ensembles sont appliqu´ees selon la convention donn´ee commedans le tableau 2.1.

Il se trouve que le r´esultat pour la plupart des cas illustr´es dans le tableau 2.1 reste le mˆeme lorsque les op´erations bool´eennes sont r´egularis´ees (voir tableau 2.2).

Comme nous pouvons le voir, si l’´evaluation de l’arbre CSG ne rencontre pas 0∪0 ou 0∩0, alors le signe−1, 1 ou 0 obtenu pour sa racine en utilisant les op´erations bool´eennes ensemblistes du tableau 2.1 garantit que le point se trouve respectivement `a l’ext´erieur, `

a l’int´erieur ou sur la surface du mod`ele CSG, ce qui d´etermine son classement. Sinon, ce dernier risque de s’av´erer erron´e et m´erite une ´etude plus approfondie.

En effet, dans l’exemple o`u au moins deux objets g´eom´etriques, qui ne partagent pas de volume, ont un ´el´ement non volumique en commun qui se se situe sur leur surface, l’intersection non r´egularis´ee de ces objets r´esulte en ce mˆeme ´el´ement. Il devient alors pendant et par cons´equent il n’est pas sur la surface du mod`ele BRep (voir figure2.4).

Chapitre 2. CSG, BRep : d´efinitions et propri´et´es

union intersection compl´ement

∪ −1 0 1 −1 −1 0 1 0 0 ? 1 1 1 1 1 ∩ −1 0 1 −1 −1 −1 −1 0 −1 0 0 1 −1 0 1 !(−1) = 1 !(0) = 0 !(1) =−1

Tab.2.1 – Ce tableau repr´esente les op´erations union, intersection et compl´ement au sens de la th´eorie des ensembles. Les signes −1, 1 et 0 indiquent respectivement l’ext´erieur, l’int´erieur et la surface d’un ensemble donn´e. `A titre d’exemple, un point p situ´e `a l’ex-t´erieur de deux ensembles g´eom´etriques A et B est ´egalement `a l’ext´erieur de A∪B et de A∩B. Notons que lorsquep se trouve sur la surface de A et de B, ces op´erations ne permettent pas de conclure s’il est positionn´e `a l’int´erieur ou sur la surface de A∪B.

De mˆeme, prenons l’exemple o`u deux objets g´eom´etriques volumiques A et B born´es par des surfaces simples n’ont pas de volume en commun, mais partagent une faceF, et o`u les faces deAetB adjacentes en une arˆete deF et distinctes deF, not´ees respectivement

FA et FB, reposent sur une mˆeme surface g´eom´etrique. Centrons notre attention sur l’arrˆete commune de F, FA etFB. Cette arˆete est d´etermin´ee comme arˆete de A∩B, et ses extr´emit´es comme sommets. Cependant elle correspond `a une fissure de dimension 1 dans le mod`ele CSG et ne d´elimite pas de face sur sa version BRep (cf. figure2.5) ce qui est en contradiction avec la d´efinition que nous avons donn´ee dans la section 2.2.

Ces exemples d’intersection et d’union non r´egularis´es montrent bien que les op´erations 0∩0 =? ou 0∪0 = 0 posent deux probl`emes : d’une part elles ne permettent pas de classer de fa¸con fiable un ´el´ement non volumique (il n’est pas certain que cet ´el´ement se trouve effectivement sur le bord du mod`ele CSG), et d’autre part, mˆeme si le classement s’av`ere correct, elles ne peuvent pas garantir qu’il s’agisse bien d’une face, une arˆete ou un sommet du mod`ele BRep correspondant (par exemple un segment de courbe qui est bien sur la surface du mod`ele CSG, mais qui ne d´elimite pas pour autant une face de sa version BRep).

2.3. Application des op´erations bool´eennes r´egularis´ees dans la pratique union r´egularis´ee intersection r´egularis´ee compl´ement r´egularis´e

r −1 0 1 −1 −1 0 1 0 0 ? 1 1 1 1 1 ∩r −1 0 1 −1 −1 −1 −1 0 −1 ? 0 1 −1 0 1 !r(−1) = 1 !r(0) = 0 !r(1) =−1

Tab.2.2 – Ce tableau repr´esente les op´erations union, intersection et compl´ement r´ egu-laris´es. Les signes−1, 1 et 0 indiquent respectivement l’ext´erieur, l’int´erieur et la surface d’un ensemble donn´e. Notons qu’ici, lorsqu’un point p se trouve sur la surface de deux ensembles g´eom´etriquesAet deB, ces op´erations ne permettent pas de conclure o`u il est positionn´e par rapport `aA∪rB (similairement au tableau 2.1) et par rapport `a A∩rB.

point commun segment commun surface commune

Fig. 2.4 – Objets volumiques qui ont un ´el´ement non volumique en commun. Leur in-tersection r´esulte respectivement en un point (dimension 0), en un segment (dimension 1) et en une face (dimension 2). Leur intersection r´egularis´ee est r´eduite de son cˆot´e `a l’ensemble vide.

afin de v´erifier s’ils sont des arˆetes du mod`ele BRep, ceux-ci serons au centre de notre attention dans la suite du chapitre. Notons que si les op´erations bool´eennes non r´ egulari-s´ees ne suffisent pas toujours pour d´eterminer avec certitude le classement d’un segment, une ´etude du volume qui l’entoure permet de l’´etablir. En particulier un segment qui ne borne pas de volume peut ˆetre par exemple pendant ou d´elimiter une surface pendante et par cons´equent il doit ˆetre ´elimin´e. De mˆeme, il peut ˆetre enti`erement entour´e de volume. Dans ce cas-l`a il se situe `a l’int´erieur du mod`ele et il n’a pas besoin d’ˆetre conserv´e. Par contre, si le segment est partiellement entour´e par le volume du mod`ele, alors il repose sur sa surface. Dans ce contexte, il est consid´er´e comme arˆete uniquement lorsque le volume

Chapitre 2. CSG, BRep : d´efinitions et propri´et´es face commune sommets communs aretes communes F B A

Fig. 2.5 –AetB sont deux cubes partageant une faceF. Les faces deA etB adjacentes en une arˆete de F et distinctes de F, reposent sur un mˆeme plan. Leurs arˆetes communes restent sur le bord de leur union non r´egularis´ee et forment ainsi des fissures de dimension 1, ce qui ne correspond pas au mod`ele BRep associ´e.

qui l’entoure n’est pas d´elimit´e par le mˆeme cˆot´e d’une seule surface (cf. figure 2.6). Afin de concr´etiser ce que nous appelons volume autour d’un segment, nous recourons `a la notion de voisinage d’un point.

face de B qui est sur le bord du modele BRep

face de B qui n’est pas sur le bord du modele BRep b)

a)

B A B A

Fig. 2.6 – Sc`enes constitu´ees de l’union r´egularis´ee de deux cubes A et B. La face de

B qui est d´elimit´ee par des segments rouges est contenue dans la face sup´erieure de A. Ces segments sont sur la surface du mod`ele CSG. Deux situations sont distingu´ees : a)B

est contenu dans A - les segments en rouge ne d´elimitent pas une face sur A∪rB et ne d´efinissent donc pas des arˆetes sur le mod`ele BRep qui lui est associ´e ; b) A et B n’ont pas de volume commun - les segments en rouge d´efinissent des arˆetes sur le mod`ele BRep.