25
Approximating Normals for Marching Cubes applied to Locally Supported Isosurfaces Gregory M. Nielson H. Adam Huang (Speaker) Steve Sylvester Computer Science and Engineering Arizona State University

Approximating Normals for Marching Cubes applied to Locally Supported Isosurfaces

Embed Size (px)

DESCRIPTION

Approximating Normals for Marching Cubes applied to Locally Supported Isosurfaces. Gregory M. Nielson H. Adam Huang (Speaker) Steve Sylvester Computer Science and Engineering Arizona State University. Contents. I. Introduction Isosurface Approximation - Marching Cubes - PowerPoint PPT Presentation

Citation preview

Page 1: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

Approximating Normals for Marching Cubes applied to

Locally Supported Isosurfaces

Gregory M. NielsonH. Adam Huang (Speaker)

Steve Sylvester

Computer Science and EngineeringArizona State University

Page 2: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (22))

Contents

I. Introduction Isosurface Approximation - Marching Cubes Normal Estimation - Gradient Motivation - Problems with Central Difference Approx.

II. Alternative Methods Triangular Mesh Topology New Method - 4 Star

III. Results IV. Conclusions

Page 3: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (33))

Isosurfaces

Isosurface ST for a field function F (x, y, z) is

Usually samples or measurements are known at regular lattice

Marching Cubes-an effective method to compute isosurface approximation

ST { (x, y, z) : F (x, y, z) = 0 }

Page 4: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (44))

Marching Cubes (MC)

Samples F (iΔx, jΔy, kΔz) are knownDomain can be divided into small cubes as lattice building blocks

Page 5: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (55))

Marching Cubes (MC)

Isosurface approximation within an individual cube

+x

+z

+y

V 0

V 2

V 7

V 5

V 1

V 3

V 4

V 6

if F(i,j,k) ≥ α

Page 6: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (66))

Marching Cubes (MC)

Isosurface approximation within another individual cube

+x

+z

+y

V 0

V 2

V 7

V 5

V 1

V 3

V 4

V 6

Page 7: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (77))

Example

Approximation surfaces comprised of triangles using MC algorithm

Page 8: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (88))

Normal Estimates-Gradient

Gradient as the normal vector

Apply numerical differentiation to obtain normals at the lattice points

,,

,,

,,

,,,,

zyxz

F

zyxy

F

zyxx

F

zyxFzyxN

N(i,j,k)

N(i,j+1,k)

Page 9: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (99))

Central Difference Approx.

Calculate normals at the lattice points using standard central difference approx.

Formulas for the lattice points on the boundaries

,

2

)1,,()1,,(2

),1,(),1,(2

),,1(),,1(

),,(

z

kjiFkjiFy

kjiFkjiFx

kjiFkjiF

kjiN ),,(

),,(),,(

kjiN

kjiNkjiN

),,1(

),,1(),,1( ,

2

)1,,1()1,,1(2

),,1(3),1,1(4),2,1(2

),,1(3),,2(4),,3(

),,1(knN

knNknN

z

knFknFy

knFknFknFx

knFknFknF

knN

Page 10: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1010))

Normal Estimates-Gradient

Gradient as the normal vector

Apply numerical differentiation to obtain normals at the lattice points

Linear interpolation along edges to obtain normals at the triangular mesh vertices

,,

,,

,,

,,,,

zyxz

F

zyxy

F

zyxx

F

zyxFzyxN

N(i,j,k)

N(i,j+1,k)

N(i,j+t,k)

Page 11: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1111))

Bunny Example

Point Cloud Data Gradient from Central Difference Approximation

4-Star Method

Page 12: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1212))

Fungus Example

Confocal microscopic fungus data

Gradient from Central Difference Approximation

4-Star Method

Page 13: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1313))

Motivation

Problems with gradient estimate methods

),1()(

),()1(),(

jiNix

jiNxijxN

(i, j)(i+1, j)

(i, j-1)

(i, j+1)

(i-1, j)

(i+1, j+1)

(i+2,j)

(i+1,j-1)

Not specified or default value

(x, j)

2

)1,()1,(2

),1(),1(

),(jiFjiF

jiFjiF

jiN

2

)1,1()1,1(2

),(),2(

),1(

jiFjiF

jiFjiF

jiN

Page 14: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1414))

