130 likes | 156 Views
Learn about parametric curves and surfaces, their historical background, key concepts, and goals in computer graphics. Explore blending functions, Bezier curves, and surface intersections. Includes sources for further study.
E N D
CS 395: Adv. Computer Graphics Overview Parametric Surfaces Watt: Chapter 3 + readings Jack Tumblin jet@cs.northwestern.edu
Curves and Surfaces Basic Problem: • Polygons are easy, fast, renderable, BUT • Polygons meshes are not smooth;no derivatives:poor silhouettes, reflections... • Polygons can only approximate curves, • Polygons are less compact: Previous methods: metal/wood 'splines' ... (see Farin book)
What's a Parametric Curve? Vary one or more 'parameter' to explore a curve or surface Example: parametric circle, in z=1 plane: x(u) = R*cos(u) y(u) = R*sin(u) z(u) = 1 z y x
Background • Many Historical Parametric Curve Makers: • Lissajous Curves, http://kosmoi.com/Science/Mathematics/Graphs/Encyclo/ • Spirographs, http://math.dartmouth.edu/~dlittle/java/SpiroGraph/ • Harmonographs, http://astronomy.swin.edu.au/~pbourke/curves/harmonograph/ • Epicycles, etc.http://www.astronomynotes.com/history/epicycle.htm
Background • Few found use in design until computers: • Paul DeCastlejau (1950s, Citroen) • Pierre Bezier (1960s, Renault) • 70's, 80's explosion of Comp. Geometry; • GREAT results: now faded as research area
OUTLINE • Historical Parametrics: transcendentals • in CG: mostly polynomial • Key Idea 1: blending points...
OUTLINE • Key Idea 2: Linear Interpolation, Nesting • Paul DeCastlejau (1950s, Citroen) • Pierre Bezier (1960s, Renault) • http://www.ibiblio.org/e-notes/Splines/Bezier.htm How can we connect multiple Bezier curves? How can we make a Bezier surface?
Efficient! 9 unique Bezier Patches (some were mirrored around z axis: total is ?17?)
‘Digital’ Image: a 2D Grid of Numbers • NO intrinsic meaning—use it for anything: reflectance, transparency, illumination, normal direction, material, velocity... v v u u
OUTLINE • Key Idea 3: Generalize: Blending Fcns., in Matrix form • Uniform B-splines • Other Basis Functions • Non-uniform? 'Duplicate Control Pts' http://www.ibiblio.org/e-notes/Splines/Bezier.htm
Useful Goals • Continuity: are all derivatives smooth? w.r.t. parameters; w.r.t. space; • Global / Local Control: move 1 control pt: does entire curve change? • Convex Hull: is curve within its control pts? • Interpolating:does curve touch desired pts? • Affine Invariant; Projective Invariant: transform control pts, then draw curve, OR draw curve, then transform, SAME result!
Useful Goals • Invertible; find ray-surface intersection in 3D (for rendering, shading) in u,v parameters (for texture, etc.) find surface-surface intersectionin 3D (for 'trimming', fairing, etc.) in u,v parameters
Further Sources • Endless books on curves and surfaces:G. Farin, "Curves and Surfaces for CAGD" (recommended; most rigorous & complete) • On-line tutorials, Java Applets