tetra-cubes: an algorithm to generate 3d isosurfaces based upon tetrahedra bernardo piquet carneiro...
Post on 20-Dec-2015
218 views
TRANSCRIPT
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra
BERNARDO PIQUET CARNEIROCLAUDIO T. SILVAARIE E. KAUFMAN
Department of Computer ScienceDepartment of Applied Mathematics & Statistics
State University of New York at Stony BrookAnais do IX SIBGRAPI(1996)
Abstract Tetra-cubes is similar to the marching-cubes
technique.
Its basic building block consists of tetrahedral cells instead of cubes.
Tetra-cubes is simpler than marching-cubes and does not have ambiguity configurations.
Irregular Grid
Introduction There are several methods for the visualization
of 3D scalar fields.
The two most common are direct volume rendering 3D iso-surface extraction
In this paper we study iso-surface extraction techniques.
Comparison Direct volume rendering vs. Iso-surface extraction
Interactivity
Triangle meshes(speed, simplify)
Flexibility(especially for handling multiple transparent surface)
Ambiguity problem
Tetra-Cubes Algorithm Following the idea in the marching-cubes.
Extracting the tetrahedra from the cubes.(Each cube can be divided into a collection of five tetrahedra.)
Marching-Tetras vs. Marching-Cubes
Classification 24 = 16 By symmetry, we narrow
down these cases to only three.
Grid Connection problem A problem with the connection among the
collections of five tetrahedra extracted from neighboring hexahedra arises.
Erroneous Connection among adjacent cubes.
Grid Connection problem Resolution
We create a new collection that is obtained by a ninety degrees rotation of the previous one.
Zig-zag connection (chess-table configuration)
No Ambiguities The binary approach used to distinguish the cases leads to
some ambiguities in the marching-cubes implementation.
No ambiguity is found usingtetrahedra as basic cells.
A fast implementation may be accomplished combiningthe marching-cubes and thetetra-cubes algorithms.(Cubes would be used as basic cells.)
Code Data input
Extraction of tetrahedra For each logical cube(hexahedra), the cube’s vertices
are used as the tetrahedron’s vertices.
Accessing the look-up tables
Triangles creation
Results Clock time to generate the iso-surfaces using
tetra-cubes algorithm.
Function density value 128 Using SGI Indigo2 machine
70 x 70 x 70
19 x 21 x 19
34 x 17 x 34
127 x 67 x 67
40 x 32 x 32
Size
Results
Results
Results
Conclusion Relative to Marching-Cubes:
Our method is simpler to implement due to the smaller number of cases.
It does not have the ambiguity problem.
One possible shortcoming of our approach is the large number of triangles generated.
Fortunately, this can be solved with simplification techniques, such as decimation.
Decimation of Triangle Meshes
William J. SchroederJonathan A. Zarge
William E. Lorensen
General Electric CompanySchenectady, NYSIGGRAPH(1991)
Introduction The polygon remains a popular graphics
primitive for computer graphics application. Simple representation Rendering of polygons is widely supported by
commercial graphics hardware and software.
Rendering speeds and memory requirements are proportional to the number of polygons.
One algorithm that generates many polygons is marching cubes. Brute force surface construction algorithm.
The Decimation Algorithm
The goal of this algorithm:
Reduce the total number of triangles in a triangle mesh.
Preserving the original topology and good approximation to the original geometry.
Overview The three steps of the algorithm
During a pass, perform three steps on every vertex on mesh
1. Characterize the local vertex geometry and topology, ( Simple, Complex, Boundary, Interior Edge, Corner )
2. Evaluate the decimation criteria, and• If it meets the specified decimation criteria, the vertex and
all triangles that use the vertex are deleted.• Until some termination condition is met.
a. Percent reduction of the original mesh.b. Maximum decimation value.
3. Triangulate the resulting hole.
Characterizing Local Geometry / Topology
The outcome of this process determines whether the vertex is a potential candidate for deletion.
Each vertex may be assigned one of five possible classifications.
Complex vertices are not deleted from the mesh.
Simple vertex and Complex vertex
simple vertex is surrounded by a complete cycle of triangles, and each edge that uses the vertex is used by exactly
two triangles.
complex vertex If the edge is not used by two triangles, or if the vertex is used by a triangle not in the cycle of
triangles.
Boundary vertex A vertex that is on the boundary of a mesh,
i.e. within a semi-cycle of triangles.
Feature Edge Feature edge exists if the angle between the
surface normals of two adjacent triangles is greater than a user-specified “feature angle”.
n1 n2
n1 n2Efe
If > fa
E := Feature Edge
Interior Edge vertex and Corner vertex
When a vertex is used by two feature edges, the vertex is an interior edge vertex.
If one or more feature edges use the vertex, the vertex is classified a corner vertex.
Evaluating the Decimation Criteria
Simple vertices use the distance to plane criterion.
If the vertex is within the specified distance to the average plane it may be deleted.Otherwise it is retained.
Evaluating the Decimation Criteria
Boundary and interior edge vertices use the distance to edge criterion.
If the distance to the line is less than specified distance, the vertex can be deleted.Otherwise it is retained.
Evaluating the Decimation Criteria
Corner vertices are usually not deleted to keep the sharp features.
Triangulation Deleting a vertex and its associated triangles
creates one(simple or boundary vertex) or two loops(interior edge vertex).
It is desirable to create triangles with good aspect ratio and that approximate the original loops as closely as possible.
Triangulation A recursive loop splitting procedure
(Divide-and-conquer algorithm)
If two loops do not overlap, the split plane is acceptable. Each new loop is divided again,
until only three vertices remain in each loop.
Triangulation Best split plane is determined using an aspect
ratio.
The best splitting plane is the one that yields the maximum aspect ratio.
Aspect Ratio =Min. distance of the loop vertices to the split plane
Length of the split line
Triangulation Special Cases
Closed surface
Topological “holes” in the mesh
Results Volume Modeling (Bone surface)
Size: 256*256*93
Triangle: over 560,000 triangles
Full Resolution – Gouraud Shaded75% decimated – Gouraud Shaded
75% decimated – Flat Shaded90% decimated – Flat Shaded
Results
Results
Results
Results Volume Modeling (industrial CT dataset)
Size: 512*512*300
Triangle: 1.7 million triangles
75% decimated – Flat Shaded90% decimated – Flat Shaded
Results
Results