Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO...
-
date post
20-Dec-2015 -
Category
Documents
-
view
217 -
download
2
Transcript of Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO...
![Page 1: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/1.jpg)
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)
![Page 2: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/2.jpg)
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
![Page 3: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/3.jpg)
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.
![Page 4: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/4.jpg)
Comparison Direct volume rendering vs. Iso-surface extraction
Interactivity
Triangle meshes(speed, simplify)
Flexibility(especially for handling multiple transparent surface)
Ambiguity problem
![Page 5: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/5.jpg)
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.)
![Page 6: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/6.jpg)
Marching-Tetras vs. Marching-Cubes
Classification 24 = 16 By symmetry, we narrow
down these cases to only three.
![Page 7: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/7.jpg)
Grid Connection problem A problem with the connection among the
collections of five tetrahedra extracted from neighboring hexahedra arises.
Erroneous Connection among adjacent cubes.
![Page 8: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/8.jpg)
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)
![Page 9: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/9.jpg)
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.)
![Page 10: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/10.jpg)
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
![Page 11: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/11.jpg)
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
![Page 12: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/12.jpg)
Results
![Page 13: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/13.jpg)
Results
![Page 14: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/14.jpg)
Results
![Page 15: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/15.jpg)
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.
![Page 16: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/16.jpg)
Decimation of Triangle Meshes
William J. SchroederJonathan A. Zarge
William E. Lorensen
General Electric CompanySchenectady, NYSIGGRAPH(1991)
![Page 17: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/17.jpg)
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.
![Page 18: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/18.jpg)
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.
![Page 19: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/19.jpg)
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.
![Page 20: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/20.jpg)
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.
![Page 21: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/21.jpg)
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.
![Page 22: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/22.jpg)
Boundary vertex A vertex that is on the boundary of a mesh,
i.e. within a semi-cycle of triangles.
![Page 23: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/23.jpg)
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
![Page 24: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/24.jpg)
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.
![Page 25: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/25.jpg)
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.
![Page 26: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/26.jpg)
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.
![Page 27: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/27.jpg)
Evaluating the Decimation Criteria
Corner vertices are usually not deleted to keep the sharp features.
![Page 28: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/28.jpg)
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.
![Page 29: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/29.jpg)
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.
![Page 30: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/30.jpg)
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
![Page 31: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/31.jpg)
Triangulation Special Cases
Closed surface
Topological “holes” in the mesh
![Page 32: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/32.jpg)
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
![Page 33: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/33.jpg)
Results
![Page 34: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/34.jpg)
Results
![Page 35: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/35.jpg)
Results
![Page 36: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/36.jpg)
Results Volume Modeling (industrial CT dataset)
Size: 512*512*300
Triangle: 1.7 million triangles
75% decimated – Flat Shaded90% decimated – Flat Shaded
![Page 37: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/37.jpg)
Results
![Page 38: Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.](https://reader034.fdocuments.in/reader034/viewer/2022042702/56649d4c5503460f94a2a1c8/html5/thumbnails/38.jpg)
Results