Top Banner
Splines, Subdivision & Manifolds Luiz Velho IMPA
45

Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Jul 18, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Splines, Subdivision& Manifolds

Luiz VelhoIMPA

Page 2: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Historical Perspectivesplines

1960 1970 1980 2000 20101990

subdivision surfaces manifolds

Bezier (60)de Casteljau (60)

De Boor (72) Chaikin (74)

Riesenfeld (80)

Doo-Sabin (78) Catmull-Clark (78)

Loop (87)Dyn (90)

Zorin (89)Kobbelt (00)

Velho (01)Schroeder (02)

Grimm (95)Naveau (02)

Zorin (04)Gu (06)

Siqueira (09)

Page 3: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Modeling

• Splines (Regular Surfaces)

- Free-Form Modeling

• Subdivision (Arbitrary Surfaces)

- Efficient Algorithms

• Manifolds (Smooth Surfaces)

- Intrinsic Operations

Page 4: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Related Developments

• Parametrizations

• Surface Deformation

• Re-meshing

• Quad Structures

• Geometry Processing

• Discrete Differential Geometry (DDG)

Page 5: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Scale Spaces & Wavelets

• Constructions

- Meyer (80)

• Smoothness

- Daubechies (88)

• Multiresolution + FWT

- Mallat (89)

• Lifting

- Sweldens (95)

Page 6: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Road Map

Refinable Functions

Scale Spaces

Subdivision

Splines

Page 7: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Scaling Function• Localization (space / frequency)

• Normalization

�(x)

Z�(x)dx = 1

Page 8: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Scaling Family

• Two Parameters

- Change of Scale

- Change of Position

�s,t(x) =1

|s|1/2�(

x

s

� t)

�s(x) =1

|s|1/2�(

x

s

)

�t(x) = �(x� t)

Page 9: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Scale Spaces• Smoothing Operator

• Linear Scale Space

- Gaussian

• Physical Interpretation

- Heat equation (Smoothing ~ Diffusion)

�s(f(x)) =

Z�s,t(x)f(x)dt

Page 10: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Discretization

• Dyadic Structure

• Hyperbolic Lattice

�s0,t0 = {(sm0 , nsm0 t);m,n 2 Z}

�2,1 = {(2j , k2j); j, k 2 Z}

V1

V2

V3

V4

Page 11: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Function Representation• Representation Operator:

• Approximation Spaces

R(f) = (fj)j2Z

R : L2(R) ! l2(R)

space of functions space of sequences

Vj = {�j,k}k2Z

scale basis

Page 12: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Basis and Representation• Orthogonal Projection ~ Basis Vj

Projvj(f) =

X

k

< f,�j,k >=

X

k

f jk�j,k

f =X

k

f jk�j,k

f 7! (f jk)

representation reconstruction

Page 13: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Two-Scale Relation• Dilation Equation

- Scaling Basis:

• Reflexive Definition of Basis

�0 2 V0 ⇢ V�1

�0 =X

k

< �0,��1,k > ��1,k =X

k

hk��1,k

�(x) =p2X

k

hk�(2x� k)

Refinable Function

Page 14: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Multiresolution Analysis• Nested Approximation Spaces

Vj+1Vj

Vj-1

Dilations

Translations

{0} ⇢ · · · ⇢ Vj+1 ⇢ Vj ⇢ Vj�1 ⇢ · · · ⇢ L2(R)

�j,k(x) = 2�2/j�(2�j

x� k)

Page 15: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Spline Basis• Refinable Scaling Functions

• Basis of

- Uniform Piecewise Polynomials

• Properties

- Smoothness

- Compact Support

- Normalization

- Partition of Unity

Pm

Page 16: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Splines• Def: (repeated integration)

- B-Spline of order 1 (Haar)

- B-Spline of order m > 1

n

1(x) =

⇢1 0 � x � 1;

0 otherwise.

0 1

1

n

m(x) =

Zn

m�1(x� t)dt

Obs: recurrence relation

Page 17: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Splines & Gaussian• Theorem:

limm!1

n

m(x) = G(x)

Page 18: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Spline Subdivision• Refinement Relation

• Subdivision Mask

n

m(x) =mX

k=0

S

mk n

m(2x� k)

Smk =

1

2m�1

✓mk

Page 19: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Refinable Funcions• Example: Linear Spline

�(x) =p2[1

2�(2x+ 1) + �(2x) +

1

2�(2x� 1)]

1

2

1

21

Page 20: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Example• Linear B-Spline

• Rep of p(x) = {pi}

p(x) =X

pinm(x� i)

n

2(x) =

8<

:

x if 0 < x � 1;

2� x if 1 < x � 2;

0 otherwise

10 2

Page 21: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Scaling and Refinement• Given f in Vj

• Compute Rep of f in Vj-1

f(x) =X

k

f

jk(x)

f j�1k =< f,�j�1,k >

=<X