II. Alternative Methods

Normal Vector is Perpendicular to Local Planar Surface Approximation

1. Computing average normals from the triangular mesh topology built from MC

2. 4-Star average normal estimates without triangular mesh topology

Page 15: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1515))

872

451

341

312

732

763

756

654

643kji nnn

Triangles

Triangular Mesh Topology

1

24

56

7

8

7

2

13

5

46

3

89

4321

443322116 aaaa

NaNaNaNaN TTTT

V

Weighted average normal from local topology

Page 16: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1616))

New Method 4-Star

i,j,k

i,j,k+1

PPx+

Px-

Py+

Py-

Observation: Except on the boundary voxels, there will always be exactly 4 faces that share an edge

+Z +X

+Y

Page 17: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1717))

4-Star Method

i,j,k

i,j,k+1

PPx+

Px-

Py+

Py-

Observation: Except on the boundary voxels, there will always be exactly 4 vertices that connect to P with an edge on a voxel face

N++=Normal of Triangle: (P,Py+,Px+) N-+=Normal of Triangle: (P,Px-,Py+) N--=Normal of Triangle: (P,py-,px-) N+-

=Normal of Triangle: (P,Px+,Py-)

N

Na

N

Na

N

Na

N

NaN p

p

pp

N

NN +Z +X

+Y

Page 18: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1818))

4-Star Method

i,j,k

i,j,k+1

PPx+

Px-

Py+

Py-

i,j,k

Px -

P

Px + i+1,j,k i-1,j,k

i+1,j,k+1 i-1,j,k+1

Px +

Px +

Px -

Px - i,j,k+1

if Fi-1,j,k < α then Px- [i,j,k to i-1,j,k] else ( if Fi-1,j,k+1 < α then Px- [i-1,j,k+1 to i-1,j,k]

else Px- [i-1,j,k+1 to i,j,k+1])

if Fi+1,j,k < α then Px+ [i,j,k to i+1,j,k] else ( if Fi+1,j,k+1 < α then Px+ [i+1,j,k+1 to i+1,j,k] else Px+ [i+1,j,k+1 to i,j,k+1] )

Page 19: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (1919))

III. Results-Stanford Bunny

Gradient from Central Difference Approximation

Average Normal from 4-Star

Average Normal from Local Topology

Page 20: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2020))

Results-Pollen

Gradient from Central Difference Approximation

Average Normal from 4-Star

Average Normal from Local Grid Topology

Page 21: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2121))

Results-Fungus

Central Difference Approximation

Local Grid Topology

4_Star

Page 22: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2222))

Results-Bust

Differene Approximation 4-Star Local Grid Topology

Page 23: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2323))

Results-Bust

Differene Approximation 4-Star Local Grid Topology

Page 24: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2424))

III. Results

Data Size Difference gradient † (a)

Difference 4-Star † (b)

(b)/(a) Ratio *

bunny 64x64x64 33.8 deg. 6.1 deg. 1/6

fungus 200x120x30 30.8 deg. 21.3 deg. 2/3

bust 105x150x90 32.5 deg. 5.5 deg. 1/6

pollen 512x512x83 15.4 deg. 5.4 deg. 1/3

† RMS differences of normal compared to the triangular mesh topology method in degrees

* Difference Ratio of 4-Star and Gradient ~ 1/6 -2/3

Page 25: Approximating Normals for Marching Cubes applied to  Locally Supported Isosurfaces

3DK3DK - - April 20, 2023April 20, 2023 ( (2525))

IV. Conclusions

Gradient approximation methods can give poor results where the field function is defined only at lattice points close to isosurfaces.

4-Star methods produce results that are close to topology methods.

They are efficient and easy to implement. If topology is not needed, or quick rendering is used

to find proper isovalues, 4-Star methods are recommended.