+ All Categories
Home > Documents > 3D scalar field F(x,y,z) = ? Iso-Surface Extraction

3D scalar field F(x,y,z) = ? Iso-Surface Extraction

Date post: 16-Feb-2022
Category:
Upload: others
View: 14 times
Download: 0 times
Share this document with a friend
8
1 Iso-Surface Extraction Image from: http://www.it.neclab.eu Volumetric Data 3D scalar field F(x,y,z) = ? Implicit functions Scientific Special effects fog, fire Reconstruction Sampled data Temperature Wind speed Scanned data Iso-Surface Extraction Find the implicit surface Applications Render 3D data Reconstruction from point clouds Today Marching cubes Dual marching cubes (, ,) F x y z const = 4 Marching Cubes by Lorensen & Cline
Transcript

1

Iso-Surface Extraction

Image from: http://www.it.neclab.eu

Volumetric Data

3D scalar field F(x,y,z) = ?Implicit functions

ScientificSpecial effects – fog, fireReconstruction

Sampled dataTemperatureWind speed

Scanned data

Iso-Surface Extraction

Find the implicit surface

ApplicationsRender 3D dataReconstruction from point clouds

TodayMarching cubesDual marching cubes

( , , )F x y z const=

4

Marching Cubesby Lorensen & Cline

Marching Cubes

Volumetric dataValue > const (+)Value < const (-)

256 Cases for iso-surface per cube

...

Consistent on edges of cube

Marching Cubes256 cases 15 cases

InversionRotation

Polygonal approximationof Iso-surface

Marching Cubes Problems

AmbiguityHoles

Marching Cubes Ambiguity

Ambiguous Face

Separate pink

Separate blue

The Inversion Problem

Reduction from 256 to 15 cases includes inversion

The Inversion Problem

Inversion

InversionMismatch

Ambiguity Solution

256 cases 23 casesRotation onlyAlways separate same “color”

Ambiguous faces triangulated consistently

New 8 cases

Without Inversion

Match

Ambiguity Solution

מהפך

Before After

16

Dual Marching Cubesby Schaefer & Warren

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.

Marching Cubes Problems

Grid not adaptiveMany polygons required to represent small features

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.

Dual Marching Cubes

Build an octree

Dual Marching Cubes

Build dual vertices

Dual Marching Cubes

Build dual edges and faces

Dual Marching Cubes

Run MC on dual grid

Finding the Dual Vertices

Place dual vertex at features of signed distance function in cell

Images from: www.cs.berkeley.edu/~jrs/mesh/present/Andrews.pdf

Iso-line Distance function

Finding the Dual Vertices

Sample f and ∇f in cell

Approximate using tangent planes

Find that minimizes

( )w f x=( ) ( )( )i i iT x f x x x= ∇ −

( )w f x=

( )2

2

( )( , )

1 ( )i

i i

w T xE w x

f x−

=+ ∇

Finding the Dual Vertices

f(x)

xx1

f(x1)

T1(x)

x2

f(x2)

T2(x)

( )21( )w T x−

( )22 ( )w T x−

( )2( , ) ( )i ii

E w x c w T x= −∑

w

Finding the Dual Vertices

Images from: www.cs.berkeley.edu/~jrs/mesh/present/Andrews.pdf

Build Dual Grid Connectivity

2DVertex FaceEdge Edge

3DVertex CubeEdge Face

Build Dual Grid Connectivity

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.

MC on Dual Grid

Each cell is a topological cubeSome vertices might be repeated

Find edges that contain sign changes

Use MC lookup table to create topology

Dual MC vs. MC

Marching Cubes (67K poly)

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.

Dual Marching Cubes (440 poly)

Dual MC vs. MC

Marching Cubes

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.

Dual Marching Cubes

Some more Dual MC

Images from: “Dual Marching Cubes: Primal Contouring of Dual Grids” by Schaeffer et al.


Recommended