salut,
Par "approche discrète" je parlais d'approche 'image' (2D ou 3D). Le résultat donné par la squletisation sera une autre image, contenant les pixel ou voxels du squelette.
Par "approche géométrique", je pensais à des structures de données de type "nuage de points", ou maillages surfaciques. Dans ce cas le squelette consiste a calculer des hyper-plans (droites, plans...) entre les points, et à les combiner pour refaire une forme. D'après ce que j'en ai vu, ce type d'approche n'est pas forcément simple à mettre en oeuvre.
De plus, en 3D la notion de squelette est multiple :
- squelette filaire, composé de plusieurs courbes
- squelette surfacique, composé de morceaux de surfaces.
A voir lequel est le plus adapté, ou lequel il est possible de calculer...
Dans le cas où les données de départ sont un ensemble de points (les "germes") situés à la surface de la structure d'intérêt, une idée est effectivement de passer par Voronoi.
On obtient un ensemble de cellules (des polyèdres), chaque cellule correspondant à un germe. Sous Matlab, ces cellules sont représentées par un tableau N*3 de coordonnées de sommets, et une série d'indices de sommets pour chaque cellule.
Une proposition de traitement :
- trouver les sommets qui sont "a l'intérieur" de la structure
- pour chaque cellule, calculer le polyèdre convexe équivalent (fonction convhulln) -> on obtient un ensemble de faces triangulaires
- ne garder que les faces dont les sommets sont à l'intérieur, c'est à dire dont les indices correspondent avec les indices des sommets trouvés à la première étape
- afficher un patch ou équivalent des triangles qu'on a gardés.
- si on essaie de trouver les arêtes communes à 3 triangles intérieurs, j'imagine qu'on trouve un squelette filaire... mais à vérifier.
Sinon un problème avec Voronoi est qu'on a des cellules avec un point à l'infini. C'est casse-pied... Une solution simple est de rajouter des germes artificiels autour de la structure. Du coup, les cellules correspondantes aux points de la structure seront bornées.
bon courage...
Partager