Unformatted text preview:

University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don FussellParametric surfacesUniversity of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 2ReadingRequired:Watt, 2.1.4, 3.4-3.5.OptionalWatt, 3.6.Bartels, Beatty, and Barsky. An Introduction toSplines for use in Computer Graphics andGeometric Modeling, 1987.University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 3Mathematical surface representations Explicit z = f(x,y) (a.k.a., a “height field”)• what if the curve isn’t a function, like a sphere? Implicit g(x,y,z) = 0 Parametric S(u,v) = (x(u,v), y(u,v), z(u,v))• For the sphere: x(u,v) = r cos 2πv sin πu y(u,v) = r sin 2πv sin πu z(u,v) = r cos πuAs with curves, we’ll focus on parametric surfaces.University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 4Surfaces of revolutionIdea: rotate a 2D profile curve around an axis.What kinds of shapes can you model this way?Find: A surface S(u,v) which is radius(z) rotated about thez axis.Solution:! x = radius(u)cos(v)y = radius(u)sin(v)z = u! u " [zmin,zmax], v " [0,2#]University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 5Extruded surfacesGiven: A curve C(u) in the xy-plane:Find: A surface S(u,v) which is C(u) extruded along the zaxis.Solution:! C(u) =cx(u)cy(u)01" # $ $ $ $ % & ' ' ' ' ! x = cx(u)y = cy(u)z = v! u " [umin,umax], v " [zmin,zmax]University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 6General sweep surfacesThe surface of revolution is a special case of a sweptsurface.Idea: Trace out surface S(u,v) by moving a profile curveC(u) along a trajectory curve T(v).More specifically:Suppose that C(u) lies in an (xc,yc) coordinate system with originOc.For every point along T(v), lay C(u) so that Oc coincides with T(v).University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 7The big issue:How to orient C(u) as it moves along T(v)?Here are two options:1. Fixed (or static): Just translate Oc along T(v).2. Moving. Use the Frenet frame of T(v).Allows smoothly varying orientation.Permits surfaces of revolution, for example.OrientationUniversity of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 8Frenet framesMotivation: Given a curve T(v), we want to attach a smoothly varyingcoordinate system.To get a 3D coordinate system, we need 3 independent directionvectors.As we move along T(v), the Frenet frame (t,b,n) varies smoothly.! t(v) = normalize[" T (v)]b(v) = normalize[" T (v) #" " T (v)]n(v) = b(v) # t(v)University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 9Frenet swept surfacesOrient the profile curve C(u) using the Frenet frame of the trajectory T(v):Put C(u) in the normal plane .Place Oc on T(v).Align xc for C(u) with b.Align yc for C(u) with -n.If T(v) is a circle, you get a surface of revolution exactly!What happens at inflection points, i.e., where curvature goes to zero?University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 10VariationsSeveral variations are possible:Scale C(u) as it moves, possibly using length of T(v) asa scale factor.Morph C(u) into some other curve as it movesalong T(v).…! C (u)University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 11Generalizing from Parametric CurvesFlashback to curves:We directly defined parametric functionf(u), as a cubic polynomial.Why a cubic polynomial?- minimum degree for C2 continuity- “well behaved”Can we do something similar for surfaces?Initially, just think of a height field: height = f(u,v).University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 12Cubic patchesCubics curves are good… Let’s extend them inthe obvious way to surfaces:16 terms in this function.Let’s allow the user to pick the coefficientfor each of them:2 3( ) 1f u u u u= + + +2 3( ) 1g v v v v= + + +2 2 2 2 3 3( ) ( ) 1 ...f u g v u v uv u v uv vu u v= + + + + + + + + +3 30 1 2 15( ) ( ) ...f u g v c c u c v c u v= + + + +University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 13Interesting propertiesWhat happens if I pick a particular ‘u’?What happens if I pick a particular ‘v’?What do these look like graphically on a patch?3 30 1 2 15( , ) ...f u v c c u c v c u v= + + + +( , )f u v =( , )f u v =University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 14Use control pointsAs before, directly manipulating coefficients is notintuitive.Instead, directly manipulate control points.These control points indirectly set thecoefficients, using approaches like thosewe used for curves.University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 15Tensor product Bézier surfaceLet’s walk through the steps:Which control points are interpolated by the surface?University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 16Matrix form of Bézier surfacesRecall that Bézier curves can be written in terms of the Bernsteinpolynomials:They can also be written in a matrix form:Tensor product surfaces can be written out similarly:! p(u) = Bi,n(u) pii= 0n"! p(u) = u3u2u 1[ ]"1 3 "3 13 "6 3 0"3 3 0 01 0 0 0# $ % % % % & ' ( ( ( ( p0p1p2p3# $ % % % % & ' ( ( ( ( = UMBP! p(u) = Bi,n(u)Bj,n(v)j= 0n"pi, ji= 0n"= UMBPsMBTVTUniversity of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 17Tensor product B-spline surfacesAs with spline curves, we can piece together a sequence of Béziersurfaces to make a spline surface. If we enforce C2 continuity andlocal control, we get B-spline curves:treat rows of B as control points to generate Bézier control points in u.treat Bézier control points in u as B-spline control points in v.treat B-spline control points in v to generate Bézier control points in u.University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 18Which B-spline control points are interpolated by the surface?Tensor product B-spline surfacesUniversity of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell 19Continuity for surfacesContinuity is more complex for surfaces than curves.


View Full Document

UT CS 384G - Parametric surfaces

Documents in this Course
Shading

Shading

27 pages

Shading

Shading

27 pages

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