Subdivision: Making Meshes into Smooth Surfaces CS 101 Meshing - - PDF document

subdivision making meshes into smooth surfaces
SMART_READER_LITE
LIVE PREVIEW

Subdivision: Making Meshes into Smooth Surfaces CS 101 Meshing - - PDF document

Subdivision: Making Meshes into Smooth Surfaces CS 101 Meshing Winter 2007 1 B-Splines (Uniform) Through repeated integration 1 0 1 B 4 (x) CS 101 Meshing Winter 2007 2 B-Splines Obvious properties piecewise polynomial:


slide-1
SLIDE 1

CS 101 – Meshing Winter 2007

1

Subdivision: Making Meshes into Smooth Surfaces

CS 101 – Meshing Winter 2007

2

B-Splines (Uniform)

Through repeated integration

1 1 B4(x)

slide-2
SLIDE 2

CS 101 – Meshing Winter 2007

3

B-Splines

Obvious properties

piecewise polynomial: unit integral: non-negative: partition of unity: support:

CS 101 – Meshing Winter 2007

4

B-Splines

Repeated convolution

box function

x

slide-3
SLIDE 3

CS 101 – Meshing Winter 2007

5

Refinability I

B-Spline refinement equation

a B-spline can be written as a linear

combination of dilates and translates of itself

example

linear B-spline and all others…

1/2 1/2 1

CS 101 – Meshing Winter 2007

6

Refinability II

Refinement equation for B-splines

take advantage of box refinement

slide-4
SLIDE 4

CS 101 – Meshing Winter 2007

7

Refinability

CS 101 – Meshing Winter 2007

8

B-Spline Refinement

Examples

1/2 (1, 2, 1) 1/8 (1, 4, 6, 4, 1)

slide-5
SLIDE 5

CS 101 – Meshing Winter 2007

9

Spline Functions I

Refine each B-spline in sum

example: linear B-spline 1/2 1/2 1

CS 101 – Meshing Winter 2007

10

Spline Functions II

Refinement for functions

refine each B-spline in sum

refinement

  • f control points

refined bases

slide-6
SLIDE 6

CS 101 – Meshing Winter 2007

11

Refinement of Fncts.

Linear operation on control points

succinctly

CS 101 – Meshing Winter 2007

12

Refinement of Fncts.

Bases and control points

slide-7
SLIDE 7

CS 101 – Meshing Winter 2007

13

Subdivision Operator

Example

cubic splines

⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎟ ⎠ ⎞ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎜ ⎝ ⎛ = O M M M M O L L L L L L L L L L L L L L L L L L L L L L O M M M M O 1 4 6 1 4 4 1 6 4 1 1 4 6 4 1 8 1 1 4 6 4 1 S

1/8 (1, 4, 6, 4, 1)

CS 101 – Meshing Winter 2007

14

Subdivision

Apply subdivision to control points

draw successive control polygons

rather than curve itself

slide-8
SLIDE 8

CS 101 – Meshing Winter 2007

15

Summary so far

Splines through refinement

B-splines satisfy refinement eq. basis refinement corresponds to

control point refinement

instead of drawing curve, draw

control polygon

subdivision is refinement of control

polygon

CS 101 – Meshing Winter 2007

16

Analysis

How smooth is the limit?

the subdivision matrix

a finite submatrix representative of

  • verall subdivision operation

based on invariant neighborhoods structure of this matrix key to

understanding subdivision

slide-9
SLIDE 9

CS 101 – Meshing Winter 2007

17

Example

Cubic B-spline

5 control points for 1 segment on

either side of the origin

S j j+1

CS 101 – Meshing Winter 2007

18

Neighborhoods

Which points influence a region?

for analysis around a point

  • 1

1

slide-10
SLIDE 10

CS 101 – Meshing Winter 2007

19

Eigen Analysis

What happens in the limit?

behavior in neighborhood of point

apply S infinitely many times…

suppose S has complete set of EVs

control points in invariant neighborhood eigen vectors CS 101 – Meshing Winter 2007

20

Convergence

Limit position

let j go to infinity if λ0=1 and |λi|<1, i=1,…,n-1 example: cubic B-spline

slide-11
SLIDE 11

CS 101 – Meshing Winter 2007

21

Geometric Behavior

Move limit point to origin

look at higher order behavior

tangent vector

CS 101 – Meshing Winter 2007

22

Eigen Analysis

Summary

invariant neighborhood to

understand behavior around point

Eigen decomposition of subdivision

matrix helpful

limit point: a0, tangent: a1

General setting more complicated...

slide-12
SLIDE 12

CS 101 – Meshing Winter 2007

23

Surfaces

Arbitrary topology input mesh

assume it is 2-manifold (with

boundary)

