88
Computer Graphics Curves and Smooth Surfaces

Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Computer Graphics

Curves and

Smooth Surfaces

Page 2: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

• object representations so far

– polygonal meshes (shading)

– analytical descriptions (raytracing)

• flexibility vs. accuracy

• now: flexible yet accurate

representations

– piecewise smooth curves:

Bézier curves, splines

– smooth (freeform) surfaces

– subdivision surfaces

Page 3: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Again, why do we need all this?

• not only representation, but also modeling

• and it’s all about cars! shiny cars!

Page 4: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Again, why do we need all this?

• not only representation, but also modeling

• and it’s all about cars! shiny cars!

Page 5: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

Curves

Page 6: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Specifying Curves

• functional descriptions

– y = f(x) in 2D;

for 3D also z = f(x)

– cannot have loops

– functions only return one scalar, bad for 3D

– difficult handling if it needs to be adapted

• parametric descriptions

– independent scalar parameter t

– typically t [0, 1], mapping into 2 / 3

– point on the curve: P(t) = (x(t), y(t), z(t))

Page 7: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Polynomial Parametric Curves

• use control points to specify curves

• n+1 control points for a curve segment

• set of basis or blending functions:

n

i

nii tBPtP0

, )()(

Page 8: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Interpolating vs. Approximating

• two different curves schemes: curves do

not always go through all control points

– approximating curves

not all control

points are on the

resulting curve

– interpolating curves

all control points

are on the resulting

curve

Page 9: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

Bézier Curves

Page 10: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Bézier Curves: Blending Functions

• formulation of curve:

• Bi,n – Bernstein polynomials

(control point weights, depend on t):

• Bézier curve example for n = 3:

n

i

nii tBPtP0

, )()(

iniini

ni ttini

ntt

i

ntB

)1(

)()1()(,

!!

!

3

3

2

2

2

1

3

0

3,333,223,113,00

)1(3)1(3)1(

)()()()()(

tPttPttPtP

tBPtBPtBPtBPtP

Page 11: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Bernstein Polynomials Visualized

3

3

2

2

2

1

3

0 )1(3)1(3)1()( tPttPttPtPtP

Page 12: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

De Casteljau’s Algorithm

• algorithm by Paul de Casteljautrivia: original inventor of Bézier curves (in 1959);

Pierre Bézier just publicized them widely in 1962;

both working for French car makers (Citroën & Renault)

• geometric & numerically stable way to

evaluate the polynomials in Bézier curves

t = 0.25 t = 0.75

Page 13: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Bézier Curves: Examples

Page 14: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Bézier Curves: Example & Bi,n

Page 15: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Bézier Curves: Properties

• curve always inside the convex hull of the

control polygon – why?

• approximating curve: only first & last

control points are interpolated – why?

• each control point

affects the entire curve,

limited local control

problem for modeling

]1,0[1)(0 ,

ttBn

i ni

Page 16: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Piecewise Smooth Curves

• low order curves give sufficient control

• idea: connect segments together

– each segment only affected

by its own control points local control

– make sure that segments connect smoothly

• problem: what are smooth connections?

Page 17: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Continuity Criteria

• a curve s is said to be Cn-continuous if its

nth derivative dns/dtn is continuous of value

parametric continuity: shape & speed

• not only for individual curves, but also and

in particular for where segments connect

• geometric continuity: two curves are Gn-

continuous if they have proportional nth de-

rivatives (same direction, speed can differ)

• Gn follows from Cn, but not the other way

• car bodies need at least G2-continuity

Page 18: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Continuity Criteria: Examples

G0 = C0

G1

C1

Page 19: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

Splines

Page 20: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Splines

• term from manufacturing

(cars, planes, ships, etc.):

metal strips with weights

or similar attached

• mathematically in cg:

composite curves that are

composed of polynomial

sections and that satisfy specified

continuity conditions

• Bézier curves are one class of splines

Page 21: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines

• Bézier curves: global reaction to change

• goal: find curve that provides local control

• idea: approximating curve with many

control points where only a few conse-

cutive control points have local influence:

Page 22: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines

• mathematical formulation (n+1 control pts):

• recursive definition of Bi,d

• Bi,d only non-zero for certain range (knots)

• range of each Bi,d grows with degree

)()()(

0

1)(

1)()(

1,1

1

1,

1

,

1

0,

0,

tBtt

tttB

tt

tttB

otherwise

tttiftB

ndtBPtP

di

idi

didi

idi

idi

ii

i

n

idii

degree

knots

Page 23: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines

degree: 1

Page 24: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines

degree: 2

Page 25: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines

degree: 3

Page 26: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines vs. Bézier Curves

Page 27: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

B-Splines vs. Bézier Curves

cubic B-spline degree 5 B-spline and Bézier curve

Page 28: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

NURBS

• knots can be non-uniformly spaced

in the parameter space

• additional skalar weights for control points

• Non Uniform Rational Basis Spline:

• “rational” refers to ration, i.e., a quotient

• can also represent, e.g., conic sections

n

ikdii

n

ikdiii

tBh

tBPh

tP

0,,

0,,

)(

)(

)(

Page 29: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Interpolating Curves

• how to specify smooth curves that

interpolate control points?

• idea: use 4 control points to specify an

interpolating curve between the middle 2

• example: Cardinal splines:

• curve defined from Pk to Pk+1;

Pk-1 & Pk+1 as well as

Pk & Pk+2 define tangents:

)()()()()( 3221101 tCarPtCarPtCarPtCarPtP kkkk

Hearn & Baker 2004

Page 30: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Open vs. Closed Cardinal Splines

• open curves need extra control points to

specify the boundary conditions

• for closed curves no boundary conditions

necessary, treat as never-ending curve

Hearn & Baker 2004

Page 31: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Cardinal Splines: Definition

• Cari – cubic polynomial blending functions:

• tension parameter

to control curve path and overshooting

2

1

)(

))23()2((

)1)3(2)2((

)2()(

23

2

23

1

23

23

1

tensions

tstsP

tststsP

tstsP

tststsPtP

k

k

k

k

Hea

rn &

Ba

ke

r 2

00

4

Page 32: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Cardinal Splines: Examples

Hearn & Baker 2004

Page 33: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Cardinal Splines: Examples

Hearn & Baker 2004

Page 34: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Cardinal Splines: Examples

Hearn & Baker 2004

Page 35: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Smooth Curves: Summary

• parametric definition using parameter t

• flexible control points to control path

• blending functions compute each control

point’s contribution for a given parameter t

• works for 2D and 3D curves alike:

just use 2D or 3D control points

• two ways to gain local control:

– stitching low-degree curves together

– using b-splines with degree parameter

Page 36: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

Freeform Surfaces

Page 37: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Freeform Surfaces

• base surfaces on parametric curves

• Bézier curves Bézier surfaces/patches

• spline curves spline surfaces/patches

• mathematically:

application of curve formulations

along two parametric directions

Page 38: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Freeform Surfaces: Principle

• Bézier surface: control mesh with m × n

control points now specifies the surface:

m

j

n

inimjij uBvBPvuP

0 0,,, )()(),(

Page 39: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Freeform Surfaces: Examples

Page 40: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Freeform Surfaces: Examples

Page 41: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Trivia: The Utah Teapot

• famous model used early in CG

• modeled from Bézier patches in 1975

• is even available in GLUT

• used frequently

in CG techniques

as an example

along with other

“famous” models

like the

Stanford bunny

Page 42: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

The Utah Teapot

Page 43: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Freeform Surfaces: How to Render?

• freeform surface specification yields

– points on the surface (evaluating the sums)

– order of points (through parameter order)

• extraction of approximate polygon mesh

– chose parameter stepping size in u and v

– compute the points for each of the steps

– create polygon mesh using the inherent order

• can be created as detailed as necessary

Page 44: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Tessellation (parameter space sampling)

u

v

Page 45: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Tessellation (parameter space sampling)

u

v

Page 46: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Tessellation (parameter space sampling)

u

v

Page 47: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Smooth Surfaces

Subdivision Surfaces

Page 48: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces

• but we already have so many polygon

models, is there anything we can do?

• sure there is: subdivision surfaces!

• basic idea:

– model coarse, low-resolution mesh of object

– recursively refine the mesh using rules

– use high-resolution mesh for rendering

– limit surface should have continuity properties

and is typically one of the freeform surfaces

Page 49: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces: Example

Page 50: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces: Example

Page 51: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces: Example

Page 52: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces: Example

Page 53: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Surfaces: Example

Page 54: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision Schemes for Surfaces

• quad-based vs. triangle-based subdivision

• quad-based subdivision

– Doo-Sabin

– Catmull-Clark

– Kobbelt

• triangle-based subdivision

– Loop

– (modified) butterfly

– √3

Page 55: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Face Splitting vs. Vertex Splitting

• face splitting: faces directly subdivided:

• vertex splitting: vertices are “split”

Zorin e

t al., 2000

Page 56: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Position of New Vertices

• positions computed based on weighted

averages from neighbouring original

vertices or new vertices

• each scheme has its

own weights (look up

for implementation)

• special weights for

sharp edges or borders

• extraordinary vertices

Page 57: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

Page 58: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

Page 59: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

Page 60: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

Page 61: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

Page 62: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Doo-Sabin Subdivision

• approximating (quad mesh) vertex split

• example:

Page 63: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Catmul-Clark Subdivision

• approximating quad mesh face-split

Page 64: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Catmul-Clark Subdivision

• approximating quad mesh face-split

Page 65: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Catmul-Clark Subdivision

• approximating quad mesh face-split

Page 66: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Catmul-Clark Subdivision

• approximating quad mesh face-split

• example:

Page 67: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Kobbelt Subdivision

• interpolating quad-mesh face-split

• using different weights than the

Catmull-Clark scheme

Page 68: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Kobbelt Subdivision

• interpolating quad-mesh face-split

• using different weights than the

Catmull-Clark scheme

Page 69: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Kobbelt Subdivision

• interpolating quad-mesh face-split

• using different weights than the

Catmull-Clark scheme

Page 70: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Loop Subdivision

• approximating triangle mesh face-split

Page 71: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Loop Subdivision

• approximating triangle mesh face-split

Page 72: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Loop Subdivision

• approximating triangle mesh face-split

Page 73: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Loop Subdivision

• approximating triangle mesh face-split

• example:

Page 74: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Modified Butterfly Subdivision

• interpolating triangle mesh face-split,

using different

weights compared

to Loop scheme

Page 75: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Modified Butterfly Subdivision

• interpolating triangle mesh face-split,

using different

weights compared

to Loop scheme

Page 76: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Modified Butterfly Subdivision

• interpolating triangle mesh face-split,

using different

weights compared

to Loop scheme

Page 77: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Modified Butterfly Subdivision

• interpolating triangle mesh face-split,

using different

weights compared

to Loop scheme

• example:

Loop

Page 78: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

Page 79: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

Page 80: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

Page 81: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

Page 82: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

Page 83: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

√3 subdivision

• approximating triangle mesh face-split

• only 1:3 triangle increase, not 1:4

Kobb

elt, 2000

Loop scheme:

Page 84: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Adaptive Subdivision

• subdivide only where detail is needed

• special care for boundary of subdivided

region to maintain smooth transition

Page 85: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Adaptive Subdivision

Kobbelt, 1996

Page 86: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Subdivision and Freeform Surfaces

• limit surfaces of subdivision have also

certain continuity properties:

– C1: Doo-Sabin, Kobbelt, Modified Butterfly

– C2: Loop, √3, Catmull-Clark

• for some schemes, the limit surfaces are

Bézier/spline surfaces

Page 87: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Application: Subdivision Modeling

• model coarse meshes as usual

• apply subdivision to get smooth surfaces

• now used often in animated features to aid

the modeling of characters and objects

Pix

ar,

1997 / D

eR

ose e

t al., 1998

Page 88: Computer Graphics · 2019-12-10 · Computer Graphics –Fall 2016/2017 Tobias Isenberg Curves and Smooth Surfaces Curves and Smooth Surfaces • object representations so far –polygonal

Curves and Smooth SurfacesTobias IsenbergComputer Graphics – Fall 2016/2017

Curves and Surfaces: Summary

• need to model smooth curves & surfaces

• use of control points

• polynomial descriptions

• continuity constraints Cn/Gn,

important both for curves and surfaces

• surfaces from curves

• subdivision surfaces