1MIT EECS 6.837, Durand and CutlerCurves & SurfacesMIT EECS 6.837, Durand and CutlerSchedule• Sunday October 5th, * 3-5 PM *, Room TBA:Review Session for Quiz 1• Extra Office Hours on Monday (NE43 Graphics Lab)• 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 CutlerLast Time:• Acceleration Data StructuresMIT EECS 6.837, Durand and CutlerQuestions?MIT EECS 6.837, Durand and CutlerToday•Review• Motivation– Limitations of Polygonal Models– Phong Normal Interpolation– Some Modeling Tools & Definitions• Curves• Surfaces / Patches• Subdivision Surfaces• Procedural TexturingMIT EECS 6.837, Durand and CutlerLimitations of Polygonal Meshes• planar facets• fixed resolution• deformation is difficult • no natural parameterization2MIT EECS 6.837, Durand and CutlerCan We Disguise the Facets?MIT EECS 6.837, Durand and CutlerPhong 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 renormalizedMIT EECS 6.837, Durand and Cutler10Kfacets1Kfacets1Ksmooth10KsmoothMIT EECS 6.837, Durand and CutlerBetter, 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 and CutlerSome Non-Polygonal Modeling ToolsExtrusionSpline Surfaces/PatchesSurface of RevolutionQuadrics and other implicit polynomialsMIT EECS 6.837, Durand and CutlerContinuity 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 shading3MIT EECS 6.837, Durand and CutlerQuestions?MIT EECS 6.837, Durand and CutlerToday•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 CutlerBSpline(approximation)Definition: What's a Spline?• Smooth curve defined by some control points• Moving the control points changes the curveInterpolation Bézier (approximation)MIT EECS 6.837, Durand and CutlerInterpolation Curves / Splineswww.abm.orgMIT EECS 6.837, Durand and CutlerLinear Interpolation• Simplest "curve" between two pointsMIT EECS 6.837, Durand and CutlerInterpolation 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 + b04MIT EECS 6.837, Durand and CutlerInterpolation vs. Approximation CurvesInterpolationcurve must pass through control pointsApproximationcurve is influenced by control pointsMIT EECS 6.837, Durand and CutlerInterpolation vs. Approximation Curves• Interpolation Curve – over constrained →lots of (undesirable?) oscillations• Approximation Curve – more reasonable?MIT EECS 6.837, Durand and CutlerCubic Bézier Curve• 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 CutlerCubic Bézier Curve• de Casteljau's algorithm for constructing BéziercurvesttttttMIT EECS 6.837, Durand and CutlerCubic Bézier CurveMIT EECS 6.837, Durand and CutlerConnecting Cubic Bézier Curves• 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 others5MIT EECS 6.837, Durand and CutlerHigher-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 modelingMIT EECS 6.837, Durand and CutlerCubic BSplines• ≥ 4 control points• Locally cubic• Curve is not constrained to pass through any control pointsMIT EECS 6.837, Durand and CutlerCubic BSplines• Iterative method for constructing BSplinesShirley, Fundamentals of Computer GraphicsMIT EECS 6.837, Durand and CutlerCubic BSplinesMIT EECS 6.837, Durand and CutlerCubic BSplines• can be chained together• better control locally (windowing)MIT EECS 6.837, Durand and CutlerBézier is not the same as BSpline• Relationship to the control points is differentBézierBSpline6MIT EECS 6.837, Durand and CutlerBezier is not the same as Bspline• But we can convert between the curves using the basis functions:MIT EECS 6.837, Durand and CutlerNURBS (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 CutlerQuestions?MIT EECS 6.837, Durand and CutlerToday•Review• Motivation• Spline Curves• Spline Surfaces / Patches– Tensor Product– Bilinear Patches– Bezier Patches• Subdivision Surfaces• Procedural TexturingMIT EECS 6.837, Durand and CutlerTensor Product• Of two vectors:• Similarly, we can define a surface as the tensor product of two curves....Farin, Curves and Surfaces forComputer Aided Geometric DesignMIT EECS 6.837, Durand and CutlerBilinear Patch7MIT EECS 6.837, Durand and CutlerBilinear 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 CutlerBicubic Bezier PatchMIT EECS 6.837, Durand and CutlerEditing Bicubic Bezier PatchesCurve Basis FunctionsSurface Basis FunctionsMIT EECS 6.837, Durand and CutlerModeling with Bicubic Bezier Patches• Original Teapot specified with Bezier PatchesMIT EECS 6.837, Durand and CutlerModeling 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 MIT EECS 6.837, Durand and CutlerTrimming Curves for PatchesShirley, Fundamentals of Computer Graphics8MIT EECS 6.837, Durand and CutlerQuestions?MIT EECS 6.837, Durand and
View Full Document