290 likes | 384 Views
Surfaces implicites Les différents modèles analytiques. Plan. Les transformations de l'espace Calcul de la normale Les surfaces implicites non-bornées Les primitives Les modèles de composition Les surfaces implicites bornées Les primitives Les modèles de composition
E N D
Surfaces implicites Les différents modèles analytiques
Plan • Les transformations de l'espace • Calcul de la normale • Les surfaces implicites non-bornées • Les primitives • Les modèles de composition • Les surfaces implicites bornées • Les primitives • Les modèles de composition • Surfaces implicites bornées / non bornées
Les transformations de l'espace • Rappel : • translation • rotation autour de (Ox)
Les transformations de l'espace • changement d'échelle
Appliquée à une surface implicite • Pour appliquer une transformation à une surface implicite, on transforme le repère local dans lequel elle est définie : f(x,y,z) rot trans ffinal(x,y,z) objet final scale
Evaluation de la fonction • Quand j'évalue la fonction ffinale en un point P de l'espace, je vais chercher la valeur de la fonction f d'origine au point p correspondant dans le repère de définition de la surface implicite :
Calcul de la normale • La normale en un point P d'une surface implicite est défini par le gradient de la fonction potentiel f en ce point P. si f(P) 0 définit le volume si f(P) 0 définit le volume
Les surfaces implicites non bornées • La fonction varie de façon continue dans tout l'espace. • L'isovaleur C0 est fixée à C0=0 • La convention intérieur / extérieur est à préciser en fonction des différents modèles • Exemples de primitives : • Les quadriques présentées au cours précédent • Le plan
Les primitives à squelette • Un squelette S est défini à partir d'une primitive géométrique simple • La fonction potentielle f est définie à partir de la distance d(S,P) entre un point P de R3 et le squelette S ou
r r r r Surfaces à squelettes
Les opérateurs de composition • Le mélange : Il s'agit d'une transition lisse et arrondie liant les objets composés avec des opérateurs de composition booléenne Intersection Union Différence
Les fonctions réelles • Modèle introduit par V.L. Rvachev en 1982 et approfondi par A. Pasko en 1994 : • Convention : f(P) 0 définit le volume • Union • Intersection • différence • Transition franche sur la surface mais le champ de potentiel est de continuité C1 partout ailleurs (fondamental pour le CSG).
Opérateurs avec transitions douces Convention : f(P) 0 définit le volume • Opérateurs avec mélange : • Transition douce sur la surface et le champ de potentiel est de continuité C1 en tous points.
Vérifiez votre compréhension • Avec un schémas du type de celui utilisé pour comprendre les opérateurs de composition à base des fonctions min et max, vérifiez le respect des conventions int/ext de ces opérateurs.
Les surfaces implicites bornées • La fonction varie de façon constante au delà d'un certain rayon d'influence. Dans notre cas, la constante est nulle. • L'isovaleur C0 est fixée à C0=0.5 en général • La convention intérieur / extérieur est : • f(P) > C0 : le point P est à l'intérieur du volume • f(P) < C0 : le point P est à l'extérieur du volume • f(P) C0 : définit le volume
Le "Blobby model" • Primitives locales par approximation : Au delà d’un certain rayon d’influence, la fonction est presque nulle. • Les primitives de base sont limitées à des sphères. • Le modèle : • Un blob isolé où di(x,y,z) est la distance entre le centre du blob et le point P(x,y,z). fi bi bi ai 0.5 di 0
Le mélange • Primitive complexe :
Les fonctions potentielles bornées • La gaussienne est approximée par une fonction polynomiale avec un rayon d’influence R. • Le calcul de l’exponentielle est évité et ainsi la fonction est moins coûteuse à évaluer. • Au delà d’un certain rayon d’influence R, la fonction vaut zéro. fi 1 0.5 R R di 0
Exemple de fonctions bornées • B. Wyvill (1986) : • N. Stolte (1996) si sinon si sinon
Les primitives à squelette • Cette représentation se prête tout particulièrement à l’utilisation de primitives à squelette car elle sont définies par une fonction de distance. • On remplace la fonction de distance d qui est définie entre un point P0 qui est le centre de la sphère et un point P(x,y,z) de l’espace par la distance entre le squelette S et un point P(x,y,z) de l’espace. • Le fonction fi reste la même. Seul le calcul de la distance change!
Les primitives négatives • Permet de retirer de la matière au lieu d’en ajouter sans augmenter la complexité du modèle.
Graphe de mélange • Pour éviter le mélange indésirable
Graphe de mélange • Les primitives sont regroupées par groupe. Les primitives d’un même groupe se mélangent entre elles et seuls sont mélangés les groupes reliés par un lien. • Exemple de la main : doigt 3 doigt 2 doigt 4 doigt 1 doigt 5 paume
Le CSG • Il existe des opérateurs CSG pour les primitives bornées, mais des recherches restent encore à faire pour les rendre plus adaptés • Les variations des champs de potentiels deviennent de plus en plus irrégulière et la forme du mélange de plus en plus difficile a contrôler • Néanmoins, avec beaucoup de temps et d’efforts, on arrive à des résultats
Modèles bornés / non bornés • Modèles bornés : • Une évaluation moins coûteuse de la fonction potentielle • Plus difficile de développer des modèles de composition évolués • Adapté au mélange et l’animation d’une grande quantité de primitives • Modèles non bornés : • Evaluation chère de la fonction potentielle • Modèle général permettant d’intégrer n’importe quelle type de surface implicite • Une grande variété d’opérateurs de déformation et composition • Adaptés à la composition d’un petit nombre de primitives complexes utilisant des opérateurs plus évolués