(Bon, les billets avec de vrais bouts de technique dedans s'accumulent, et si je les laisse hors ligne je n'arriverai jamais à retrouver les infos - c'est ballot, dotclear ne propose pas de moteur de recherche sur les billets offline. Donc bon, désolé pour les non-SciGeeks, il risque d'y avoir un peu de bruit sur la ligne dans les jours qui viennent).
Les level sets (lignes de niveau en französich, mais je pense qu'à part les adeptes des cartes IGN peu de monde utilise la VF) sont des ensembles de variables d'une fonction f tels que f est constante. Pour reprendre l'exemple géographique, si x est la longitude, et y la latitude, on peut définir les lignes de niveau comme étant les points d'altitude z=f(x,y) constante. On parle donc de ligne de niveau pour une fonction de R^2 dans R, de surface de niveau ou d'isosurface pour une fonction de R^3 dans R, et plus généralement de ... level set pour une fonction de R^n dans R.
Des méthodes numériques s'appuyant sur les propriétés des level sets sont utilisées en imagerie et infographie, mais également pour modéliser les phénomènes de propagation de front, et en particulier pour ce qui concerne les mécaniciens en optimisation de forme ou encore en mécanique de la rupture pour étudier la propagation d'un front de fissure.
Quelques liens :
- une introduction simple avec quelques joulis dessins sur Multivariable calculus and vector analysis
- des slides en français (autre lien okazou ici) dans le cadre d'un cours sur les méthodes de traitement d'image (master d'info, Paris VI)
- les pages perso des "fondateurs" : Stanley Osher et James Sethian. Ca vaut également le coup d'aller voir la page de Ronald Fedkiw, avec de bien belles images
- une explication (en français également) des "fondamentaux" sur developpez.net
- Multivac, une librairie C++ (sous licence GPL) qui implémente les méthodes de level sets
- il existe évidemment des toolboxes matlab. Celle-ci semble être pas mal documentée : ToolboxLS
Les mécaniciens pourront aller voir du côté de Grégoire Allaire[1], avec par exemple cette publi A level-set method for shape optimization, ou bien la toolbox FreeFem++.
On retrouve pas mal d'occurrences des level sets en couplage avec les méthodes d'éléments finis étendus (XFEM), comme par exemple ici : Abaqus Implementation of Extended Finite Element Method Using a Level Set Representation for Three-Dimensional Fatigue Crack Growth and Life Predictions, papier cosigné par le papa des XFEM Ted Belytschko, ou encore là : Modélisation de la rupture fragile avec la méthode X-FEM (warning, .doc inside), présenté à Giens en 2007.
(La rédaction de ce billet a été rendue plus fluide grâce à Jean-Michel Alquier, et plus précisément sa cuvée Maison Jaune 2003)
Notes
[1] Il a également écrit trois articles davantage vulgarisés sur le thème Design et formes optimales sur Images des mathématiques