DOC PREVIEW
UW-Madison CS 559 - CS 559 Lecture Notes

This preview shows page 1-2-14-15-30-31 out of 31 pages.

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

Unformatted text preview:

Last TimeTodaySubdivision ShortcomingsWhat are Parametric Curves?Why Parametric Curves?Parametric CurvesBasis Functions (first sighting)Hermite SplineControl Point InterpretationHermite Spline (2)Hermite Spline (3)Basis FunctionsSplines in 2D and 3DBezier Curves (1)Slide 15Bezier Curves (2)Bezier Basis Functions for d=3Bezier Curves of Varying DegreeBezier Curve PropertiesRendering Bezier Curves (1)Rendering Bezier Curves (2)Sub-Dividing Bezier CurvesSlide 23Slide 24de Casteljau’s AlgorithmInvarianceLonger CurvesPiecewise Bezier CurveContinuityAchieving ContinuityBezier Continuity4/20/04 © University of Wisconsin, CS559 Spring 2004Last Time•Subdivision–Sphere–Fractals–Modified Butterfly scheme4/20/04 © University of Wisconsin, CS559 Spring 2004Today•Parametric curves–Hermite curves–Bezier curves•Homework 6 due•Homework 7 available Friday, due May 4•No lecture April 22 (Thursday)4/20/04 © University of Wisconsin, CS559 Spring 2004Subdivision Shortcomings•Subdivision surfaces suffer from parameterization problems–How are texture coordinates handled?–Surface are 2D in nature, how do we attached a 2D space to subdivision surfaces?•Subdivision surfaces can be difficult to model with–Still may take complex underlying surface to get desired shape–Effects of changes to underlying mesh are not always obvious•Evaluation is non-trivial–Methods exist for taking a point in the underlying mesh and figuring out where it will go on the surface, but it isn’t easy4/20/04 © University of Wisconsin, CS559 Spring 2004What are Parametric Curves?•Define a parameter space–1D for curves–2D for surfaces•Define a mapping from parameter space to 3D points–A function that takes parameter values and gives back 3D points•The result is a parametric curve or surface0t1Mapping:F:t→(x,y)01(Fx(t), Fy(t))4/20/04 © University of Wisconsin, CS559 Spring 2004Why 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 vectors and texture coordinates can be easily defined everywhere•Parametric curves are easier to animate than polygon meshes4/20/04 © University of Wisconsin, CS559 Spring 2004Parametric 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(tzztztyytytxxtx4/20/04 © University of Wisconsin, CS559 Spring 2004Basis Functions (first sighting)•A line is the sum of two functions multiplied by vectors:•A linear combination of basis functions–t and 1-t are the basis functions•The weights are called control points–(x0,y0,z0) and (x1,y1,z1) are the control points–They control the shape and position of the curve 1110001zyxtzyxtzyx4/20/04 © University of Wisconsin, CS559 Spring 2004Hermite 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 (tangents with length)•The parametric derivatives are dx/dt, dy/dt, dz/dt –That is enough to define a cubic Hermite spline4/20/04 © University of Wisconsin, CS559 Spring 2004Control Point Interpretation0x0dtdx1dtdx1xStart PointEnd PointStart TangentEnd Tangent4/20/04 © University of Wisconsin, CS559 Spring 2004Hermite 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 23110010,,,dtddtdxxxx4/20/04 © University of Wisconsin, CS559 Spring 2004Hermite Spline (3)•Solving for the unknowns gives:•Rearranging gives:000101010123322xdxcxxxxbxxxxa)2( )( )132( )32(230231230231tttttttttxxxxx 10121001110320032230101tttxxxxxor4/20/04 © University of Wisconsin, CS559 Spring 2004Basis Functions•A point on a Hermite curve is obtained by multiplying each control point by some function and summing4/20/04 © University of Wisconsin, CS559 Spring 2004Splines in 2D and 3D•For higher dimensions, define the control points in higher dimensions (that is, as vectors)1012100111032003223010101010101tttzzzzyyyyxxxxzyx4/20/04 © University of Wisconsin, CS559 Spring 2004Bezier 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 way4/20/04 © University of Wisconsin, CS559 Spring 2004Control Point Interpretation0x3xStart PointEnd PointPoint along start tangentPoint along end Tangent2x2x4/20/04 © University of Wisconsin, CS559 Spring 2004Bezier 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 14/20/04 © University of Wisconsin, CS559 Spring 2004Bezier Basis Functions for d=34/20/04


View Full Document

UW-Madison CS 559 - CS 559 Lecture Notes

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 CS 559 Lecture Notes
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 CS 559 Lecture Notes 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 CS 559 Lecture Notes 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?