what is 2-manifold? non-manifold subdivision possible

mostly triangles or quads

more general allowed though

CS 101 – Meshing Winter 2007

24

Subdivision in 2D

Quadrilateral

interpolating

Kobbelt scheme

slide-13
SLIDE 13

CS 101 – Meshing Winter 2007

25

Subdivision in 2D

Triangular

approximating

Loop scheme

CS 101 – Meshing Winter 2007

26

The Basic Setup

Topological rule

modify connectivity

slide-14
SLIDE 14

CS 101 – Meshing Winter 2007

27

The Basic Setup

Geometric rule

compute geometric positions

local linear combination of points

even at level i

  • dd at level i

CS 101 – Meshing Winter 2007

28

Irregular Vertices

valence 6 valence 4 valence ≠ 6 valence ≠ 4

Triangle meshes Quad meshes

regular irregular

slide-15
SLIDE 15

CS 101 – Meshing Winter 2007

29

Some Conditions

Subdivision rules should

be simple

  • nly a small set of different stencils

preferably precomputed offline

achieve some order of smoothness

C1 easy, C2 much harder perhaps we really want fairness...

CS 101 – Meshing Winter 2007

30

Some Conditions

Subdivision rules should

have local definition

stencil weights only depend on the

structure of a small neighborhood

slide-16
SLIDE 16

CS 101 – Meshing Winter 2007

31

invariance under rotations

and translations

Constructing the Rules

smoothness

and Fairness

small support

CS 101 – Meshing Winter 2007

32

Generalizes quartic box splines

simple affine combinations

Loop Scheme (1987)

1 1 6 1 1 boundary 3 1 1 3 β β β β β β 1-kβ β=3/8k

slide-17
SLIDE 17

CS 101 – Meshing Winter 2007

33

Catmull-Clark (1978)

Generalizes bi-cubic B-splines

Biermann et al., 2000

smooth boundary convex corner concave corner crease 1 1 1 1 6 boundary 1 1 1 1 β α 1-kα-kβ 1 1 6 6 1 1

CS 101 – Meshing Winter 2007

34

Control Points

Vertices of initial mesh

define the surface each influences finite part of

surface

slide-18
SLIDE 18

CS 101 – Meshing Winter 2007

35

Irregular vertices Boundaries Creases etc.

Constructing the Rules

Start with some regular rules

define rules for

CS 101 – Meshing Winter 2007

36

Subdivision Schemes

Primal Dual

no interpolation Interp. Approx. Catmull- Clark Kobbelt Loop Butterfly Doo-Sabin, Midedge Oswald & Schröder

slide-19
SLIDE 19

CS 101 – Meshing Winter 2007

37

General Principle

Start with rule from regular setting

repeated refinement only inserts

regular vertices

almost everywhere the regular

setting applies

Example

generalize B-splines

CS 101 – Meshing Winter 2007

38

Specific Examples

D00-Sabin (CAD, 1978)

generalizes bi-quadratics

9 3 3 1 face degree

slide-20
SLIDE 20

CS 101 – Meshing Winter 2007

39

Specific Examples

Catmull-Clark (CAD, 1978)

generalizes bi-cubics

1 1 1 1 1 1 1 1 6 6 valence CS 101 – Meshing Winter 2007

40

B-Spline Quad Schemes

Primal schemes

based on face splits

Catmull-Clark

Dual schemes

based on vertex splits

Doo-Sabin, Mid-Edge quartic (Zorin/Schröder)

slide-21
SLIDE 21

CS 101 – Meshing Winter 2007

41

Quad Spline Schemes

B-splines

upsampling

followed by repeated averaging (Lane-Riesenfeld)

bi-linear: single average bi-quadratic: dual average bi-cubic: triple average bi-quartic: quadruple average

CS 101 – Meshing Winter 2007

42

Quad Schemes

Topological split

every vertex splits into k (valence) 1 step: all vertices have k=4 2 steps: at most one irregular face

incident on each vertex

slide-22
SLIDE 22

CS 101 – Meshing Winter 2007

43

Smoothing Operators

Two primitive operators

vertex replication face barycenter

1/k 1/k 1/k 1/k 1/k bi-linear Doo-Sabin (CC variant) Catmull-Clark (variant) bi-quartic (new)

CS 101 – Meshing Winter 2007

44

Fundamental Solutions

Degrees 2 through 9

k=4 k=9

slide-23
SLIDE 23

CS 101 – Meshing Winter 2007

45

Examples

Control Mesh Degree 2 Degree 3 Degree 4 Degree 9

Degree 2 through 9

CS 101 – Meshing Winter 2007

46

Adaptive Subdivision

0.1 0.05 0.03 0.01