Splines, Subdivision & Manifolds Luiz Velho IMPA Historical - - PowerPoint PPT Presentation

splines subdivision manifolds
SMART_READER_LITE
LIVE PREVIEW

Splines, Subdivision & Manifolds Luiz Velho IMPA Historical - - PowerPoint PPT Presentation

Splines, Subdivision & Manifolds Luiz Velho IMPA Historical Perspective subdivision surfaces manifolds splines 1960 1970 1980 1990 2000 2010 De Boor (72) Bezier (60) Chaikin (74) de Casteljau (60) Riesenfeld (80) Doo-Sabin


slide-1
SLIDE 1

Splines, Subdivision & Manifolds

Luiz Velho IMPA

slide-2
SLIDE 2

Historical Perspective

splines

1960 1970 1980 2000 2010 1990

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)

slide-3
SLIDE 3

Modeling

  • Splines (Regular Surfaces)
  • Free-Form Modeling
  • Subdivision (Arbitrary Surfaces)
  • Efficient Algorithms
  • Manifolds (Smooth Surfaces)
  • Intrinsic Operations
slide-4
SLIDE 4

Related Developments

  • Parametrizations
  • Surface Deformation
  • Re-meshing
  • Quad Structures
  • Geometry Processing
  • Discrete Differential Geometry (DDG)
slide-5
SLIDE 5

Scale Spaces & Wavelets

  • Constructions
  • Meyer (80)
  • Smoothness
  • Daubechies (88)
  • Multiresolution + FWT
  • Mallat (89)
  • Lifting
  • Sweldens (95)
slide-6
SLIDE 6

Road Map

Refinable Functions Scale Spaces Subdivision Splines

slide-7
SLIDE 7

Scaling Function

  • Localization (space / frequency)
  • Normalization

φ(x)

Z φ(x)dx = 1

slide-8
SLIDE 8

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)

slide-9
SLIDE 9

Scale Spaces

  • Smoothing Operator
  • Linear Scale Space
  • Gaussian
  • Physical Interpretation
  • Heat equation (Smoothing ~ Diffusion)

φs(f(x)) = Z φs,t(x)f(x)dt

slide-10
SLIDE 10

Discretization

  • Dyadic Structure
  • Hyperbolic Lattice

∆s0,t0 = {(sm

0 , nsm 0 t); m, n ∈ Z}

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

V1 V2 V3 V4

slide-11
SLIDE 11

Function Representation

  • Representation Operator:
  • Approximation Spaces

R(f) = (fj)j∈Z

R : L2(R) → l2(R)

space of functions space of sequences

Vj = {φj,k}k∈Z

scale basis

slide-12
SLIDE 12

Basis and Representation

  • Orthogonal Projection ~ Basis Vj

Projvj(f) = X

k

< f, φj,k >= X

k

f j

kφj,k

f = X

k

f j

kφj,k

f 7! (f j

k)

representation reconstruction

slide-13
SLIDE 13

Two-Scale Relation

  • Dilation Equation
  • Scaling Basis:
  • Reflexive Definition of Basis

φ0 ∈ V0 ⊂ V−1 φ0 = X

k

< φ0, φ−1,k > φ−1,k = X

k

hkφ−1,k

φ(x) = √ 2 X

k

hkφ(2x − k)

Refinable Function

slide-14
SLIDE 14

Multiresolution Analysis

  • Nested Approximation Spaces

Vj+1 Vj Vj-1

Dilations Translations

{0} ⊂ · · · ⊂ Vj+1 ⊂ Vj ⊂ Vj−1 ⊂ · · · ⊂ L2(R)

φj,k(x) = 2−2/jφ(2−jx − k)

slide-15
SLIDE 15

B-Spline Basis

  • Refinable Scaling Functions
  • Basis of
  • Uniform Piecewise Polynomials
  • Properties
  • Smoothness
  • Compact Support
  • Normalization
  • Partition of Unity

P m

slide-16
SLIDE 16

B-Splines

  • Def: (repeated integration)
  • B-Spline of order 1 (Haar)
  • B-Spline of order m > 1

n1(x) = ⇢ 1 0 ≥ x ≥ 1;

  • therwise.

1 1

nm(x) = Z nm−1(x − t)dt

Obs: recurrence relation

slide-17
SLIDE 17

B-Splines & Gaussian

  • Theorem:

lim

m→∞ nm(x) = G(x)

slide-18
SLIDE 18

B-Spline Subdivision

  • Refinement Relation
  • Subdivision Mask

nm(x) =

m

X

k=0

Sm

k nm(2x − k)

Sm

k =

1 2m−1 ✓m k ◆

slide-19
SLIDE 19

Refinable Funcions

  • Example: Linear Spline

φ(x) = √ 2[1 2φ(2x + 1) + φ(2x) + 1 2φ(2x − 1)]

1 2 1 2

1

slide-20
SLIDE 20

