• Aucun résultat trouvé

Décomposition en domaines

I.3 Modèles géométriques en CAO

I.3.2 Fonctions implicites

Les fonctions implicites, plus utilisées en réalité virtuelle et en animations qu’en CAO, offrent un moyen attrayant de modéliser des objets qui peuvent par ailleurs être solides ou non ([DES92]). Un objet est représenté par une fonction F(P), décrivant pour chaque point P, sa position relativement à la surface. Plus précisément, soit iso une constante réelle, si F(P)=iso, le point est sur la surface, si F(P)>iso, P est à l’extérieur de l’objet (selon la convention adoptée) et F(P)<iso quand P est à l'intérieur. C'est donc autant un modèle de solides que de surfaces.

1 Régulière signifiant que la normale à la surface ne s'annule jamais

La fonction F peut être une fonction algébrique, ce qui rend les traitements sur le solide difficiles à maintenir, notamment à cause du degré parfois élevé des équations. Pour pallier cela sont apparues les formes à squelettes ([BLO90], [BLO00]). Le squelette est vu comme un ensemble de sources de potentiel auxquelles est associée une fonction exprimant la valeur de ce potentiel en fonction de la position. Ce potentiel exprime en général la distance d'un point à la source la plus proche ou une combinaison des sources les plus proches. Les sources et les fonctions potentielles peuvent être de natures différentes. Les squelettes les plus simples sont formés de sources ponctuelles nombreuses. C'est le cas des "blobs" (fonction exponentielle, [BLI82]), des "méta-balls" (fonction polynomiale à étendue limitée, [JIN00]) et des "soft-objects" (fonction polynomiale en la distance au carré, [WIT86]).

Mais la fonction F peut également être définie de manière procédurale ([BLO90]), ce qui permet d'exprimer des conditionnelles ou autres opérations difficiles à exprimer de manière analytique. Dans cet article ([BLO90]), les squelettes peuvent être plus complexes et sont composés de points, de splines et de contours composés de splines. A chaque élément est associée une procédure calculant la valeur du potentiel.

De manière générale, les opérations booléennes sont réalisées plus aisément qu’avec la représentation paramétrique des surfaces car il suffit d'appliquer une opération de mélange des potentiels. [PAS95] définit de manière analytique des fonctions de mélange permettant de réaliser l'union et l'intersection à l'aide de fonctions simples. Une attention particulière doit cependant être accordée au mélange des squelettes afin que deux squelettes ne devant pas fusionner restent bien distincts. L'exemple souvent cité est celui de la main où les doigts doivent être mélangés à la paume au niveau de l'articulation, mais pas au-delà. Ceci est réalisé en maintenant, pour chaque élément de squelette, l'ensemble des éléments de squelette avec lesquels il peut fusionner. Il est également possible d'effectuer d'autres opérations, comme une torsion autour d'un axe – en composant la fonction potentiel avec une fonction déformation ([ROS97]) – ou le calcul d'isosurfaces. Une isosurface est une surface obtenue par modification de la fonction rayon associée, en retranchant ou en ajoutant une constante, sans affecter la forme du squelette. Cela aboutit à une réduction ou une augmentation du volume répartie uniformément sur toute la surface de l'objet.

Cette représentation étant implicite, la visualisation des objets nécessite soit un lancé de rayons, soit une discrétisation (maillage). Pour mailler un tel objet, il y a essentiellement deux types de méthodes : soit une méthode par décomposition spatiale tel le marching cube

([LOR87]), soit une triangulation de points répartis préalablement sur la surface avec des méthodes basées par exemple sur un arbre octal ou sur des systèmes à particules ([WIT94]).

En outre, l'objet médian ("Medial Axis") est également une représentation implicite de l'objet et le MAT ("Medial Axis Transform") est un moyen de déduire une représentation implicite, le plus souvent approchée, à partir d'une représentation par la frontière. Cette représentation n’est cependant pas utilisée pour la modélisation mais pour des traitements divers : découpage du domaine, idéalisation de la géométrie, calcul d’offsets, ... La fonction F n’est pas disponible en général.

Les fonctions implicites permettent une modélisation géométrique intéressante dans le sens où la manipulation des squelettes est intuitive et permet de réaliser relativement aisément des combinaisons et des déformations de l'objet, qui peuvent même changer son genre. De plus ce modèle est tout à fait adapté à la représentation du vivant, difficile à représenter à l'aide de surfaces paramétriques. C'est pourquoi ces modèles sont utilisés entre autres pour les objets fortement déformables dans les domaines de la visualisation réaliste et de l'imagerie médicale.

Une difficulté de maillage liée à la représentation implicite des objets est qu'il est difficile de déterminer la densité du maillage de manière à ce que le genre de l'objet ne change pas. Ceci provient du fait que la surface de l'objet n'est pas connue explicitement, comme le nom l'indique. Ce problème n'apparaît pas avec les surfaces paramétriques où le genre peut être maintenu en réalisant le maillage dans l'espace paramétrique. Cependant des travaux ont été faits pour minimiser les risques de changement de topologie avec notamment l'utilisation d'un système à particules pour la répartition des points sur la surface avant le maillage ([WIT94]).

De plus, un autre inconvénient est l'évaluation répétée de la fonction F nécessaire à la discrétisation ce qui implique un temps de calcul relativement important et nuit à un usage interactif.

Enfin pour mailler un solide, la méthode la plus simple (par décomposition spatiale) pour détecter la surface, ne nécessite que le test d'appartenance d'un point au solide, ce qui revient à une évaluation de la fonction potentiel F pour un point donné. En effet, le calcul du point d'intersection d'une arête avec la frontière, nécessaire au calcul d'intersection d'une cellule (cube, hexaèdre, tétraèdre) avec la frontière peut être réalisé par dichotomie (voir I.2.1.a.3).

Cependant, quand il est nécessaire de contrôler le maillage par la courbure de la surface, comme c’est le cas dans [WIT94], il faut en général disposer des dérivées premières.

Ces modèles de courbes, de surfaces sont utilisés conjointement avec deux types de structure permettant de lier certaines de ces entités : la représentation par les frontières (BRep : Boundary Representation) pour les courbes et surfaces paramétriques, et/ou l’historique de construction (CSG : Constructive Solide Geometry). Ces structures peuvent également être utilisées simultanément.