tetra-cubes: an algorithm to generate 3d isosurfaces based upon tetrahedra bernardo piquet carneiro...

38
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)

Post on 20-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Results