curves & surfaces

58
MIT EECS 6.837, Durand and Cutler Curves & Surfaces

Upload: fell

Post on 25-Feb-2016

76 views

Category:

Documents


0 download

DESCRIPTION

Curves & Surfaces. Last Time:. Expected value and variance Monte-Carlo in graphics Importance sampling Stratified sampling Path Tracing Irradiance Cache Photon Mapping. Questions?. Today. Motivation Limitations of Polygonal Models Gouraud Shading & Phong Normal Interpolation - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Curves & Surfaces

Page 2: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Last Time:• Expected value and variance• Monte-Carlo in graphics• Importance sampling• Stratified sampling• Path Tracing• Irradiance Cache• Photon Mapping

Page 3: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Questions?

Page 4: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Today• Motivation

– Limitations of Polygonal Models – Gouraud Shading & Phong Normal Interpolation– Some Modeling Tools & Definitions

• Curves• Surfaces / Patches• Subdivision Surfaces

Page 5: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Limitations of Polygonal Meshes• Planar facets (& silhouettes)• Fixed resolution• Deformation is difficult • No natural parameterization

(for texture mapping)

Page 6: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Can We Disguise the Facets?

Page 7: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Gouraud Shading• Instead of shading with the normal of the triangle,

shade the vertices with the average normal and interpolate the color across each face

Illusion of a smooth surface with smoothly

varying normals

Page 8: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Phong Normal Interpolation• Interpolate the average vertex normals across

the face and compute per-pixel shading

(Not Phong Shading)

Must be renormalized

Page 9: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

10Kfacets

1Kfacets

1Ksmooth

10Ksmooth

Page 10: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Better, but not always good enough• Still low, fixed resolution

(missing fine details)• Still have polygonal

silhouettes• Intersection depth is

planar (e.g. ray visualization)

• Collisions problems for simulation

• Solid Texturing problems• ...

Page 11: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Some Non-Polygonal Modeling Tools

Extrusion

Spline Surfaces/Patches

Surface of Revolution

Quadrics and other implicit polynomials

Page 12: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Continuity definitions:• C0 continuous

– curve/surface has no breaks/gaps/holes• G1 continuous

– tangent at joint has same direction• C1 continuous

– curve/surface derivative is continuous– tangent at join has same direction and magnitude

• Cn continuous– curve/surface through nth derivative

is continuous– important for shading

Page 13: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Questions?

Page 14: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Today• Motivation• Curves

– What's a Spline?– Linear Interpolation– Interpolation Curves vs. Approximation Curves– Bézier– BSpline (NURBS)

• Surfaces / Patches• Subdivision Surfaces

Page 15: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

BSpline (approximation)

Definition: What's a Spline?• Smooth curve defined by some control points• Moving the control points changes the curve

Interpolation Bézier (approximation)

Page 16: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Interpolation Curves / Splines

www.abm.org

Page 17: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Linear Interpolation• Simplest "curve" between two points

Q(t) = Spline Basis Functions

a.k.a. Blending Functions

Page 18: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Interpolation Curves• Curve is constrained to pass through

all control points• Given points P0, P1, ... Pn, find lowest degree

polynomial which passes through the points

x(t) = an-1tn-1 + .... + a2t2 + a1t + a0

y(t) = bn-1tn-1 + .... + b2t2 + b1t + b0

Page 19: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Interpolation vs. Approximation Curves

Interpolationcurve must pass

through control points

Approximationcurve is influenced by control points

Page 20: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Interpolation vs. Approximation Curves

• Interpolation Curve – over constrained → lots of (undesirable?) oscillations

• Approximation Curve – more reasonable?

Page 21: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic Bézier Curve• 4 control points• Curve passes through first & last control point• Curve is tangent at P0 to (P0-P1) and at P4 to (P4-P3)

A Bézier curve is bounded by the convex hull of its control points.

Page 22: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic Bézier Curve• de Casteljau's algorithm for constructing

Bézier curves

t

t

tttt

Page 23: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic Bézier Curve

Bernstein Polynomials

Page 24: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Connecting Cubic Bézier Curves

Asymmetric: Curve goes through some control

points but misses others

• How can we guarantee C0 continuity?• How can we guarantee G1 continuity? • How can we guarantee C1 continuity?• Can’t guarantee higher C2 or higher continuity

Page 25: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Connecting Cubic Bézier Curves• Where is this curve

