Marching Cubes A High Resolution 3D Surface Construction Algorithm.

Slides:



Advertisements
Similar presentations
Lecture 5 3D Scalar Visualization Part One: Isosurfacing
Advertisements

Reconstruction from Voxels (GATE-540)
Advanced Iso-Surfacing Algorithms Jian Huang, CS594, Spring 2002 This set of slides are developed and used by Prof. Han-Wei Shen at Ohio State University.
Yingcai Xiao Chapter 6 Fundamental Algorithms. Types of Visualization Transformation Types 1.Data (Attribute Transformation) 2.Topology (Topological Transformation)
Computer Graphics1 Geometry Area of polygons & Volume Of Polygonal surfaces.
Isocontour/surface Extractions 2D Isocontour 3D Isosurface.
3DSkeleton-based Human Modeling with Metaballs 18 April 2008 Donghun Kim Robot Vision Lab.
Piecewise Convex Contouring of Implicit Functions Tao Ju Scott Schaefer Joe Warren Computer Science Department Rice University.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
CDS 301 Fall, 2009 Scalar Visualization Chap. 5 September 24, 2009 Jie Zhang Copyright ©
DEFINING OBJECTS - 3D REPRESENTATIONS Surface representations Polygon tables 3D curves and curved surfaces Sweep representations Constructive solid geometry.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
lecture 4 : Isosurface Extraction
11-1 Space Figures and Cross Sections
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Octree-Based Decimation of Marching Cubes Surface (1996) Raj Shekhar Elias Fayyad Roni Yagel J. Fredrick Cornhill.
Advanced Iso- Surfacing Algorithms Mengxia Zhu, Fall 2007.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Robust Adaptive Meshes for Implicit Surfaces Afonso Paiva Hélio Lopes Thomas Lewiner Matmidia - Departament of Mathematics – PUC-Rio Luiz Henrique de Figueiredo.
Seminar 1 Surface Rendering, Decimation Presented By Sonali Barua Date:10/31/2005.
Fluid Surface Rendering in CUDA Andrei Monteiro Marcelo Gattass Assignment 4 June 2010.
Surface Reconstruction Using Volumetric Implicit Functions Some figures by Curless et al.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
3D object capture Capture N “views” (parts of the object) –get points on surface of object –create mesh (infer connectivity) Hugues Hoppe –filter data.
Chapter 12 Surface Area and Volume. Topics We Will Discuss 3-D Shapes (Solids) Surface Area of solids Volume of Solids.
Chapter 12 Surface Area and Volume. Topics We Will Discuss 3-D Shapes (Solids) Surface Area of solids Volume of Solids.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
Volumetric and Blobby Objects Lecture 8 (Modelling)
Lecture 4 : Isosurface Extraction (Advanced Topics)
EUROGRAPHICS 2005 Presenter : Jong-Hyun Kim. Abstract We present a new method for surface extraction from volume data.  Maintains consistent topology.
Scalar Visualization Chap. 5 September 23, 2008 Jie Zhang Copyright ©
Vertex – A point at which two or more edges meet Edge – A line segment at which two faces intersect Face – A flat surface Vertices, Edges, Faces.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
SURFACE RECONSTRUCTION FROM POINT CLOUD Bo Gao Master’s Thesis December, 2007 Thesis Committee: Professor Harriet Fell Professor Robert Futrelle College.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Geometry 10-1 Solids Face: the flat side of a figure
Segmentation & Modeling ImagesSegmented Images Models.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Daniele D’Agostino CNR - IMATI - Sezione di Genova
Hank Childs, University of Oregon Isosurfacing (Part 3)
1 11. Polygons Polygons 2D polygons ( 다각형 ) –Polygon sides are all straight lines lying in the same plane 3D polyhedra ( 다면체 )  chap. 12 –Polyhedra.
Solids: Three – Dimensional figures EQ: How do you identify various three-dimensional figures?
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Volume and Solid Modeling
CLASSIFYING POLYGONS UNIT 1 LESSON 6. Classifying Polygons In geometry, a figure that lies in a plane is called a plane figure. A polygon is a closed.
Advisor : Ku-Yaw Chang Speaker : Ren-Li Shen /6/12.
polyhedron a three- dimensional figure whose surfaces are polygons faces edge vertex.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Solid Modeling Dr. Scott Schaefer.
Reducing Artifacts in Surface Meshes Extracted from Binary Volumes R. Bade, O. Konrad and B. Preim efficient smoothing of iso-surface meshes Plzen - WSCG.
Slide 1Lecture Fall ‘00 Surface Modeling Types: Polygon surfaces Curved surfaces Volumes Generating models: Interactive Procedural.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Marching Squares Ed Angel Professor Emeritus of Computer Science University.
Visualization Fundamentals
CIS 410/510: Isosurfacing (pt 2)
CSc4730/6730 Scientific Visualization
Domain-Modeling Techniques
Ambiguity Problem Certain Marching Cubes cases have more than one
Lesson 10.3 Three-Dimensional Figures
10.1 Solid Geometry Geometry.
Three –Dimensional Figures
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
From Voxels to 3D Uri Mike.
Three Step Geometric Pipeline
Iso-Surface extraction from red and green samples on a regular lattice
Guess the Shape!.
Marching Squares Ed Angel
Presentation transcript:

