Computing curve skeletons of 3D shapes is an important tool in computer graphics with many different applications for shape analysis, shape matching, character skeleton construction, rigging and many more. It’s an active field of research and over the years, numerous algorithms have been developed. Most of these algorithms are based on mesh contraction using smoothing or thinning. Another popular approach is to use the voronoi diagram generated by the points of the mesh. Quite an interesting alternative, however, is to rely on spectral analysis for computing the skeleton. The idea is fairly simple and works as follows:
- Compute the first non-zero eigenvector of the Laplace-Beltrami operator, namely the Fiedler vector.
- Compute contour lines based on the Fiedler vector
- Find the center point for every contour
- Fit curves to the points