Download presentation
Presentation is loading. Please wait.
1
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer Science Department of Applied Mathematics & Statistics State University of New York at Stony Brook Anais do IX SIBGRAPI(1996)
2
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
3
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.
4
Comparison Direct volume rendering vs. Iso-surface extraction Interactivity Triangle meshes(speed, simplify) Flexibility(especially for handling multiple transparent surface) Ambiguity problem
5
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.)
6
Marching-Tetras vs. Marching-Cubes Classification 2 4 = 16 By symmetry, we narrow down these cases to only three.
7
Grid Connection problem A problem with the connection among the collections of five tetrahedra extracted from neighboring hexahedra arises. Erroneous Connection among adjacent cubes.
8
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)
9
No Ambiguities The binary approach used to distinguish the cases leads to some ambiguities in the marching-cubes implementation. No ambiguity is found using tetrahedra as basic cells. A fast implementation may be accomplished combining the marching-cubes and the tetra-cubes algorithms. (Cubes would be used as basic cells.)
10
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
11
Results Clock time to generate the iso-surfaces using tetra-cubes algorithm. Function density value 128 Using SGI Indigo 2 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
12
Results
15
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.
16
Decimation of Triangle Meshes William J. Schroeder Jonathan A. Zarge William E. Lorensen General Electric Company Schenectady, NY SIGGRAPH(1991)
17
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.
18
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.
19
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.
20
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.
21
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.
22
Boundary vertex A vertex that is on the boundary of a mesh, i.e. within a semi-cycle of triangles.
23
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 n2 E fe If > fa E := Feature Edge
24
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.
25
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.
26
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.
27
Evaluating the Decimation Criteria Corner vertices are usually not deleted to keep the sharp features.
28
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.
29
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.
30
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
31
Triangulation Special Cases Closed surface Topological “ holes ” in the mesh
32
Results Volume Modeling (Bone surface) Size: 256*256*93 Triangle: over 560,000 triangles Full Resolution – Gouraud Shaded 75% decimated – Gouraud Shaded 75% decimated – Flat Shaded 90% decimated – Flat Shaded
33
Results
36
Volume Modeling (industrial CT dataset) Size: 512*512*300 Triangle: 1.7 million triangles 75% decimated – Flat Shaded 90% decimated – Flat Shaded
37
Results
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.