what is subdivision based representation? subdivision...

of 52 /52
1 What is subdivision based representation? Subdivision Surfaces 15.12 Subdivision Surfaces

Author: others

Post on 19-Jun-2020

3 views

Category:

Documents


0 download

Embed Size (px)

TRANSCRIPT

  • 1

    What is subdivision based

    representation?

    Subdivision Surfaces

    15.12 Subdivision Surfaces

  • 2

    What is so special?

    One piece

    representation™

    (arbitrary topology)

    Multi-resolution

    (Scalability)

    Code

    Simplicit

    y

    Covers both

    polygon form and

    surface form

    (Uniformity)

    Numerical

    stability

  • 3

    One piece

    representation™

  • 4

    Multi-resolution

    (Scalability)

  • 5

    Covers both polygon form and surface form

    (Uniformity of representation)

  • 6

    So, just what is a

    subdivision surface?

    Triangular

    Loop Butterfly

    QuadrilateralCatmull-Clark Doo-Sabin

  • 7

    Basic Concept (Catmull-Clark Scheme):

    : vertices from mesh M0

    , , : vertices to be generated for M1

    e5

    0

    e4

    0

    e3

    0

    e2

    0

    e1

    0

    v0

    Around a vertex v of degree 5

  • 8

    Basic Concept (Catmull-Clark Scheme):

    Generating new face points

    Face point: centroid of each face

    f5

    1f4

    1

    f3

    1

    f2

    1f11

    v0

    : face point

  • 9

    Basic Concept (Catmull-Clark Scheme):

    Generating new edge points

    f5

    1f4

    1

    f3

    1

    f2

    1f11

    v0

    : edge point

    e2

    1

    e11

    e5

    1

    e3

    1

    e4

    1

    4

    11

    1

    001 iiii

    ffeve

  • 10

    Basic Concept (Catmull-Clark Scheme):

    Generating new vertex points

    f5

    1f4

    1

    f3

    1

    f2

    1f11

    v0

    : vertex point

    e2

    1

    e11

    e5

    1

    e3

    1

    e4

    1

    12

    0

    2

    01 112ii f

    ne

    nv

    n

    nv

    v1

  • 11

    Basic Concept (Catmull-Clark Scheme):

    Forming new edges

    f5

    1f4

    1

    f3

    1

    f2

    1f11

    v0

    : vertex point

    e2

    1

    e11

    e5

    1

    e3

    1

    e4

    1

    v1

  • 12

    • Repeatedly refining the control meshes,

    one gets M0,M1,M2,M3, limit

    surface (subdivision surface)

    M0

    M1

    M2

    M3

    S = M∞

  • 13

    Modeling made much easier. Why?• No restrictions on the topology of the control points

    • Local refinement is possible

    NURBS Catmull-Clark

    NURBS Catmull-Clark

  • 14

    Example of control meshes of

    Catmull-Clark subdivision surfaces

  • 15

    Can model any kind of special features

    (by modifying the subdivision rules)

  • 16

    Most importantly, can represent any shape with

    just one surface

    (one piece representation™)

    One Piece Multi-Piece

    Solid Modeling

  • 17

    Is One Piece Representation™ Good?

    Data Management: Simpler

    Rendering: More efficient

    Machining: More precise

    Animation: Crack free

  • 18

    Does this mean

    the solid modeling area

    is no longer needed?

  • 19

    What is subdivision based representation?

    Subdivision Surfaces

    ?CAD/CAM

  • 20

    What is missing?

    1. No parameterization

    2. No error control

    3. No adaptive tessellation

  • 21

    • Without error controlNo CAD/CAM applications

    • Without parameterizationDifficult to perform picking, rendering, texture mapping

    • Without adaptive tessellationToo expensive to use

  • 22

    A major breakthrough occurred in 1998

    • Jos Stam

    • Parameterization of Catmull-Clark

    Subdivision Surfaces

    • 1998

  • 23

    Work on Subdivision Surface

    Parameterization

    1. J. Stam (1998)

    2. D. Zorin, D. Kristjansson (2002)

    3. S. Lai, F. Cheng (2005)

  • 24

    J. Stam Lai/Cheng

    (Discrete Fourier Transform)

    The Extended Subdivision Diagram

    Parameterization

  • 25

    Applications of the new

    parameterization technique

    • Surface Evaluation

    • Texture Mapping

    • Boolean Operations

    • Surface Trimming

    • Adaptive Tessellation

    • Animation

  • 26

    Surface Evaluation

    Fast, Exact Rendering

  • 27

    Texture Mapping1

    1: Lai and Cheng, 2005

  • 28

    Texture Mapping1

    1: Lai and Cheng, 2005

  • 29

    Texture Mapping1

    1: Lai and Cheng, 2005

  • 30

    Boolean Operations2

    2: Lai and Cheng, 2005

  • 31

    Surface Trimming2

    2: Lai and Cheng, 2005

  • 32

    Adaptive Tessellation3

    3: Lai and Cheng, 2005

  • 33

    What is error control?

  • 34

    Error Control: Given ε > 0, when would ║Mn - S║< ε ?

    M0

    M1

    M2

    Mn

    S = M∞

    Cross-Sectional View

    Limit Surface

    ε

  • 35

    What metric should we use to assess

    ║Mn - S║ for an extra-ordinary patch?

  • 36

    A solution is finally available…

    • F. Cheng, G. Chen, J. Yong

    • Subdivision Depth Computation for

    Catmull-Clark Subdivision Surfaces

    • 2005

  • 37

    This work is also important for adaptive subdivision5.

    5: J. Yong, F. Cheng, (2004)

    Control Mesh Limit Surface Uniform Subdivision Adaptive Subdivision

  • 38

    Basic Idea: Use unbalanced subdivision6 to

    provide smooth transition between areas with

    different densities

    6: F. Cheng, J. Jaromczyk et al (1989)

    2

    0

    0

    0

  • 12/9/2014 39University of Kentucky

    Adaptive subdivision:input: a piecewise surface P and a subdivision level

    assignment S

    output: a triangular linear approximaiton P** of P

    Three phases:Phase 1: define a label for each vertex of P

    Phase 2: generate a gradrilateral subdivision mesh P*

    of P

    Phase 3: convert P* to a triangular linear approximation

    P** of P

  • 12/9/2014 40University of Kentucky

    Phase 1:

    /* F { f | f is a patch of P } */

    for each vertex v of P do

    L (v ) := max( {1} { S(f ) | f F, v is a vertex of f } )

  • 12/9/2014 41University of Kentucky

    Phase 2:

    1. for each vertex v of P do

    LABEL(v ) := L(v );

    2. for each patch f of P do

    Subdivide(f );

  • 12/9/2014 42University of Kentucky

    Subdivide(f : quadrilateral surface patch);

    if (LABEL(v ) > 0 for more than one vertex of f )

    then

    balanced_sub( );

    for i :=1 to 4 do

    subdivide( );

    else if (LABEL(v ) > 0 for only one vertex of f )

    then

    unbalanced_sub( );

    for i :=1 to 3 do

    subdivide( );

    if

    if

    4321 ,,,, fffff

    321 ,,, ffff

  • 12/9/2014 43University of Kentucky

  • 12/9/2014 44University of Kentucky

  • 12/9/2014 45University of Kentucky

  • 46

    Example of adaptive subdivision

    Significant savings

  • 47

    • Pixar’s Renderman

    • Alias|Wavefront’s Maya

    • Nichimen’s Mirai

    • Newtek’s Lightwave 3D

    Subdivision surfaces have already

    been used in

    http://www.pixar.com/index.html

  • 48

    Question:

    “Is subdivision the representation scheme for

    future visualization & animation applications?”

  • 49

    The End

  • 50

    Acknowledgement:

    • Research work presented here is supported

    by NSF (DMS-0310645, DMI-0422126).

    • Some datasets are taken from P. Schroeder,

    D. Zorin, L. Kobbelt, H. Hoppe.

  • 51

  • 52