isosurfacing - Advanced Iso-Surfacing Algorithms Jian...

Info iconThis preview shows pages 1–18. Sign up to view the full content.

View Full Document Right Arrow Icon
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.
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Iso-contour/surface Extractions 2D Iso-contour 3D Iso-surface
Background image of page 2
Iso-contour (0) Remember bi-linear interpolation p2 p3 p0 p1 P =? p4 p5 To know the value of P, we can first compute p4 and P5 and then linearly interpolate P
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Iso-contour (1) Consider a simple case: one cell data set The problem of extracting an iso-contour is an inverse of value interpolation. That is: p2 p3 p0 p1 Given f(p0)=v0, f(p1)=v1, f(p2)=v2, f(p3)=v3 Find the point(s) P within the cell that have values F( p ) = C
Background image of page 4
Iso-contour (2) p2 p3 p0 p1 We can solve the problem based on linear interpolation (1) Identify edges that contain points P that have value f(P) = C (2) Calculate the positions of P (3) Connect the points with lines
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Iso-contouring – Step 1 (1) Identify edges that contain points P that have value f(P) = C v1 v2 If v1 < C < v2 then the edge contains such a point
Background image of page 6
Iso-contouring – Step 2 (2) Calculate the position of P Use linear interpolation: P = P1 + (C-v1)/(v2-v1) * (P2 – P1) v1 v2 P p1 p2 C
Background image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Iso-contouring – Step 3 p2 p3 p0 p1 Connect the points with line(s) Based on the principle of linear variation, all the points on the line have values equal C
Background image of page 8
Inside or Outside? Just a naming convention 1. If a value is smaller than the iso-value, we call it “Inside” 2. If a value is greater than the iso-value, we call it “Outside” p2 p3 p0 p1 - + outside cell p2 p3 p0 p1 - inside cell
Background image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Extend the same divide-and-conquer algorithm to three dimension 3D cells Look at one cell at a time Let’s only focus on voxel Iso-surface Extraction
Background image of page 10
Divide and Conquer _ + + + + _ _ _ + + + + _ _ _ _ (2 triangles)
Background image of page 11

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
How many cases? Now we have 8 vertices So it is: 2 = 256 8 How many unique topological cases?
Background image of page 12
Case Reduction (1) Value Symmetry + + _ _ _ _ _ _ + + _ _ + + + +
Background image of page 13

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Case Reduction (2) Rotation Symmetry + + _ _ _ _ _ _ _ _ + + _ _ _ _ By inspection, we can reduce 256 14
Background image of page 14
Iso-surface Cases Total number of cases: 14 + 3
Background image of page 15

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Marching Cubes Algorithm A Divide-and-Conquer Algorithm v1 v2 v3 v4 v5 v6 v7 v8 Vi is ‘1’ or ‘0’ (one bit) 1: > C; 0: <C (C= iso-value) Each cell has an index mapped to a value ranged [0,255] Index = v8 v7 v6 v5 v4 v3 v2 v1
Background image of page 16
Marching Cubes (2) Given the index for each cell, a table lookup is performed to identify the edges that has intersections with the iso-surface 0 1 2 3 14 e1, e3, e5 Index intersection edges e1 e2 e3 e4 e5 e6 e7 e8 e9 e10 e11 e12
Background image of page 17

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 18
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 10/24/2009 for the course CS 530 taught by Professor Staff during the Fall '08 term at Purdue University-West Lafayette.

Page1 / 57

isosurfacing - Advanced Iso-Surfacing Algorithms Jian...

This preview shows document pages 1 - 18. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online