Marching Cubes A High Resolution 3D Surface Construction Algorithm

Slice Data to Volumetric Data(1)

Slice Data to Volumetric Data(2)

Marching Cube Create cells (cubes) Classify each vertex Build an index Get edge list Based on table look-up Interpolate triangle vertices Obtain polygon list and do shading in image space

Cube Consider a cube defined by 8 data values, 4 from slice k, and another 4 from slice k+1

Classify each vertex Label 1 or 0 as to whether it lies inside or outside the surface Match!!!

Build an index Create an index of 8 bits from the binary labeling of each vertex.

Get edge list Give an index, store a list of edges. Because symmetry : 256/2=128 rotation : 128/8= cases are reduced to 14 cases.

Interpolate triangle vertices X = i + ii+1X i X = 20 = 10 iso_value=18iso_value=14 (iso_value - D(i)) (D(i+1) - D(i))

Problems about MC Empty cells 30-70% of isosurface generation time was spent in examining empty cells. Speed Ambiguity

The Asymptotic Decider Resolving the Ambiguity in Marching Cubes

Ambiguity Problem (1) Ambiguous Face : a face that has two diagonally oppsed points with the same sign + +

Ambiguity Problem (2) Certain Marching Cubes cases have more than one possible triangulation. Case 6 Case 3 Mismatch!!! Hole!

Ambiguity Problem (3) To fix it … Case 6 Case 3 B Match!!! The goal is to come up with a consistent triangulation

Asymptotic Decider (1) Based on bilinear interpolation over faces B01 B00B10 B11 (s,t) B(s,t) = (1-s, s) B00 B01 B10 B11 1-t t The contour curves of B: {(s,t) | B(s,t) =  } are hyperbolas = B00(1- s)(1- t) + B10(s)(1- t) + B01(1- s)(t) + B11(s)(t)

Asymptotic Decider (2) (0,0) (1,1) Asymptote (S  T  If B(S  T  >=  (S  T  Not Separated

Asymptotic Decider (3) (1,1) Asymptote (S  T  (0,0) If B(S  T  <  (S  T  Separated

Asymptotic Decider (4) (S 1, 1) (S  T  (S 0, 0) S  B00 - B01 B00 + B11 – B01 – B10 T  B00 – B10 B00 + B11 – B01 – B10 B(S  T  B00 B11 + B10 B01 B00 + B11 – B01 – B10 (0, T 0 ) (1, T 1 ) B( S  ) = B( S , 1) B( 0, T  ) = B( 1, T  )

Asymptotic Decider (5) case 3, 6, 12, 10, 7, 13 (These are the cases with at least one ambiguious faces)