September 30, 2003 Doug James Carnegie Mellon University http://www.cs.cmu.edu/~djames/15-462/Fall03/ Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Curves and Surfaces Curves and Surfaces 15-462 Computer Graphics I Lecture 10
49
Embed
Curves and Surfaces - Carnegie Mellon School of Computer ... › ~djames › 15-462 › Fall03 › notes › 10-curves.pdfBezier Curves and Surfaces [Angel 10.1-10.6] Curves and Surfaces
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
September 30, 2003Doug JamesCarnegie Mellon University
http://www.cs.cmu.edu/~djames/15-462/Fall03/
Parametric RepresentationsCubic Polynomial FormsHermite CurvesBezier Curves and Surfaces
[Angel 10.1-10.6]
Parametric RepresentationsCubic Polynomial FormsHermite CurvesBezier Curves and Surfaces
[Angel 10.1-10.6]
Curves and SurfacesCurves and Surfaces
15-462 Computer Graphics I
Lecture 10
9/30/2003 15-462 Graphics I 2
GoalsGoals
• How do we draw surfaces?– Approximate with polygons– Draw polygons
• How do we specify a surface?– Explicit, implicit, parametric
• How do we approximate a surface?– Interpolation (use only points)– Hermite (use points and tangents)– Bezier (use points, and more points for tangents)
• Next lecture: splines, realization in OpenGL
9/30/2003 15-462 Graphics I 3
Explicit RepresentationExplicit Representation
• Curve in 2D: y = f(x)
• Curve in 3D: y = f(x), z = g(x)• Surface in 3D: z = f(x,y)• Problems:
– How about a vertical line x = c as y = f(x)?– Circle y = � (r2 – x2)1/2 two or zero values for x
• Too dependent on coordinate system• Rarely used in computer graphics
9/30/2003 15-462 Graphics I 4
Implicit RepresentationImplicit Representation
• Curve in 2D: f(x,y) = 0– Line: ax + by + c = 0– Circle: x2 + y2 – r2 = 0
• Surface in 3d: f(x,y,z) = 0– Plane: ax + by + cz + d = 0– Sphere: x2 + y2 + z2 – r2 = 0
• f(x,y,z) can describe 3D object:– Inside: f(x,y,z) < 0– Surface: f(x,y,z) = 0– Outside: f(x,y,z) > 0
9/30/2003 15-462 Graphics I 5
What Implicit Functions are Good ForWhat Implicit Functions are Good For
F < 0 ? F = 0 ? F > 0 ?
Inside/Outside Test
X
X + kV
F(X + kV) = 0
Ray - Surface Intersection Test
9/30/2003 15-462 Graphics I 6
Isosurfaces of Simulated TornadoIsosurfaces of Simulated Tornado
9/30/2003 15-462 Graphics I 7
Generate complex shapes with basic building blocks
machine an object - saw parts off, drill holes
glue pieces together
This is sensible for objects that are actually made that way (human-made, particularly machined objects)
• Restrict x(u,v), y(u,v), z(u,v) to be polynomial of fixed degree n
• Each cik is a 3-element column vector• Restrict to simple case where 0 � u,v � 1
9/30/2003 15-462 Graphics I 18
Approximating SurfacesApproximating Surfaces
• Use parametric polynomial surfaces
• Important concepts:– Join points for segments and patches– Control points to interpolate– Tangents and smoothness– Blending functions to describe interpolation