Curves Surfaces MIT EECS 6 837 Durand Cutler

  • Slides: 53
Download presentation
Curves & Surfaces MIT EECS 6. 837, Durand Cutler

Curves & Surfaces MIT EECS 6. 837, Durand Cutler

Schedule • Sunday October 5 th, * 3 -5 PM * Review Session for

Schedule • Sunday October 5 th, * 3 -5 PM * Review Session for Quiz 1 • Extra Office Hours on Monday • Tuesday October 7 th: Quiz 1: In class 1 hand-written 8. 5 x 11 sheet of notes allowed • Wednesday October 15 th: Assignment 4 (Grid Acceleration) due MIT EECS 6. 837, Durand Cutler

Last Time: • Acceleration Data Structures MIT EECS 6. 837, Durand Cutler

Last Time: • Acceleration Data Structures MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Today • Review • Motivation – Limitations of Polygonal Models – Phong Normal Interpolation

Today • Review • Motivation – Limitations of Polygonal Models – Phong Normal Interpolation – Some Modeling Tools & Definitions • Curves • Surfaces / Patches • Subdivision Surfaces • Procedural Texturing MIT EECS 6. 837, Durand Cutler

Limitations of Polygonal Meshes • planar facets • fixed resolution • deformation is difficult

Limitations of Polygonal Meshes • planar facets • fixed resolution • deformation is difficult • no natural parameterization MIT EECS 6. 837, Durand Cutler

Can We Disguise the Facets? MIT EECS 6. 837, Durand Cutler

Can We Disguise the Facets? MIT EECS 6. 837, Durand Cutler

Phong Normal Interpolation • Not Phong Shading from Assignment 3 • Instead of using

Phong Normal Interpolation • Not Phong Shading from Assignment 3 • Instead of using the normal of the triangle, interpolate an averaged normal at each vertex across the face • Must be renormalized MIT EECS 6. 837, Durand Cutler

Better, but not always good enough • Still low resolution (missing fine details) •

Better, but not always good enough • Still low resolution (missing fine details) • Still have polygonal silhouettes • Intersection depth is planar • Collisions in a simulation • Solid Texturing • . . . MIT EECS 6. 837, Durand Cutler

Some Non-Polygonal Modeling Tools MIT EECS 6. 837, Durand Cutler

Some Non-Polygonal Modeling Tools MIT EECS 6. 837, Durand Cutler

Continuity definitions: • C 0 continuous – curve/surface has no breaks/gaps/holes – "watertight" •

Continuity definitions: • C 0 continuous – curve/surface has no breaks/gaps/holes – "watertight" • C 1 continuous – curve/surface derivative is continuous – "looks smooth, no facets" • C 2 continuous – curve/surface 2 nd derivative is continuous – Actually important for shading MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Today • Review • Motivation • Curves – What's a Spline? – Linear Interpolation

Today • Review • Motivation • Curves – What's a Spline? – Linear Interpolation – Interpolation Curves vs. Approximation Curves – Bézier – BSpline (NURBS) • Surfaces / Patches • Subdivision Surfaces • Procedural Texturing MIT EECS 6. 837, Durand Cutler

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

Definition: What's a Spline? • Smooth curve defined by some control points • Moving the control points changes the curve MIT EECS 6. 837, Durand Cutler

Interpolation Curves / Splines MIT EECS 6. 837, Durand Cutler

Interpolation Curves / Splines MIT EECS 6. 837, Durand Cutler

Linear Interpolation • Simplest "curve" between two points MIT EECS 6. 837, Durand Cutler

Linear Interpolation • Simplest "curve" between two points MIT EECS 6. 837, Durand Cutler

Interpolation Curves • Curve is constrained to pass through all control points • Given

Interpolation Curves • Curve is constrained to pass through all control points • Given points P 0, P 1, . . . Pn, find lowest degree polynomial which passes through the points MIT EECS 6. 837, Durand Cutler

Interpolation vs. Approximation Curves MIT EECS 6. 837, Durand Cutler

Interpolation vs. Approximation Curves MIT EECS 6. 837, Durand Cutler

Interpolation vs. Approximation Curves • Interpolation Curve –over constrained →lots of (undesirable? ) oscillations

Interpolation vs. Approximation Curves • Interpolation Curve –over constrained →lots of (undesirable? ) oscillations • Approximation Curve –more reasonable? MIT EECS 6. 837, Durand Cutler

Cubic Bézier Curve • 4 control points • Curve passes through first & last

Cubic Bézier Curve • 4 control points • Curve passes through first & last control point • Curve is tangent at P 0 to (P 0 -P 1) and at P 4 to (P 4 -P 3) MIT EECS 6. 837, Durand Cutler

Cubic Bézier Curve • de Casteljau's algorithm for constructing Bézier curves MIT EECS 6.

Cubic Bézier Curve • de Casteljau's algorithm for constructing Bézier curves MIT EECS 6. 837, Durand Cutler

Cubic Bézier Curve MIT EECS 6. 837, Durand Cutler

