47
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer

Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer

  • View
    216

  • Download
    3

Embed Size (px)

Citation preview

Implicit Representations of Surfaces and Polygonalization Algorithms

Dr. Scott Schaefer

2/47

Polygon Models

AdvantagesExplicit connectivity informationEasy to render(Relatively) small storage

DisadvantagesTopology changes difficultInside/Outside test hard

3/47

Implicit Representations of Shape

Shape described by solution to f(x)=c

9),( 22 yxyxf

4/47

Implicit Representations of Shape

Shape described by solution to f(x)=c

9),( 22 yxyxf

5/47

Implicit Representations of Shape

Shape described by solution to f(x)=c

- --

--

---

9),( 22 yxyxf

- --

--

---

6/47

Implicit Representations of Shape

Shape described by solution to f(x)=c

- --

--

---

+

+ +

+

+++

+

9),( 22 yxyxf

- --

--

---

7/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

8/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

- --

--

---

+

+ +

+

+++

+

- --

--

---

9/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

10/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

11/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

12/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

-

-

--

-+

+

++

+

+

-

-

--

-

13/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

-

-

--

-+

+

++

+

+

-

-

--

-

14/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

-

-

--

-+

+

++

+

+

-

-

--

-+

+

++

+

+

-

-

--

--

-

--

-+

+

++

+

+

-

-

--

-

15/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

Union

-

++

++

+

+

- --

---

-

16/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersection

-

-

--

-+

+

++

+

+

-

-

--

-+

+

++

+

+

-

-

--

--

-

--

-+

+

++

+

+

-

-

--

-

17/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersection - -

++

++

- -

18/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersectionSubtraction

-

-

--

-+

+

++

+

+

-

-

--

-+

+

++

+

+

-

-

--

--

-

--

-+

+

++

+

+

-

-

--

-

19/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersectionSubtraction

-

-

--

-+

+

++

+

+--

-

-

-+

+ +

+++

-

-

--

--

-

-

-

-

20/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersectionSubtraction

-- -

+

+

+

+

+-

-

-

21/47

Advantages

No topology to maintain Always defines a closed surface! Inside/Outside test CSG operations

UnionIntersectionSubtraction

22/47

Disadvantages

Hard to render - no polygons Creating polygons amounts to root finding Arbitrary shapes hard to represent as an

analytic function Certain operations (like simplification) can be

difficult

23/47

Non-Analytic Implicit Functions

Sample functions over grids

24/47

Non-Analytic Implicit Functions

Sample functions over grids

25/47

Data Sources

26/47

Data Sources

27/47

Data Sources

28/47

Data Sources

29/47

Data Sources

30/47

Data Sources

31/47

2D Surface Reconstruction

32/47

2D Surface Reconstruction

33/47

2D Surface Reconstruction

34/47

2D Surface Reconstruction

35/47

2D Surface Reconstruction

36/47

Marching Cubes

37/47

Marching Cubes

38/47

Dual Contouring

Place vertices inside of square Generate segments across edges with zero Dual to polygons produced by MC

39/47

Comparison of Primal/Dual

Produces well-shaped quads Allows more freedom in positioning vertices

Marching Cubes (Primal) Dual Contouring (Dual)

40/47

Dual Contouring With Hermite Data

Place vertices at minimizer of QEFs Generate segments across edges with zeros

41/47

Comparison

Marching Cubes Dual Contouring

42/47

Contouring Signed Octrees

For each minimal edge with zero,Connect vertices of cubes containing edge

Constructs closed surface mesh for any octree

43/47

Fast Polygon Generation

Recursive octree traversal Linear time in size of octree

44/47

Extensions

Multiple materials CSG operations Simplification via QEFs Topological safety

Dual Marching Cubes

Generate cells for contouring using the dual of the octree

Creates adaptive, crack-free partitioning of space

Use Marching Cubes on dual

cells to construct polygons

45/47

Dual Marching Cubes

Enumerate dual grid using

recursive walkThree types of recursive calls

46/47

47/47

Dual Marching Cubes

AdvantagesAlways creates a manifold surfaceSame as Marching Cubes over uniform gridsWorks well for data centered in cells

DisadvantagesOctrees with data at vertices instead

of cells?…