Surfaces implicites et fonction de potentiel

Auteur : Thierry Ciblac_

[Après deux articles sur les blobs et metaballs, abordant leur cristallisation dans l’imaginaire des architectes des 90’s, voici une présentation de ces mêmes objets du point de vue géométrique. Objectif du présent papier : comprendre le fonctionnement des metaballs pour les programmer, ici en VB sur Grasshopper (le code est en ligne).]

 

Nous allons ici illustrer la notion de fonction de potentiel permettant de définir des surfaces implicites. Sera utilisée une fonction de potentiel à rayon d’action limité inspirée de celle présentée par Triquet et al. (1999). On se donne un nombre n de points dans l’espace que l’on nomme primitives. Ces points seront appelés Pi, i étant un indice variant de 1 à n. Ces points Pi peuvent être imaginés comme appartenant à un squelette que l’on voudrait habiller de matière. Le rayon d’action Ri de chaque point permettra de définir jusqu’où il est possible d’ajouter de la matière autour du squelette. Pour chaque primitive on peut définir une fonction potentielle qui définira un champ scalaire dans l’espace calculé en fonction du rayon d’action. Dans notre exemple cette fonction prend des valeurs positives décroissantes jusqu’à devenir nulles au delà du rayon d’influence. C’est-à-dire qu’en tout point de l’espace on associera un nombre qui sera maximal en Pi et nul sur la sphère centrée en Pi de rayon Ri et au-delà.

Comment cela se traduit-il mathématiquement dans notre exemple ?

Les points Pi ont comme coordonnées (xi,yi,zi).

Pour tout point P(x,y,z), on calcule la distance di entre P et Pi.

di2 = (x – xi)2 + (y – yi) 2 + (z – zi) 2

Pour définir le potentiel créé par toutes les primitives, classiquement on additionne les Fi :

Avec cette expression on peut calculer en chaque point P de l’espace la valeur du potentiel F et chercher l’ensemble des points pour lesquels F>0, F>constante ou F=constante (par exemple F=0.323).

Si on considère l’ensemble des points vérifiant F>0, on conservera tous les points de potentiels non nuls car par définition de la fonction on a toujours F≥0. L’ensemble de ces points sera de nature volumique tout comme l’ensemble plus restreint formé par l’ensemble des points vérifiant F≥k où k est une constante >0. Augmenter k revient à faire « maigrir » le volume si bien qu’à partir d’une certaine valeur, il ne reste plus rien !

L’ensemble de points vérifiant F=k est lui de nature surfacique, ce qui permet de n’envisager que la peau du volume défini par F≥k.

L’expression F=k est alors l’écriture condensée de l’équation d’une surface implicite.

Une stratégie pour aborder le problème en informatique consiste à découper l’espace en petits cubes dans une zone définie et d’évaluer la fonction potentielle en aux sommets de ces cubes puis ne de conserver que les points vérifiant la condition choisie sur F. Cette méthode présente l’inconvénient d’être coûteuse en temps de calcul si on explore tous les points de la zone prédéfinie, on peut l’améliorer en se limitant aux zones d’influence des primitives.

Nous utilisons cette méthode dans l’application sur Grasshopper. Dans cette application, on définit deux constantes nommées potentiel et incrément afin de n’afficher que les points vérifiant la double inégalité :

potentiel ≥ F ≥ potentiel +incrément

La figure ci-dessous présente un nuage de points dans le cas de trois primitives.

La figure suivante montre une surface construite à partir des points trouvés à l’aide de la fonction « maillage à partir de points » de Rhinoceros.

 

Pour citer cet article

Thierry Ciblac « Surfaces implicites et fonction de potentiel », DNArchi, 29,/02/12, <http://dnarchi.fr/boiteoutils/surfaces-implicites-et-fonction-de-potentiel>

Codes à télécharger

Script Grasshopper : 2012-02_TC_srf-implicites-3-centres.ghx
Grasshopper definition pour v0.8.0006

Support Rhinoceros 4 : tc/2012-02_TC_srf-implicites-3-centres.3dm

Références bibliographiques

Frédéric Triquet, Philippe Meseure et Christophe Chaillou, « Affichage interactif de surfaces implicites », Actes des Rencontres de l’Association Française d’Informatique Graphique (AFIG), 1999 [en ligne], URL: <http://www-lil.univ-littoral.fr/~renaud/AFIG/RENCONTRES/ACTES/ACTES99/LIFL_Triquet.pdf>

About author
Thierry est chercheur au MAP-MAACC et enseigne à l'École Nationale Supérieure d'Architecture de Paris-La Villette.
Submit your comment

Please enter your name

Your name is required

Please enter a valid email address

An email address is required

Please enter your message

Licence Creative Commons
Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Partage à l'Identique 2.0 France.
Designed by WPSHOWER
Powered by WordPress
Image de fond: Taichi SUNAYAMA www.whiteweekendkites.com