Title: A Tetrahedron Based Volume Model Simplification Algorithm
1A Tetrahedron Based Volume Model Simplification
Algorithm
JinJin Hong, Lixia Yan, Jiaoying Shi (State
Key Lab. of CADCG, Zhejiang University)
2Motivation
- 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.
3Previous Work
- Few researches on volume data simplification have
been developed until now. - While many researches on surface data reduction
have been developed.
- all these algorithms are only available for
surface simplification either by merging elements
or by resampling vertices of the original object.
4Our 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.
5The Volume Data (1)
- Three types of tetrahedrons are defined
- T0-tetrahedron
- T1-tetrahedron
- T2-tetrahedron.
6The 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.
7Input 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.
8Input Data Accepted (2)
- A layered tetrahedron model.
- All of the tetrahedrons are classified into two
categories - border tetrahedrons
- non-border (internal) tetrahedrons.
9Algorithm Description
- The main loop
- Surface simplification
- Hexahedron mesh construction
- Filling the resulting hole
10The 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.
11The Main Loop (2)
12The 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...
13Surface 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.
14Surface Simplification (2)
removing vertex Vr and re-triangulate the
remaining hole.
the simplified surface
15Hexahedrons 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.
16Hexahedrons Construction (2)
17Hexahedrons Construction (3)
- Whats 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.
18Hexahedrons Construction (4)
19Filling The Resulting Hole (1)
- Holes between the simplified surface and
hexahedrons we built.
20Filling 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.
21Filling 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.
22Filling The Resulting Hole (3)
- 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.
23Filling 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.
24Filling The Resulting Hole (4)
- How to compute the distance between an arris and
a triangle-set?
25Filling The Resulting Hole (5)
- Decomposition of a polyhedron
26Results
27Results
28Conclusion
- The strengths of our method
- works for volume data
- can preserve sharp edges
- establish a multi-resolution volume data
- is easy to implement.
29Further Research
- Apply the algorithm to our virtual surgery
simulation system. - Use of multi-resolution object hierarchies in
- collision detection
- cutting
- suturing.
30Acknowledgement