Les différents modèles 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 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 :
Illustration sur du CSG
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
Surfaces à squelettes r r r r
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 Union Intersection Différence
Les fonctions réelles Union Intersection différence 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" fi bi bi ai 0.5 di 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
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
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
L’écrasement
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
Quelques résultats
Quelques résultats
Modèles bornés / non 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