MIT EECS 6.837, Durand and Cutler Curves & SurfacesMIT EECS 6.837, Durand and Cutler Schedule•Sunday October 5th, * 3-5 PM *Review Session for Quiz 1•Extra Office Hours on Monday•Tuesday October 7th:Quiz 1: In class1 hand-written 8.5x11 sheet of notes allowed•Wednesday October 15th:Assignment 4 (Grid Acceleration) dueMIT EECS 6.837, Durand and Cutler Last Time:•Acceleration Data StructuresMIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Today•Review•Motivation–Limitations of Polygonal Models –PhongNormal Interpolation–Some Modeling Tools & Definitions•Curves•Surfaces /Patches•Subdivision Surfaces•Procedural TexturingMIT EECS 6.837, Durand and Cutler Limitations of Polygonal Meshes•planar facets•fixed resolution•deformation is difficult •no natural parameterizationMIT EECS 6.837, Durand and Cutler Can We Disguise the Facets?MIT EECS 6.837, Durand and Cutler PhongNormal Interpolation•Not PhongShadingfrom Assignment 3•Instead of using the normal of the triangle, interpolate an averaged normal at each vertex across the face•Must be renormalized Courtesy of Leonard McMillan. Used with permission.MIT EECS 6.837, Durand and Cutler 10Kfacets1Kfacets1Ksmooth10KsmoothMIT EECS 6.837, Durand and Cutler 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•...Some Non-Polygonal Modeling Tools MIT EECS 6.837, Durand and Cutler ExtrusionSplineSurfaces/PatchesSurface of RevolutionQuadrics and other implicit polynomialsMIT EECS 6.837, Durand and Cutler Continuity definitions:•C0continuous–curve/surface has no breaks/gaps/holes–"watertight"•C1continuous–curve/surface derivative is continuous–"looks smooth, no facets"•C2continuous–curve/surface 2ndderivative is continuous–Actually important for shadingMIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Today•Review•Motivation•Curves–What's a Spline?–Linear Interpolation–Interpolation Curves vs. Approximation Curves–Bézier–BSpline(NURBS)•Surfaces /Patches•Subdivision Surfaces•Procedural TexturingMIT EECS 6.837, Durand and Cutler Definition: What's a Spline?•Smooth curve defined by some control points•Moving the control points changes the curveInterpolationBézier(approximation)BSpline(approximation) Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Interpolation Curves /Splineswww.abm.org Courtesy of The Antique Boat Museum. Used with permission.MIT EECS 6.837, Durand and Cutler Linear Interpolation•Simplest "curve" between two pointsMIT 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 pointsx(t) = an-1tn-1 + .... + a2t2+ a1t + a0y(t) = bn-1tn-1 + .... + b2t2+ b1t + b0Interpolation vs. Approximation Curves MIT EECS 6.837, Durand and Cutler Interpolationcurve must pass through control pointsApproximationcurve is influenced by control pointsInterpolation vs. Approximation Curves MIT EECS 6.837, Durand and Cutler •Interpolation Curve –over constrained →lots of (undesirable?) oscillations•Approximation Curve –more reasonable?MIT EECS 6.837, Durand and Cutler Cubic BézierCurve•4 control points•Curve passes through first & last control point•Curve is tangent at P0to (P0-P1) and at P4to (P4-P3)MIT EECS 6.837, Durand and Cutler Cubic BézierCurve•de Casteljau'salgorithm for constructing BéziercurvesttttttMIT EECS 6.837, Durand and Cutler Cubic BézierCurveMIT EECS 6.837, Durand and Cutler Connecting Cubic BézierCurves•How can we guarantee C0 continuity (no gaps)?•How can we guarantee C1 continuity (tangent vectors match)?•Asymmetric: Curve goes through some control points but misses othersMIT EECS 6.837, Durand and Cutler Higher-Order BézierCurves•> 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 and Cutler Cubic BSplines•≥4 control points•Locally cubic•Curve is not constrained to pass through any control points Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Cubic BSplines•Iterative method for constructing BSplinesShirley, Fundamentals of Computer Graphics Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Cubic BSplines Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Cubic BSplines•can be chained together•better control locally (windowing) Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Bézieris not the same as BSpline•Relationship to the control points is differentBézierBSpline Courtesy of Seth Teller. Used with permission.MIT EECS 6.837, Durand and Cutler Bezier is not the same as Bspline•But we can convert between the curves using the basis functions: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)MIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Today•Review•Motivation•SplineCurves•SplineSurfaces /Patches–Tensor Product–Bilinear Patches–Bezier Patches•Subdivision Surfaces•Procedural TexturingMIT 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 Farin, Gerald. Curves and Surfaces for Computer-aided Geometric Design: A Practical Guide. Elsevier Science & Technology Books: Oct 2001, ISBN or UPC: 1-55860-737-4. Image adapted from:MIT EECS 6.837, Durand and Cutler Bilinear PatchMIT 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?MIT EECS 6.837, Durand and Cutler BicubicBezier PatchMIT EECS 6.837, Durand and Cutler Trimming Curves for Patches Trimmed Spline Basic Spine Trimming Points v (u,v) = (0,0) u Image adapted from: Shirley, Peter. Fundamentals of Computer Graphics. A K Peters Limited. July 2002. ISBN: 1-56881-124-1.MIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Today•Review•Motivation•SplineCurves•SplineSurfaces /Patches•Subdivision Surfaces•Procedural TexturingMIT EECS 6.837, Durand and Cutler Chaikin'sAlgorithmMIT EECS 6.837, Durand and Cutler Doo-SabinSubdivisionMIT EECS 6.837, Durand and Cutler Doo-SabinSubdivisionhttp://www.ke.ics.saitama-u.ac.jp/xuz/pic/doo-sabin.gif Courtesy of Zheng Xu. Used with permission.MIT EECS 6.837, Durand and Cutler Loop Subdivision p c b m m' p' Image adapted from: Shirley, Peter. Fundamentals of Computer Graphics. A K Peters Limited. July 2002. ISBN: 1-56881-124-1.MIT EECS 6.837, Durand and Cutler Loop Subdivision•Some edges can be specified as crease edgeshttp://grail.cs.washington.edu/projects/subdivision/Image removed due to copyright considerations.MIT EECS 6.837, Durand and Cutler Weird Subdivision Surface ModelsJustin Legakis Courtesy of Justin Legakis. Used with permission. MIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Today•Review•Motivation•SplineCurves•SplineSurfaces /Patches•Procedural TexturingMIT EECS 6.837, Durand and Cutler Procedural TexturesImage removed due to copyright considerations.f (x,y,z) →colorMIT EECS 6.837, Durand and Cutler Procedural Solid Textures•Noise •TurbulenceCourtesy of Justin Legakis. Used with permission. Image removed due to copyright considerations. Image removed due to copyright considerations. Courtesy of Justin Legakis. Used with permission.MIT EECS 6.837, Durand and Cutler Questions?MIT EECS 6.837, Durand and Cutler Next Thursday:Animation I:Keyframing
Description
The topics covered in this particular lecture notes are Limitations of Polygonal Models,PhongNormal Interpolation,Some Modeling Tools & Definitions,Curves, Surfaces / Patches,Subdivision Surfaces and
Procedural Texturing.
“Prof. Frédo Durand & Prof. Barbara, 6.837-10 Curves and Surfaces, 6.837 Computer Graphics ,Electrical Engineering and Computer Science, Engineering, Massachusetts Institute of Technology: MIT Open Course Ware,http://ocw.mit.edu (22-08-2011).License: Creative Commons BY-NC-SA: http://ocw.mit.edu/terms/#cc".