Cubic Bézier Curve MIT EECS 6. 837, Durand Cutler

Connecting Cubic Bézier Curves • How can we guarantee C 0 continuity (no gaps)?

Connecting Cubic Bézier Curves • How can we guarantee C 0 continuity (no gaps)? • How can we guarantee C 1 continuity (tangent vectors match)? • Asymmetric: Curve goes through some control points but misses others MIT EECS 6. 837, Durand Cutler

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

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 Courtesy of Seth Teller. Used with permission. MIT EECS 6. 837, Durand Cutler

Cubic BSplines • 4 control points • Locally cubic • Curve is not constrained

Cubic BSplines • 4 control points • Locally cubic • Curve is not constrained to pass through anycontrol points MIT EECS 6. 837, Durand Cutler

Cubic BSplines • Iterative method for constructing BSplines • Shirley, Fundamentals of Computer Graphics

Cubic BSplines • Iterative method for constructing BSplines • Shirley, Fundamentals of Computer Graphics Courtesy of Seth Teller. Used with permission. MIT EECS 6. 837, Durand Cutler

Cubic BSplines MIT EECS 6. 837, Durand Cutler

Cubic BSplines MIT EECS 6. 837, Durand Cutler

Cubic BSplines • can be chained together • better control locally (windowing) MIT EECS

Cubic BSplines • can be chained together • better control locally (windowing) MIT EECS 6. 837, Durand Cutler

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

Bézier is not the same as BSpline • Relationship to the control points is different MIT EECS 6. 837, Durand Cutler

Bézier is not the same as BSpline • But we can convert between the

Bézier is not the same as BSpline • But we can convert between the curves using the basis functions: MIT EECS 6. 837, Durand Cutler

NURBS (generalized BSplines) • BSpline: uniform cubic BSpline • NURBS: Non-Uniform Rational BSpline –

NURBS (generalized BSplines) • BSpline: uniform cubic BSpline • NURBS: Non-Uniform Rational BSpline – non-uniform = different spacing between the blending functions, a. knots – rational = ratio of polynomials (instead of cubic) MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

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

Today • Review • Motivation • Spline Curves • Spline Surfaces / Patches – Tensor Product – Bilinear Patches – Bezier Patches • Subdivision Surfaces • Procedural Texturing MIT EECS 6. 837, Durand Cutler

Tensor Product • Of two vectors: • Similarly, we can define a surface as

Tensor Product • Of two vectors: • Similarly, we can define a surface as the tensor product of two curves. . MIT EECS 6. 837, Durand Cutler

Bilinear Patch MIT EECS 6. 837, Durand Cutler

Bilinear Patch MIT EECS 6. 837, Durand Cutler

Bilinear Patch • Smooth version of quadrilateral with non-planar vertices. . . – But

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 theedges? MIT EECS 6. 837, Durand Cutler

Bicubic Bezier Patch MIT EECS 6. 837, Durand Cutler

Bicubic Bezier Patch MIT EECS 6. 837, Durand Cutler

Trimming Curves for Patches MIT EECS 6. 837, Durand Cutler

Trimming Curves for Patches MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

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

Today • Review • Motivation • Spline Curves • Spline Surfaces / Patches • Subdivision Surfaces • Procedural Texturing MIT EECS 6. 837, Durand Cutler

Chaikin's Algorithm MIT EECS 6. 837, Durand Cutler

Chaikin's Algorithm MIT EECS 6. 837, Durand Cutler

Doo-Sabin Subdivision MIT EECS 6. 837, Durand Cutler

Doo-Sabin Subdivision MIT EECS 6. 837, Durand Cutler

Doo-Sabin Subdivision

Doo-Sabin Subdivision

Loop Subdivision MIT EECS 6. 837, Durand Cutler

Loop Subdivision MIT EECS 6. 837, Durand Cutler

Loop Subdivision • Some edges can be specified as crease edges Image removed due

Loop Subdivision • Some edges can be specified as crease edges Image removed due to copyright considerations http: //grail. cs. washington. edu/projects/subdivision/ MIT EECS 6. 837, Durand Cutler

Weird Subdivision Surface Models MIT EECS 6. 837, Durand Cutler

Weird Subdivision Surface Models MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

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

Today • Review • Motivation • Spline Curves • Spline Surfaces / Patches • Procedural Texturing MIT EECS 6. 837, Durand Cutler

Procedural Textures • f(x, y, z) →color Image removed due to copyright considerations. MIT

Procedural Textures • f(x, y, z) →color Image removed due to copyright considerations. MIT EECS 6. 837, Durand Cutler

Procedural Solid Textures • Noise • Turbulence Image removed due to copyright considerations. MIT

Procedural Solid Textures • Noise • Turbulence Image removed due to copyright considerations. MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Questions? MIT EECS 6. 837, Durand Cutler

Next Thursday: Animation I: Keyframing MIT EECS 6. 837, Durand Cutler

Next Thursday: Animation I: Keyframing MIT EECS 6. 837, Durand Cutler