DOC PREVIEW
UW-Madison CS 559 - Parametric curves

This preview shows page 1-2-21-22 out of 22 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 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 22 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 22 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 22 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Last TimeTodayShortcomings So FarWhy Parametric Curves?Parametric CurvesHermite SplineHermite Spline (2)Hermite Spline (3)Basis FunctionsSplines in 2D and 3DBezier Curves (1)Bezier Curves (2)Bezier Basis Functions for d=3Some Bezier CurvesBezier Curve PropertiesRendering Bezier Curves (1)Rendering Bezier Curves (2)Sub-Dividing Bezier CurvesSlide 19Slide 20de Casteljau’s AlgorithmInvariance04/16/02(c) 2002, University of Wisconsin, CS 559Last Time•Many, many modeling techniques–Polygon meshes–Parametric instancing–Hierarchical modeling–Constructive Solid Geometry–Sweep Objects–Octrees–Blobs and Metaballs and other such things–Production rules04/16/02(c) 2002, University of Wisconsin, CS 559Today•Parametric curves–Hermite curves–Bezier curves•Midterms available in class04/16/02(c) 2002, University of Wisconsin, CS 559Shortcomings So Far•The representations we have looked at so far have various failings:–Meshes are large, difficult to edit, require normal approximations, …–Parametric instancing has a limited domain of shapes–CSG is difficult to render and limited in range of shapes–Implicit models are difficult to control and render–Production rules work in highly limited domains•Parametric curves and surfaces address many of these issues–More general than parametric instancing–Easier to control than meshes and implicit models04/16/02(c) 2002, University of Wisconsin, CS 559Why Parametric Curves?•Parametric curves are intended to provide the generality of polygon meshes but with fewer parameters for smooth surfaces–Polygon meshes have as many parameters as there are vertices (at least)•Fewer parameters makes it faster to create a curve, and easier to edit an existing curve•Normal fields can be properly defined everywhere•Parametric curves are easier to animate than polygon meshes04/16/02(c) 2002, University of Wisconsin, CS 559Parametric Curves•We have seen the parametric form for a line:•Note that x, y and z are each given by an equation that involves:–The parameter t –Some user specified control points, x0 and x1 •This is an example of a parametric curve101010)1()1()1(zttzzyttyyxttxx04/16/02(c) 2002, University of Wisconsin, CS 559Hermite Spline•A spline is a parametric curve defined by control points–The term spline dates from engineering drawing, where a spline was a piece of flexible wood used to draw smooth curves–The control points are adjusted by the user to control the shape of the curve•A Hermite spline is a curve for which the user provides:–The endpoints of the curve–The parametric derivatives of the curve at the endpoints•The parametric derivatives are dx/dt, dy/dt, dz/dt –That is enough to define a cubic Hermite spline, more derivatives are required for higher order curves04/16/02(c) 2002, University of Wisconsin, CS 559Hermite Spline (2)•Say the user provides •A cubic spline has degree 3, and is of the form:–For some constants a, b, c and d derived from the control points, but how?•We have constraints:–The curve must pass through x0 when t=0–The derivative must be x’0 when t=0–The curve must pass through x1 when t=1–The derivative must be x’1 when t=1dctbtatx 231010,,, xxxx04/16/02(c) 2002, University of Wisconsin, CS 559Hermite Spline (3)•Solving for the unknowns gives:•Rearranging gives:000101010123322xdxcxxxxbxxxxa)2( )(x )132( )32(230231230231tttxttttxttxx 10121001110320032230101tttxxxxxor04/16/02(c) 2002, University of Wisconsin, CS 559Basis Functions•A point on a Hermite curve is obtained by multiplying each control point by some function and summing•The functions are called basis functions04/16/02(c) 2002, University of Wisconsin, CS 559Splines in 2D and 3D•We have defined only 1D splines: x=f(t:x0,x1,x’0,x’1)•For higher dimensions, define the control points in higher dimensions (that is, as vectors)1012100111032003223010101010101tttzzzzyyyyxxxxzyx04/16/02(c) 2002, University of Wisconsin, CS 559Bezier Curves (1)•Different choices of basis functions give different curves–Choice of basis determines how the control points influence the curve–In Hermite case, two control points define endpoints, and two more define parametric derivatives•For Bezier curves, two control points define endpoints, and two control the tangents at the endpoints in a geometric way04/16/02(c) 2002, University of Wisconsin, CS 559Bezier Curves (2)•The user supplies d control points, pi•Write the curve as:•The functions Bid are the Bernstein polynomials of degree d –Where else have you seen them?•This equation can be written as a matrix equation also–There is a matrix to take Hermite control points to Bezier control points   didiitBt0px   ididittidtB 104/16/02(c) 2002, University of Wisconsin, CS 559Bezier Basis Functions for d=304/16/02(c) 2002, University of Wisconsin, CS 559Some Bezier Curves04/16/02(c) 2002, University of Wisconsin, CS 559Bezier Curve Properties•The first and last control points are interpolated•The tangent to the curve at the first control point is along the line joining the first and second control points•The tangent at the last control point is along the line joining the second last and last control points•The curve lies entirely within the convex hull of its control points–The Bernstein polynomials (the basis functions) sum to 1 and are everywhere positive•They can be rendered in many ways–E.g.: Convert to line segments with a subdivision algorithm04/16/02(c) 2002, University of Wisconsin, CS 559Rendering Bezier Curves (1)•Evaluate the curve at a fixed set of parameter values and join the points with straight lines•Advantage: Very simple•Disadvantages:–Expensive to evaluate the curve at many points–No easy way of knowing how fine to sample points, and maybe sampling rate must be different along curve–No easy way to adapt. In particular, it is hard to measure the deviation of a line segment from the exact curve04/16/02(c) 2002, University of


View Full Document

UW-Madison CS 559 - Parametric curves

Documents in this Course
Filters

Filters

14 pages

Lecture 2

Lecture 2

24 pages

Clipping

Clipping

22 pages

Modeling

Modeling

33 pages

Filters

Filters

26 pages

Dithering

Dithering

33 pages

Lecture 4

Lecture 4

20 pages

Load more
Download Parametric curves
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 Parametric curves 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 Parametric curves 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?