k

f jk�

jk,�j�1,k >

=X

k

f jk < �j

k,�j�1,k >

=X

k

f jkhk

Page 22: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Refinement & Reconstruction

• Decrease Scale = Increase Resolution

Page 23: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Subdivision • Reconstruction of f by Refinement

(limit process)

- start with

- iterate

{f jk}k2Z

f j�1k =

Xf jkhk

j ! �1

subdivision operator

Page 24: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Elements of Subdivision

• Base Shape (control points)

• Limit Shape

• Subdivision Scheme

P0

P1

S

P1 = S1P0

Page 25: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Subdivision Process• Subdivision Iteration

• Limit Shape

Pk = SPk�1

P1 = S1P0

Page 26: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Graphical Example

P0 P1 P2 P3 · · ·

Page 27: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Subdivision Schemes

• Anatomy of Subdivision

- R : Refinement Operator

- G : Smoothing Operator

• Issues

- Representation (multiresolution basis)

- Convergence

S = (R,G)

Page 28: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Subdivision Algorithm• Start with

• Repeat:

- Upsample and Change Level

- Update

P0

Pj(x) = " Pj�1(x)

Pj(x) = GPj(x)

Page 29: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Graphical View

• Topology

• Geometry

P k

P k+1

R

G

Page 30: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Vector Notation• Knot Vector

• Subdivision Matrix

P0 = (. . . , p0�1, p00, p

01, . . .)

0

BBBBBB@

...p1�1

p10p11...

1

CCCCCCA=

0

BBBB@

. s�2

. s�1

. . . s2 s0 s�2 . . .s1 .s2 .

1

CCCCA

0

BBBBBB@

...p0�1

p00p01...

1

CCCCCCA

refinement smoothing

Page 31: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Characteristics

• Nature (level dependency)

- Stationary

- Non-Stationary

• Domain Structure (connectivity)

- Regular

- Non-Regular

Sk = S

Page 32: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Functional Setting

• Uniform Partition

y = p(x)

x

Page 33: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Parametric Setting

• Extends functional setting

- Control Points

p0

p1p2

p3

x

y

t

p(t)

(x, y) = p(t) = (x(t), y(t))

pi = (xi, yi)

Page 34: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

1D Subdivision• Example: Cubic B-Spline

S(x) =1

8x0 +

1

2x1 +

3

4x2 +

1

2x3 +

1

8x4

0

BBBBBB@

...

pj+1i

...

1

CCCCCCA=

0

BBBB@

12

12

18

34

18

. . . . 12

12 . . .

18

34

18

. 12

12

1

CCCCA

0

BBBBBB@

...

pjk

...

1

CCCCCCA

Page 35: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

2D Subdivision• Parametric Surfaces

g : U ⇢ R2 ! R3

(x, y, z) = g(u, v) = (x(u, v), y(u, v), z(u, v))

g(u, v)

U M

Page 36: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Domain Discretization• Regular Meshes

2 directions 3 directions

valence 4 valence 6

regular vertices

Page 37: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

2D Refinement• Quad-Mesh

• Tri-Mesh

Obs: preserves regularity

Page 38: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Arbitrary Meshes• Semi-Regular Meshes

- Irregular Base Mesh

- Regular Refinement

extraordinary vertex

Page 39: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Splines & Subdivision• Subdivision Surfaces

- Generalize Splines to Non-Regular Connectivity

• Examples:

- Catmull-Clark(tensor product bi-cubic B-spline)

- Loop Subdivision Surface(three-directional quartic box spline)

Page 40: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Splines & Manifolds• Uniform Splines

- Particular case of Manifold Structure

• Characterization

- Charts: (basis functions at control vertices)

- Transition Function: (affine transformation)

- Partition of Unity

Page 41: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Spline Basis• Recursive Definition

• Closed Form (at segment Sj)

with

• Truncated Power

Bn := Bn�1 ⇤B0

(x� xi)n+ =

⇢(x� xi)n if x � xi;

0 if x < xi.

bn(x) :=n+ 1

n

n+1X

i=0

!i,n(x� xi)n+

bj,n(x) = bn(x� xj)translation

xjxj�1

Page 42: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

B-Spline Evaluation• At a Segment Sj

• Example:

sj(x) =m�1X

j=0

cjbj,n(x)

Sj

cjcj-1

bj-1 bj

Page 43: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

2D Scheme• Quadrilateral Structure

control mesh charts / transition function

Page 44: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Extraordinary Vertices• Characteristic Map

k=5 k=13

‣ Breaks good properties (transition function, etc)

Page 45: Splines, Subdivision & Manifoldsjean/splines-subdiv.pdfHistorical Perspective splines 1960 1970 1980 1990 2000 2010 subdivision surfaces manifolds Bezier (60) de Casteljau (60) De

Topological Obstructions

• A closed 2-manifold M admits an affine atlas, if and only if M is a torus