Purpose and context
The aim of this work is to provide a fast and efficient mesh coarsening/resampling facility for triangular meshes. It can be applied to very complex meshes (several millions of vertices). This approach is based on the clustering of the input mesh elements (vertices or triangles) within a variational framework
Methods
The proposed clustering approach generates partitions which are similar to centroidal Voronoi regions, where each region has the same size1. As a consequence, the sampling is very uniform on the surface, and the resulting triangulation has elements with good aspect ratios.
Curvature adaptivity is possible by introducing curvature measures within the clustering scheme (see figure 2). Note that this approach is also useful for remeshing applications (when the user wants the output mesh to have an arbitrary number of vertices2. This approach was extended for anisotropic meshing, to provide approximation-effective meshes 3, and to guarantee watertight output meshes 4.
Results
The following anmation shows the clustering evolution during minimization, on the Stanford Bunny. Initial seeds have been concentrated on one side on purpose, and the result shows that our approach is robust to initialization.
Source code
ACVD Source code is available on github
This code is distributed under the CECILL-B license (BSD-compatible) © CNRS, INSA-Lyon, UCBL, INSERM.