Decimation is a post-process for reducing the number of triangles
(generated by the marching cubes algorithm, for instance) that approximate
the surface of an object. In the classification step of decimation, the most common
case that you would encounter is when the point (i.e., a triangle vertex) is simple
(see lecture notes). Given that you have found a simple point, P. The basic steps
for decimation are:
- Apply a decimation criterion to determine if P should be removed. This step
involves the following sub-steps:
- fit a plane to the vertices {Vi | i = 1, ... m} (note that P is not included
in the set) of all the triangles that share vertex P;
- compute the distance, d, of P to the fitted plane;
- if d is less than a predefined threshold then P can be removed.
- If it is determined to remove P then collapse P to an arbitrary vertex in the list
{Vi | i = 1, ... m}. This step would reduce the number of triangles by 2 (see
Fig).
- Reassign the triangle vertices and remove P from the global list of vertices.
The above steps should be carried out to all the simple points. It would often require
several passes to the point set in order to attain a desirable reduction ratio.