– C0 continuous?– G1 continuous?– C1 continuous?

• What’s the relationship between: – the # of control

points, and – the # of

cubic Bézier subcurves?

Page 26: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Higher-Order Bézier Curves• > 4 control points• Bernstein Polynomials as the basis functions

• Every control point affects the entire curve – Not simply a local effect – More difficult to control for modeling

Page 27: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic BSplines• ≥ 4 control points• Locally cubic• Curve is not constrained to pass through any

control points

A BSpline curve is also bounded by the convex hull of its control points.

Page 28: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic BSplines• Iterative method for constructing BSplines

Shirley, Fundamentals of Computer Graphics

Page 29: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic BSplines

Page 30: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Cubic BSplines• Can be chained together• Better control locally (windowing)

Page 31: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Connecting Cubic BSpline Curves• What’s the

relationship between – the # of control

points, and – the # of

cubic BSpline subcurves?

Page 32: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

BSpline Curve Control Points

Default BSpline BSpline with Discontinuity

BSpline which passes through

end points

Repeat interior control point Repeat end points

Page 33: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bézier is not the same as BSpline

Bézier BSpline

Page 34: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bézier is not the same as BSpline• Relationship to the control points is different

Bézier

BSpline

Page 35: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Converting between Bézier & BSplineoriginal control

points as Bézier

original control points as BSpline

new Bézier control

points to match

BSpline

new BSpline control points to match Bézier

Page 36: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Converting between Bézier & BSpline

• Using the basis functions:

Page 37: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

NURBS (generalized BSplines)• BSpline: uniform cubic BSpline

• NURBS: Non-Uniform Rational BSpline– non-uniform = different spacing between the

blending functions, a.k.a. knots– rational = ratio of polynomials (instead of cubic)

Page 38: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Questions?

Page 39: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Today• Motivation• Spline Curves• Spline Surfaces / Patches

– Tensor Product– Bilinear Patches– Bezier Patches

• Subdivision Surfaces

Page 40: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Tensor Product• Of two vectors:

• Similarly, we can define a surface as the tensor product of two curves....

Farin, Curves and Surfaces forComputer Aided Geometric Design

Page 41: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bilinear Patch

Page 42: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bilinear Patch• Smooth version of quadrilateral with

non-planar vertices...

– But will this help us model smooth surfaces?– Do we have control of the derivative at the edges?

Page 43: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bicubic Bezier Patch

Page 44: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Editing Bicubic Bezier Patches

Curve Basis Functions

Surface Basis Functions

Page 45: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Bicubic Bezier Patch Tessellation• Assignment 8: Given 16 control points and a

tessellation resolution, create a triangle mesh

resolution:5x5 vertices

resolution:11x11 vertices

resolution:41x41 vertices

Page 46: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Modeling with Bicubic Bezier Patches

• Original Teapot specified with Bezier Patches

Page 47: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Modeling Headaches• Original Teapot model is not "watertight":

intersecting surfaces at spout & handle, no bottom, a hole at the spout tip, a gap between lid & base

Page 48: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Trimming Curves for Patches

Shirley, Fundamentals of Computer Graphics

Page 49: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Questions?

Henrik Wann Jensen

• Bezier Patches?

or

• Triangle Mesh?

Page 50: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Today• Review• Motivation• Spline Curves• Spline Surfaces / Patches• Subdivision Surfaces

Page 51: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Chaikin's Algorithm

Page 52: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Doo-Sabin Subdivision

Page 53: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Doo-Sabin Subdivision

http://www.ke.ics.saitama-u.ac.jp/xuz/pic/doo-sabin.gif

Page 54: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Loop Subdivision

Shirley, Fundamentals of Computer Graphics

Page 55: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Loop Subdivision• Some edges can be specified as crease edges

http://grail.cs.washington.edu/projects/subdivision/

Page 56: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Questions?

Justin Legakis

Page 57: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Neat Bezier Spline Trick• A Bezier curve with 4 control points:

– P0 P1 P2 P3

• Can be split into 2 new Bezier curves: – P0 P’1 P’2 P’3

– P’3 P’4 P’5 P3 A Bézier curve is bounded by

the convex hull of its control

points.

Page 58: Curves & Surfaces

MIT EECS 6.837, Durand and Cutler

Next Tuesday: (no class Thursday!)

Animation I:Particle Systems