DOC PREVIEW
CMU CS 15462 - Curves and Surfaces

This preview shows page 1-2-3-18-19-37-38-39 out of 39 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

February 11, 2003Frank PfenningCarnegie Mellon Universityhttp://www.cs.cmu.edu/~fp/courses/graphics/Parametric RepresentationsCubic Polynomial FormsHermite CurvesBezier Curves and Surfaces[Angel 10.1-10.6]Parametric RepresentationsCubic Polynomial FormsHermite CurvesBezier Curves and Surfaces[Angel 10.1-10.6]Curves and SurfacesCurves and Surfaces15-462 Computer Graphics ILecture 902/11/2003 15-462 Graphics I 2GoalsGoals• How do we draw surfaces?– Approximate with polygons– Draw polygons• How do we specify a surface?– Explicit, implicit, parametric• How do we approximate a surface?– Interpolation (use only points)– Hermite (use points and tangents)– Bezier (use points, and more points for tangents)• Next lecture: splines, realization in OpenGL02/11/2003 15-462 Graphics I 3Explicit RepresentationExplicit Representation• Curve in 2D: y = f(x)• Curve in 3D: y = f(x), z = g(x)• Surface in 3D: z = f(x,y)• Problems:– How about a vertical line x = c as y = f(x)?– Circle y = § (r2– x2)1/2two or zero values for x• Too dependent on coordinate system• Rarely used in computer graphics02/11/2003 15-462 Graphics I 4Implicit RepresentationImplicit Representation• Curve in 2D: f(x,y) = 0– Line: ax + by + c = 0– Circle: x2+ y2– r2= 0• Surface in 3d: f(x,y,z) = 0– Plane: ax + by + cz + d = 0– Sphere: x2+ y2+ z2– r2= 0• f(x,y,z) can describe 3D object:– Inside: f(x,y,z) < 0– Surface: f(x,y,z) = 0– Outside: f(x,y,z) > 002/11/2003 15-462 Graphics I 5Algebraic SurfacesAlgebraic Surfaces• Special case of implicit representation• f(x,y,z) is polynomial in x, y, z• Quadrics: degree of polynomial · 2• Render more efficiently than arbitrary surfaces• Implicit form often used in computer graphics• How do we represent curves implicitly?02/11/2003 15-462 Graphics I 6Parametric Form for CurvesParametric Form for Curves• Curves: single parameter u (e.g. time)• x = x(u), y = y(u), z = z(u)• Circle: x = cos(u), y = sin(u), z = 0• Tangent described by derivative• Magnitude is “velocity”02/11/2003 15-462 Graphics I 7Parametric Form for SurfacesParametric Form for Surfaces• Use parameters u and v• x = x(u,v), y = y(u,v), z = z(u,v)• Describes surface as both u and v vary• Partial derivatives describe tangent plane at each point p(u,v) = [x(u,v) y(u,v) z(u,v)]T02/11/2003 15-462 Graphics I 8Assessment of Parametric FormsAssessment of Parametric Forms• Parameters often have natural meaning• Easy to define and calculate– Tangent and normal– Curves segments (for example, 0 · u · 1)– Surface patches (for example, 0 · u,v · 1)02/11/2003 15-462 Graphics I 9Parametric Polynomial CurvesParametric Polynomial Curves• Restrict x(u), y(u), z(u) to be polynomial in u• Fix degree n• Each ckis a column vector02/11/2003 15-462 Graphics I 10Parametric Polynomial SurfacesParametric Polynomial Surfaces• Restrict x(u,v), y(u,v), z(u,v) to be polynomial of fixed degree n• Each cikis a 3-element column vector• Restrict to simple case where 0 · u,v · 102/11/2003 15-462 Graphics I 11Approximating SurfacesApproximating Surfaces• Use parametric polynomial surfaces• Important concepts:– Join points for segments and patches– Control points to interpolate– Tangents and smoothness– Blending functions to describe interpolation• First curves, then surfaces02/11/2003 15-462 Graphics I 12OutlineOutline• Parametric Representations• Cubic Polynomial Forms• Hermite Curves• Bezier Curves and Surfaces02/11/2003 15-462 Graphics I 13Cubic Polynomial FormCubic Polynomial Form• Degree 3 appears to be a useful compromise• Curves:• Each ckis a column vector [ckxckyckz]T• From control information (points, tangents) derive 12 values ckx, cky, ckzfor 0 · k · 3• These determine cubic polynomial form• Later: how to render02/11/2003 15-462 Graphics I 14Interpolation by Cubic PolynomialsInterpolation by Cubic Polynomials• Simplest case, although rarely used• Curves:– Given 4 control points p0, p1, p2, p3– All should lie on curve: 12 conditions, 12 unknowns• Space 0 · u · 1 evenly p0= p(0), p1= p(1/3), p2= p(2/3), p3= p(1)02/11/2003 15-462 Graphics I 15Equations to Determine ckEquations to Determine ck• Plug in values for u = 0, 1/3, 2/3, 1Note:pkand ckare vectors!02/11/2003 15-462 Graphics I 16Interpolating Geometry MatrixInterpolating Geometry Matrix• Invert A to obtain interpolating geometry matrix02/11/2003 15-462 Graphics I 17Joining Interpolating SegmentsJoining Interpolating Segments• Do not solve degree n for n points• Divide into overlap sequences of 4 points• p0, p1, p2, p3then p3, p4, p5, p6, etc.• At join points– Will be continuous (C0continuity)– Derivatives will usually not match (no C1continuity)02/11/2003 15-462 Graphics I 18Blending FunctionsBlending Functions• Make explicit, how control points contribute• Simplest example: straight line with control points p0and p3• p(u) = (1 – u) p0+ u p3• b0(u) = 1 – u, b3(u) = u 11b3(u)b0(u)u02/11/2003 15-462 Graphics I 19Blending Polynomials for InterpolationBlending Polynomials for Interpolation• Each blending polynomial is a cubic• Solve (see [Angel, p. 427]):02/11/2003 15-462 Graphics I 20Cubic Interpolation PatchCubic Interpolation Patch• Bicubic surface patch with 4 £ 4 control pointsNote: each cikis3 column vector(48 unknowns)[Angel, Ch. 10.4.2]02/11/2003 15-462 Graphics I 21OutlineOutline• Parametric Representations• Cubic Polynomial Forms• Hermite Curves• Bezier Curves and Surfaces02/11/2003 15-462 Graphics I 22Hermite CurvesHermite Curves• Another cubic polynomial curve• Specify two endpoints and their tangents02/11/2003 15-462 Graphics I 23Deriving the Hermite FormDeriving the Hermite Form• As before• Calculate derivative• Yields02/11/2003 15-462 Graphics I 24Summary of Hermite EquationsSummary of Hermite Equations• Write in matrix form• Remember pkand p’kand ckare vectors!• Let q = [p0p3p’0p’3]Tand invert to find Hermite geometry matrix MHsatisfying02/11/2003 15-462 Graphics I 25Blending FunctionsBlending Functions• Explicit Hermite geometry matrix• Blending functions for u = [1 u u2u3]T02/11/2003 15-462 Graphics I 26Join Points for Hermite CurvesJoin Points for Hermite Curves• Match points and tangents (derivates)• Much smoother than point interpolation• How to obtain the tangents?• Skip Hermite surface patch• More widely used: Bezier curves and


View Full Document

CMU CS 15462 - Curves and Surfaces

Download Curves and Surfaces
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Curves and Surfaces and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Curves and Surfaces 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?