Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parametric Curves & Surfaces

Similar presentations


Presentation on theme: "Parametric Curves & Surfaces"— Presentation transcript:

1 Parametric Curves & Surfaces
Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford

2 Overview What is a parametric curve/surface?
Why use parametric curves & surfaces? Bézier curves & surfaces NURBS Trimmed surfaces OpenGL library

3 What is a parametric curve?
Recall functions from calculus ... Example: y = 2x – 2x2 To illustrate, we plot graph of function x y x 2x – 2x2 = Parametric curves give us more flexibility

4 What is a parametric curve?
2D parametric curve takes the form x y f(t) g(t) Where f(t) and g(t) are functions of t = Example: Line thru points a and b x y (1-t) ax + t bx (1-t) ay+ t by = Mapping of the real line to 2D: here t in [0,1]  line segment a,b

5 What is a parametric curve?
3D curves defined similarly x y z f(t) g(t) h(t) = Example: helix x y z cos(t) sin(t) t =

6 Bézier Curves Polynomial parametric curves
f(t), g(t), h(t) are polynomial functions Bézier curve b(t) Bézier control points bi Bézier polygon Curve mimics shape of polygon t in [0,1] maps to curve “between” polygon b(0) = b0 and b(1) = bn figure: degree n=3 (cubic)

7 Bézier Curves Examples linear: b(t) = (1-t) b0 + t b1 n=1
quadratic: b(t) = (1-t)2 b0 + 2(1-t)t b1 + t2 b2 n=2 cubic: b(t) = (1-t)3 b0 + 3(1-t)2 t b1 + 3(1-t)t2 b2 + t3 b3 n=3 Bernstein basis Bin (t) = {n!/(n-i)! i!} (1-t)n-i ti

8 Bézier Curves

9 Bézier Curves Bézier points and Bernstein basis
Nice, intuitive method to create curves Variable display resolution Minimal storage needs

10 Bézier Curves Bézier points and Bernstein basis Compare to
nice, intuitive method to create curves Compare to Monomial basis: 1, t, t2, t3 ,.... ex: quadratic a(t) = a0 + t a1 + t2 a2 a0 is point on curve a1 is first derivative vector a2 is second derivative vector Not very practical to design curves with! at t=0

11 Bézier Curves local and global parameter intervals
Piecewise Bézier curves  global parameter u e.g., time Each curve evaluated for t in [0,1] [u0,u1] If specify u in global space then must find t in local space [u1,u2] t = (u-u0) / (u1-u0) figure: 2 quadratic curves

12 Bézier Curves Piecewise Bézier curves
Conditions to create a smooth transition Filled squares are “junction” Bezier points -- start/endpoint of a curve

13 Bézier Curves in OGL Basic steps:
Define curve by specifying degree, control points and parameter space [u0,u1] Enable evaluator Call evaluator with parameter u in [u0, u1] glMap1*() Autocreate uniformly spaced u: glMapGrid1*() glEvalMesh1() Specify each u: glEvalCoord1*() or Color and texture available too!

14 Bézier Curve Evaluation
de Casteljau algorithm another example of repeated subdivision On each polygon leg, construct a point in the ratio t : (1-t) bn0(t) is point on curve figure: n=3

15 What is a parametric surface?
3D parametric surface takes the form Where f,g,h are bivariate functions of u and v x y z f(u,v) g(u,v) h(u,v) = Example: x(u,v) = u v u2 + v2 mapping u,v-space to 3-space; this happens to be a function too

16 Bézier Surface (Patch)
Polynomial parametric surface f(u,v), g(u,v), h(u,v) are polynomial functions written in the Bernstein basis Bézier surface b(u,v) Bézier control points bij Bézier control net

17 Bézier Surface Structure b33 b03 (1,1) b30 v v u (0,0) b00 u

18 Bézier Surface Properties boundary curves lie on surface defined by
boundary polygons

19 Bézier Surface Properties Nice, intuitive method for creating surfaces
Variable display resolution Minimal storage

20 Bézier Surface Multiple patches connected smoothly
Conditions on control net similar to curves … difficult to do manually

21 Bézier Surface Display shaded wireframe choose direction
OGL: triangles & normals created for you choose direction isoparametric curves OGL: glMap2*, glEvalCoord2* glMapGrid2, glEvalMesh2

22 NURBS Non-uniform Rational B-splines
B-splines are piecewise polynomials One or more Bezier curves /surfaces One control polygon Rational: let’s us represent circles exactly GLU NURBS utility

23 Trimmed Surfaces Parametric surface with parts of the domain “invisible” Surf Lab domain Jorg Peters’ UFL group GLU Trimmed NURBS utility

24 References The Essentials of CAGD by Gerald Farin & DCH, AK Peters Ken Joy’s CAGD notes (UC Davis) Jorg Peters’ UFL SurfLab group OpenGL Red Book – Chapter 12


Download ppt "Parametric Curves & Surfaces"

Similar presentations


Ads by Google