300 likes | 526 Views
A Tetrahedron Based Volume Model Simplification Algorithm. JinJin Hong, Lixia Yan, Jiaoying Shi (State Key Lab. of CAD&CG, Zhejiang University). Motivation. Tetrahedron mesh is one of the most popular representations of volume model.
E N D
A Tetrahedron Based Volume Model Simplification Algorithm JinJin Hong, Lixia Yan, Jiaoying Shi (State Key Lab. of CAD&CG, Zhejiang University)
Motivation • Tetrahedron mesh is one of the most popular representations of volume model. • Huge amount of tetrahedrons lead to problems on data storage, rendering and computation.
Few researches on volume data simplification have been developed until now. While many researches on surface data reduction have been developed. Previous Work • all these algorithms are only available for surface simplification either by merging elements or by resampling vertices of the original object.
Our Work • Provides a new method to simplify the tetrahedron mesh of a volume model. • The key advantages of our algorithm: • available for volume data; • simple to implement; • high reduction rates and excellent results; • a multi-resolution representation.
The Volume Data (1) • Three types of tetrahedrons are defined: • T0-tetrahedron; • T1-tetrahedron; • T2-tetrahedron.
The Volume Data (2) • The element in a volume data set is a polyhedron. • A polyhedron can be divided into several T0, T1 and/or T2 tetrahedrons. • An example.
Input Data accepted (1) • The input objects that our algorithm can accept and process are layered tetrahedrons. • They are gained from 3D reconstruction of layered scanning images (MRI or CT). • A layered tetrahedron is defined as a tetrahedron with vertices only on two adjoining planes parallel with each other.
Input Data Accepted (2) • A layered tetrahedron model. • All of the tetrahedrons are classified into two categories: • border tetrahedrons; • non-border (internal) tetrahedrons.
Algorithm Description • The main loop; • Surface simplification; • Hexahedron mesh construction; • Filling the resulting hole;
The Main Loop (1) • We adopt a layered simplification approach. • fetch M layers of tetrahedrons from the input; • manipulate these M layers of tetrahedrons; • output one layer of newly-generated tetrahedrons; • when all of the original tetrahedral data are processed, we finish.
The Main Loop (2) • How to calculate M?
The Main Loop (3) • How to manipulate these M layers of tetrahedrons? • a vertex removal approach is introduced to simplify border tetrahedrons. • a number of hexahedrons will be substituted for non-border tetrahedrons. • the resulting hole between the simplified surface and substituent hexahedrons is filled with tetrahedrons. • More Detailed Discussion...
Surface Simplification (1) • The border tetrahedron simplification is a typical surface simplification algorithm. • it starts with the original surface and successively simplifies it. • vertices from Layer1 to Layer(M-1) are removed and the resulting holes are re-triangulated until no further vertices can be removed. • the triangle mesh left, with all vertices in Layer0 or Layer(M) is the simplified surface that we need.
Surface Simplification (2) • Vertex removing: removing vertex Vr and re-triangulate the remaining hole. the simplified surface
Hexahedrons Construction (1) • We substitute regular hexahedrons for the internal tetrahedrons. • construct a closing box for M layers of original tetrahedrons. • divide the closing box into N sub-hexahedrons. • adopt all C-hexahedrons, discard A- and B-hexahedrons. • subdivide each of C-hexahedrons into 6 tetrahedrons as the simplified non-border tetrahedrons.
Hexahedrons Construction (2) • How to calculate N?
Hexahedrons Construction (3) • What’s the three types of sub-hexahedrons? • A-hexahedron: does not includes any tetrahedrons of original model. • B-hexahedron: at least includes one border tetrahedron. • C-hexahedron: only includes non-border tetrahedrons.
Hexahedrons Construction (4) • An Example:
Filling The Resulting Hole (1) • Holes between the simplified surface and hexahedrons we built.
Filling The Resulting Hole (2) • How to fill the hole with tetrahedrons? • a complicated task; • solved by keeping track of the correspondence between the simplified surface and hexahedrons.
Filling The Resulting Hole (3) • More detailed discussion... • start with an arbitrary T0-triangle; • get a triangle-set unit B0; • find an arris nearest to B0; • now that we have got a polyhedron. • divide it into several T0, T1 and T2-tetrahedrons to fill the hole. • indicate B0 to be used.
More detailed discussion… (continued) get the next triangle-set B1; find an arris nearest to B1; the next polyhedron is got and divided into tetrahedrons; indicate B1 to be used; to avoid tetrahedron intersecting, each search must counterclockwise and resume the previous search from the previous ending position. Filling The Resulting Hole (3)
More detailed discussion… (continued) a pentahedron composed by that two arrises is also divided into three tetrahedrons to fill the hole. repeat all the previous steps until B0 is reached again. Filling The Resulting Hole (3)
Filling The Resulting Hole (4) • How to compute the distance between an arris and a triangle-set?
Filling The Resulting Hole (5) • Decomposition of a polyhedron:
Conclusion • The strengths of our method: • works for volume data; • can preserve sharp edges; • establish a multi-resolution volume data; • is easy to implement.
Further Research • Apply the algorithm to our virtual surgery simulation system. • Use of multi-resolution object hierarchies in: • collision detection; • cutting; • suturing.