Marching Cubes: A High Resolution Surface Construction Algorithm

41
Marching Cubes: A High Resolution Surface Construction Algorithm Dr. Scott Schaefer

Transcript of Marching Cubes: A High Resolution Surface Construction Algorithm

Marching Cubes: A High Resolution Surface Construction Algorithm

Dr. Scott Schaefer

Polygon Models

AdvantagesAdvantagesExplicit connectivity informationExplicit connectivity informationEasy to renderEasy to render(Relatively) small storage(Relatively) small storage

DisadvantagesDisadvantagesTopology changes difficultTopology changes difficultInside/Outside test hardInside/Outside test hard

Implicit Representations of Shape

Shape described by solution to Shape described by solution to ff((xx)=)=cc9),( 22 −+= yxyxf

Implicit Representations of Shape

Shape described by solution to Shape described by solution to ff((xx)=)=cc9),( 22 −+= yxyxf

Implicit Representations of Shape

Shape described by solution to Shape described by solution to ff((xx)=)=cc9),( 22 −+= yxyxf

- --

-----

Implicit Representations of Shape

Shape described by solution to Shape described by solution to ff((xx)=)=cc9),( 22 −+= yxyxf

- --

-----

++ +

+

+++

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

- --

-----

++ +

+

+++

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion

--

--

-+

+

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion--

--

-+

+

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion

--

--

-+

+

++

+

+

--

--

-+

+

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnion

--

--

-++

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersection

--

--

-+

+

++

+

+

--

--

-+

+

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersection - -

+ +

++

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersectionSubtractionSubtraction

--

--

-+

+

++

+

+

--

--

-+

+

++

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersectionSubtractionSubtraction

--

--

-+

+

++

+

+--

-

-

-+

+ +

+ ++

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersectionSubtractionSubtraction

-- -

+

+

+

+

+

Advantages

No topology to maintainNo topology to maintainAlways defines a closed surface!Always defines a closed surface!Inside/Outside testInside/Outside testCSG operationsCSG operations

UnionUnionIntersectionIntersectionSubtractionSubtraction

Disadvantages

Hard to render Hard to render -- no polygonsno polygonsCreating polygons amounts to root finding Creating polygons amounts to root finding Arbitrary shapes hard to represent as an Arbitrary shapes hard to represent as an analytic functionanalytic functionCertain operations (like simplification) can Certain operations (like simplification) can be difficultbe difficult

Non-Analytic Implicit Functions

Sample functions over gridsSample functions over grids

Non-Analytic Implicit Functions

Sample functions over gridsSample functions over grids

Data Sources

Data Sources

Data Sources

Data Sources

Data Sources

Data Sources

2D Surface Reconstruction

2D Surface Reconstruction

2D Surface Reconstruction

2D Surface Reconstruction

2D Surface Reconstruction

3D Surface Reconstruction

3D Surface Reconstruction

Fun Examples

Fun Examples

Fun Examples

Fun Examples