Example

  • Linear B-Spline
  • Rep of p(x) = {pi}

p(x) = X pinm(x − i)

n2(x) =    x if 0 < x ≥ 1; 2 − x if 1 < x ≥ 2;

  • therwise

1

2

slide-21
SLIDE 21

Scaling and Refinement

  • Given f in Vj
  • Compute Rep of f in Vj-1

f(x) = X

k

f j

k(x)

f j−1

k

=< f, φj−1,k > =< X

k

f j

kφj k, φj−1,k >

= X

k

f j

k < φj k, φj−1,k >

= X

k

f j

khk

slide-22
SLIDE 22

Refinement & Reconstruction

  • Decrease Scale = Increase Resolution
slide-23
SLIDE 23

Subdivision

  • Reconstruction of f by Refinement

(limit process)

  • start with
  • iterate

{f j

k}k∈Z

f j−1

k

= X f j

khk

j → −∞

subdivision operator

slide-24
SLIDE 24

Elements of Subdivision

  • Base Shape (control points)
  • Limit Shape
  • Subdivision Scheme

P0

P∞

S

P∞ = S∞P0

slide-25
SLIDE 25

Subdivision Process

  • Subdivision Iteration
  • Limit Shape

Pk = SPk−1

P∞ = S∞P0

slide-26
SLIDE 26

Graphical Example

P0 P1 P2 P3 · · ·

slide-27
SLIDE 27

Subdivision Schemes

  • Anatomy of Subdivision
  • R : Refinement Operator
  • G : Smoothing Operator
  • Issues
  • Representation (multiresolution basis)
  • Convergence

S = (R, G)

slide-28
SLIDE 28

Subdivision Algorithm

  • Start with
  • Repeat:
  • Upsample and Change Level
  • Update

P0

Pj(x) = ↑ Pj−1(x) Pj(x) = GPj(x)

slide-29
SLIDE 29

Graphical View

  • Topology
  • Geometry

P k P k+1

R G

slide-30
SLIDE 30

Vector Notation

  • Knot

Vector

  • Subdivision Matrix

P0 = (. . . , p0

−1, p0 0, p0 1, . . .)

        . . . p1

−1

p1 p1

1

. . .         =       . s−2 . s−1 . . . s2 s0 s−2 . . . s1 . s2 .               . . . p0

−1

p0 p0

1

. . .        

refinement smoothing

slide-31
SLIDE 31

Characteristics

  • Nature (level dependency)
  • Stationary
  • Non-Stationary
  • Domain Structure (connectivity)
  • Regular
  • Non-Regular

Sk = S

slide-32
SLIDE 32

Functional Setting

  • Uniform Partition

y = p(x)

x

slide-33
SLIDE 33

Parametric Setting

  • Extends functional setting
  • Control Points

p0

p1

p2

p3

x y t

p(t)

(x, y) = p(t) = (x(t), y(t)) pi = (xi, yi)

slide-34
SLIDE 34

1D Subdivision

  • Example: Cubic B-Spline

S(x) = 1 8x0 + 1 2x1 + 3 4x2 + 1 2x3 + 1 8x4

        . . . pj+1

i

. . .         =      

1 2 1 2 1 8 3 4 1 8

. . . .

1 2 1 2

. . .

1 8 3 4 1 8

.

1 2 1 2

              . . . pj

k

. . .        

slide-35
SLIDE 35

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

slide-36
SLIDE 36

Domain Discretization

  • Regular Meshes

2 directions 3 directions

valence 4 valence 6

regular vertices

slide-37
SLIDE 37

2D Refinement

  • Quad-Mesh
  • Tri-Mesh

Obs: preserves regularity

slide-38
SLIDE 38

Arbitrary Meshes

  • Semi-Regular Meshes
  • Irregular Base Mesh
  • Regular Refinement

extraordinary vertex

slide-39
SLIDE 39

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)

slide-40
SLIDE 40

Splines & Manifolds

  • Uniform Splines
  • Particular case of Manifold Structure
  • Characterization
  • Charts: (basis functions at control vertices)
  • Transition Function: (affine transformation)
  • Partition of Unity
slide-41
SLIDE 41

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; if x < xi.

bn(x) := n + 1 n

n+1

X

i=0

ωi,n(x − xi)n

+

bj,n(x) = bn(x − xj)

translation

xj xj−1

slide-42
SLIDE 42

B-Spline Evaluation

  • At a Segment Sj
  • Example:

sj(x) =

m−1

X

j=0

cjbj,n(x)

Sj cj cj-1 bj-1 bj

slide-43
SLIDE 43

2D Scheme

  • Quadrilateral Structure

control mesh charts / transition function

slide-44
SLIDE 44

Extraordinary Vertices

  • Characteristic Map

k=5 k=13

  • Breaks good properties (transition function, etc)
slide-45
SLIDE 45

Topological Obstructions

  • A closed 2-manifold M admits an affine atlas,

if and only if M is a torus