DOC PREVIEW
Berkeley COMPSCI 184 - Lecture Notes

This preview shows page 1-2-3-25-26-27-28-50-51-52 out of 52 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 52 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 52 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 52 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 52 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 52 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 52 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 52 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 52 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 52 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 52 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 52 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, BerkeleyV2008-S-12-1.012TodayGeneral curve and surface representationsSplines and other polynomial bases23Geometry RepresentationsConstructive Solid Geometry (CSG)ParametricPolygonsSubdivision surfacesImplicit SurfacesPoint-based SurfaceNot always clear distinctionsi.e. CSG done with implicits34Geometry RepresentationsObject made by CSGConverted to polygons45Geometry RepresentationsObject made by CSGConverted to polygonsConverted to implicit surface56Geometry RepresentationsacmTransactionson GraphicsOctober 2002Volume 21 Number 4CSG on implicit surfaces67Geometry RepresentationsPoint-based surface descriptionsOhtake, et al., SIGGRAPH 200378Geometry RepresentationsSubdivision surface(different levels of refinement)Images from Subdivision.org89Geometry RepresentationsVarious strengths and weaknessesEase of use for designEase/speed for renderingSimplicitySmoothnessCollision detectionFlexibility (in more than one sense)Suitability for simulationmany others...910Parametric 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 functions1011Same 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]1112Simple Differential GeometryTangent to curveTangents to surfaceNormal of surfaceAlso: 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||1213DiscretizationArbitrary curves have an uncountable number of parameters-1 0 1 2 3-10123i.e. specify function value at all points on real number line1314DiscretizationArbitrary curves have an uncountable number of parametersPick complete set of basis functionsPolynomials, Fourier series, etc.Truncate set at some reasonable pointFunction represented by the vector (list) ofThe 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)1415Polynomial BasisPower 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 stiffness1516Specifying 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, assume 1617Specifying 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)=!i ci= x!11718Specifying 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=1 0 0 01 1 1 10 1 0 00 1 2 3·c0c1c2c3p = B · c1819Specifying 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=1 0 0 00 0 1 0−3 3 −2 12 −2 1 11920Specifying a CurveGiven desired values (constraints) how do we determine the coefficients for cubic power basis?c = βH· pβH= B−1=1 0 0 00 0 1 0−3 3 −2 12 −2 1 1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p2021Specifying 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 functions2122Specifying 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.2223Hermite BasisSpecify curve by Endpoint valuesEndpoint tangents (derivatives)Parameter interval is arbitrary (most times)Don’t need to recompute basis functionsThese are cubic HermiteCould do construction for any odd degree derivatives at end points(d − 1)/22324Cubic BézierSimilar 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.2425Cubic BézierSimilar to Hermite, but specify tangents indirectlyx0= p0x1= p3x!0= 3(p1− p0)x!1= 3(p3− p2)1 0 0 01 1 1 10 1 0 00 1 2 3c =1 0 0 00 0 0 1−3 3 0 00 0 −3 3pc =1 0 0 0−3 3 0 03 −6 3 0−1 3 −3 1pc = βZp2526Cubic BézierPlot of Bézier basis functions0.2 0.4 0.6 0.810.20.40.60.812627Changing BasesPower basis, Hermite, and Bézier all are still just cubic polynomialsThe


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?