Mesh decimation reduces the number of elements in a mesh while preserving additional attributes such as surface approximation error or triangle quality. Our implementation performs incremental greedy mesh decimation based on halfedge collapses.
Try for yourself:
The function is pmp::decimate().
See [14] and [11] for more details.
The decimation function can be controlled by the following parameters:
n_vertices
: Control the target number of verticesaspect_ratio
: Threshold for the quality of the triangles in the mesh.edge_length
: Specify a minimum target edge length.max_valence
: Control the maximum number of incident edges per vertex.normal_deviation
: Control the maximum deviation of normals.hausdorff_error
: The maximum deviation from the original surface.seam_threshold
: Threshold for detecting texture seams.seam_angle_deviation
: The maximum texture seam deviation.The decimation algorithm supports selections. You can select a subset of all vertices in the mesh to perform the simplification. This is done using the boolean v:selected
vertex property.