For cases in which you need to reduce the number of vertices, edges, and triangles in a mesh, Dragonfly provides a Mesh Decimator. Surface simplification is one way to enable real-time, interactive visualization of large, complex meshes. The example below illustrates a progressive mesh decimation.
Decimated meshes
Original mesh |
Mesh decimated by 50% |
Mesh decimated by 75% |
In the Mesh Decimator panel, shown below, you can choose a decimation method and a reduction target. The overall shape, volume, and boundaries of the original mesh will be preserved as much as possible during the simplification process. Right-click the required mesh in the Data Properties and Settings and then choose Mesh Decimator in the pop-up menu to open the Mesh Decimator panel, shown below.
Mesh Decimator panel
Description | |
---|---|
Mesh |
Indicates the currently selected mesh, to which the decimation will be applied. If required, you can select another mesh in the drop-down menu. |
Method |
Two methods are available in Dragonfly to reduce the number of vertices, edges, and triangles in a mesh — Pro decimation and Quadric decimation. These methods work by the iterative elimination of components identified through local geometric optimality criteria. You should note that both methods will attempt to preserve the overall shape, volume, and boundaries of the original mesh as much as possible. Pro decimation… With this simplification method, each vertex in the mesh is classified and inserted into a priority queue. The priority is based on the error to delete the vertex and re-triangulate the hole. Vertices that cannot be deleted or triangulated (at this point in the algorithm) are skipped. Then, each vertex in the priority queue is processed (i.e., deleted followed by hole triangulation using edge collapse). This continues until the priority queue is empty. Next, all remaining vertices are processed, and the mesh is split into separate pieces along sharp edges or at non-manifold attachment points and reinserted into the priority queue. Again, the priority queue is processed until empty. If the desired reduction is still not achieved, the remaining vertices are split as necessary (in a recursive fashion) so that it is possible to eliminate every triangle as necessary. Reference: https://www.vtk.org/doc/nightly/html/classvtkDecimatePro.html#details. Quadric decimation… Is based on repeated edge collapses until the requested mesh reduction is achieved. Edges are placed in a priority queue based on the “cost” to delete the edge. The cost is an approximate measure of error (distance to the original surface) — described by the so-called quadric error measure. The quadric error measure is associated with each vertex of the mesh and represents a matrix of planes incident on that vertex. The distance of the planes to the vertex is the error in the position of the vertex (originally the vertex error is zero). As edges are deleted, the quadric error measure associated with the two end points of the edge are summed (this combines the plane equations) and an optimal collapse point can be computed. Edges connected to the collapse point are then reinserted into the queue after computing the new cost to delete them. The process continues until the desired reduction level is reached or topological constraints prevent further reduction. Note that this basic algorithm can be extended to higher dimensions by taking into account variation in attributes (i.e., scalars, vectors, and so on). Reference: https://www.vtk.org/doc/nightly/html/classvtkQuadricDecimation.html#details. |
Target decimator |
Lets you set the target reduction as a percentage ([0,1]) of vertices, edges, and triangles to be removed. For example, if the mesh contains 100 triangles and a Target Reduction of 0.90 is set, there will be approximately 10 triangles, a 90% reduction, after the decimation. NOTE If the cost of removing a component is too high, then it will not be removed and the selected target reduction may not be reached. This should avoid the creation of a mesh with non real-world geometry. |
Create new mesh |
Lets you choose an output target — at the input so that the original mesh is transformed, or at the output so that a new mesh is created and the original remains unmodified. Whenever possible, you should try to retain the original mesh so that you can compare the original and reduced versions. |
Overall, polygon models that have been simplified will have less data and improved interactive performance when animated in a 3D scene view.
The Mesh Decimator panel appears on the right side of the workspace.
Whenever possible, you should try to retain the original mesh so that you can compare the original and reduced versions.