DOC PREVIEW
Berkeley COMPSCI 184 - Lecture Notes

This preview shows page 1-2-3-26-27-28 out of 28 pages.

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

Unformatted text preview:

CS-184: Computer GraphicsLecture #12: Curves and Surfaces Prof. James O’BrienUniversity of California, BerkeleyV2009-F-12-1.02Today•General curve and surface representations•Splines and other polynomial bases3Geometry Representations•Constructive Solid Geometry (CSG)•Parametric•Polygons•Subdivision surfaces•Implicit Surfaces•Point-based Surface•Not always clear distinctions•i.e. CSG done with implicits4Geometry RepresentationsObject made by CSGConverted to polygons5Geometry RepresentationsObject made by CSGConverted to polygonsConverted to implicit surface6Geometry RepresentationsacmTransactionson GraphicsOctober 2002Volume 21 Number 4CSG on implicit surfaces7Geometry RepresentationsPoint-based surface descriptionsOhtake, et al., SIGGRAPH 20038Geometry RepresentationsSubdivision surface(different levels of refinement)Images from Subdivision.org9Geometry Representations•Various strengths and weaknesses•Ease of use for design•Ease/speed for rendering•Simplicity•Smoothness•Collision detection•Flexibility (in more than one sense)•Suitability for simulation•many others...10Parametric Representationsx = x(u)x ∈�nu ∈�x = x(u)u ∈�2u, v ∈�u, v, w ∈�u ∈�3x = x(u, v, w)Curves:Surfaces:x = x(u, v)x ∈�nx = x(u)Volumes:x ∈�nand so on...Note: a vector function is really n scalar functions11•Same curve/surface may have multiple formulaeParametric Rep. Non-unique-1 0 1 2 3-10123-1 0 1 2 3-10123x(u)=[u, u]x(u)=[u3,u3]12Simple Differential Geometry•Tangent to curve•Tangents to surface•Normal of surface•Also: curvature, curve normals, curve bi-normal, others...•Degeneracies: or t(u)=∂x∂u���������utu(u, v)=∂x∂u���������u,vtv(u, v)=∂x∂v���������u,v∂x/∂u =0tu× tv=0ˆn =tu× tv||tu× tv||13Discretization•Arbitrary curves have an uncountable number of parameters-1 0 1 2 3-10123i.e. specify function value at all points on real number line14Discretization•Arbitrary curves have an uncountable number of parameters•Pick complete set of basis functions•Polynomials, Fourier series, etc.•Truncate set at some reasonable point•Function represented by the vector (list) of•The may themselves be vectorsx(u)=∞�i=0ciφi(u)x(u)=3�i=0ciφi(u)=3�i=0ciuicicix(u)=3�i=0ciφi(u)15Polynomial Basis•Power Basisx(u)=d�i=0ciuix(u)=C · PdC =[c0,c1,c2,...,cd]Pd= [1, u, u2,...,ud]The elements of are linearly independant! i.e. no good approximationPduk�≈�i�=kciuiSkipping something would lead to bad results... odd stiffness16Specifying a Curveu0u1tu(u0)tu(u1)x(u0)x(u1)Given desired values (constraints) how do we determine the coefficients for cubic power basis?u0=0 u1=1For now, assume17Specifying a Curvetu(u0)tu(u1)x(u0)x(u1)Given desired values (constraints) how do we determine the coefficients for cubic power basis?01x(0) = c0= x0x(1) =�ci= x1x�(0)= c1= x�0x�(1)=�ici= x�118Specifying a Curvetu(u0)tu(u1)x(u0)x(u1)Given desired values (constraints) how do we determine the coefficients for cubic power basis?01x0x1x�0x�1=1000111101000123·c0c1c2c3p = B · c19Specifying a Curvetu(u0)tu(u1)x(u0)x(u1)Given desired values (constraints) how do we determine the coefficients for cubic power basis?01c = βH· pβH= B−1=10000010−33−212 −21120Specifying a CurveGiven desired values (constraints) how do we determine the coefficients for cubic power basis?c = βH· pβH= B−1=10000010−33−212 −211tu(u0)tu(u1)x(u0)x(u1)01x(u)=P3· c = P3βHp=1+0u − 3u2+2u30+0u +3u2− 2u30+1u − 2u2+1u30+0u − 1u2+1u3p21Specifying a CurveGiven desired values (constraints) how do we determine the coefficients for cubic power basis?c = βH· ptu(u0)tu(u1)x(u0)x(u1)01x(u)=1+0u − 3u2+2u30+0u +3u2− 2u30+1u − 2u2+1u30+0u − 1u2+1u3px(u)=3�i=0pibi(u)Hermite basis functions22Specifying a CurveGiven desired values (constraints) how do we determine the coefficients for cubic power basis?tu(u0)tu(u1)x(u0)x(u1)01x(u)=3�i=0pibi(u)Hermite basis functionsProbably not to scale.23Hermite Basis•Specify curve by •Endpoint values•Endpoint tangents (derivatives)•Parameter interval is arbitrary (most times)•Don’t need to recompute basis functions•These are cubic Hermite•Could do construction for any odd degree• derivatives at end points(d − 1)/224Cubic Bézier•Similar to Hermite, but specify tangents indirectlyx0= p0x1= p3x�0=3(p1− p0)x�1=3(p3− p2)Note: all the control points are points in space, no tangents.25Cubic Bézier•Similar to Hermite, but specify tangents indirectlyx0= p0x1= p3x�0=3(p1− p0)x�1=3(p3− p2)1000111101000123c =10000001−33 0 000−33pc =1000−33 0 03 −63 0−13 −31pc = βZp26Cubic Bézier•Plot of Bézier basis functions0.2 0.4 0.6 0.810.20.40.60.8127Changing Bases•Power


View Full Document

Berkeley COMPSCI 184 - Lecture Notes

Documents in this Course
Load more
Download 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 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 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?