Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

Size: px
Start display at page:

Download "Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2"

Transcription

1 Parametric Surfaces Michael Kazhdan ( /657) HB , 10.1 FvDFH 11.2

2 Announcement OpenGL review session: When: Wednesday 7:00-9:00 PM Where: Olin 05

3 Cubic Splines Given a collection of control points, {p 0,, p n }, we define a collection of cubic polynomial functions {P 1 u,, P n 2 u } that jointly describe a curve approximating/interpolating the control points. P 1 (u) p 7 p 1 p 2 P 2 (u) p 6 P 5 (u) p 5 p 0 p p 4 P (u) P 4 (u) Each cubic function P k (u) is defined in the region 0 u 1 and is determined by the four points p k 1, p k, p k+1, and p k+2.

4 Cubic Blending Functions Blending functions provide a way for expressing the functions P k (u) as a weighted sum of the four control points p k 1, p k, p k+1, and p k+2 : 1 BF (u) BF 1 (u) BF 2 (u) BF (u) Cardinal Blending Functions (s = 1/2) 1 1 BF (u) BF 1 (u) BF 2 (u) BF (u) Uniform Cubic B-Spline Blending Functions (s = 1/2) 1 P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

5 Blending Functions Properties: Translation Commutativity: If we translate all the control points by the same vector q, the position of the new point at the value u will be the position of the old value at u, translated by q. Given control points {p k 1, p k, p k+1, p k+2 } and translation vector q. Let P k (u) be the curve defined by {p k 1, p k, p k+1, p k+2 }. Let Q k (u) be the curve defined by {q + p k 1, q + p k, q + p k+1, q + p k+2 }. We want: Q k u = q + P k (u) Writing out Q k u, we have: Q k u = BF 0 u q + p k 1 + BF 1 (u)(q + p k )+ BF 2 (u)(q + p k+1 )+ BF u q + p k+2 = BF 0 u + BF 1 u + BF 2 u + BF u q + P k u To satisfy translation commutativity, we must have: BF 0 u + BF 1 u + BF 2 u + BF u = 1 P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

6 Blending Functions Properties: Translation Commutativity: BF 0 u + BF 1 u + BF 2 u + BF u = 1 for all 0 u 1. Continuity: We need the curve P k+1 u to begin where P k (u) ended. Taking the difference, we get: 0 = P k+1 0 P k (1) Expanding this out, we get: 0 = BF 0 1 p k 1 + BF 0 0 BF 1 1 p k + BF 1 0 BF 2 1 p k+1 + BF 2 0 BF 1 p k+2 + BF 0 p k+ Since this is true for all control points p k 1, p k, p k+1, p k+2, p k+, we get: 0 = BF 0 1 BF 0 0 = BF 1 1 BF 1 0 = BF 2 1 BF 2 0 = BF 1 BF 0 = 0 P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

7 Blending Functions Properties: Translation Commutativity: BF 0 u + BF 1 u + BF 2 u + BF u = 1 for all 0 u 1. More Generally, for the spline to have continuous n-th order derivatives, the blending functions need to satisfy: Continuity: 0 = BF 0 (n) 1 We need the curve P k+1 u to begin where P k (u) ended. Taking the difference, we (n) get: (n) BF 0 = P k = BF1 P k (1) 1 Expanding this out, we get: (n) (n) BF 0 = 1 0 BF = BF2 0 1 p 1 k 1 + (n) BF 0 BF 1 1 (n) BF p k = BF 1 BF 1 BF 2 1 p k+1 + (n) BF BF 2 BF 1 p k = 0 BF 0 p k+ Since this is true for all control points p k 1, p k, p k+1, p k+2, p k+, we get: 0 = BF 0 1 BF 0 0 = BF 1 1 BF 1 0 = BF 2 1 BF 2 0 = BF 1 BF 0 = 0 P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

8 Blending Functions Properties: Translation Commutativity: BF 0 u + BF 1 u + BF 2 u + BF u = 1 for all 0 u 1. Continuity: 0 = BF 0 1, BF 0 0 = BF 1 1, BF 1 0 = BF 2 1, BF 2 0 = BF 1, BF 0 = 0 Convex Hull Containment: A point is inside the convex hull of a collection of points if and only if it can be expressed as the weighted average of the points, where all the weights are non-negative. BF 0 u, BF 1 u, BF 2 u, BF u 0, for all 0 u 1. P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

9 Blending Functions Properties: Translation Commutativity: BF 0 u + BF 1 u + BF 2 u + BF u = 1 for all 0 u 1. Continuity: 0 = BF 0 1, BF 0 0 = BF 1 1, BF 1 0 = BF 2 1, BF 2 0 = BF 1, BF 0 = 0 Convex Hull Containment: BF 0 u, BF 1 u, BF 2 u, BF u 0, for all 0 u 1. Interpolation: We want the spline segments to satisfy: P k 0 = p k and P k 1 = p k+1 At the end-points, the blending functions satisfy: BF 0 (0) BF 1 (0) BF 2 (0) BF (0) = and BF 0 (1) BF 1 (1) BF 2 (1) BF (1) = P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

10 Overview From Curves to surfaces Spline Curves and Blending Functions Weighted Averaging Spline Surfaces Spline Surface Properties

11 Weighted Averaging Suppose we have an array of values: v 1, v 2, v, and v 4, and we have weights: α 1, α 2, α, and α 4, with α 1 + α 2 + α + α 4 = 1, β 1, β 2, β, and β 4, with β 1 + β 2 + β + β 4 = 1. We can express the weighted average of the v i in matrix form: 4 i=1 α i v i = α 1 α 2 α α 4 v 2 v v 1 v 4 4 i=1 β i v i = v 1 v 2 v v 4 β 2 β β 1 β 4

12 Weighted Averaging If we have a matrix of values: v 11 v 21 v 1 v 41 v 12 v 22 v 2 v 42 v 1 v 2 v v 4 v 14 v 24 v 4 v 44 multiplying on the left by (α 1 α 2 α α 4 ) gives: t α i v 1i = α 1 α 2 α α 4 v 12 v 1 v 22 v 2 v 2 v v 42 v 4 v 11 v 21 v 1 v 41 v 14 v 24 v 4 v 44 α i v 2i α i v i α i v 4i

13 Weighted Averaging If we have a matrix of values: v 11 v 21 v 1 v 41 v 12 v 22 v 2 v 42 v 1 v 2 v v 4 v 14 v 24 v 4 v 44 multiplying on the left by (α 1 α 2 α α 4 ) gives: t α i v 1i = α 1 α 2 α α 4 v 12 v 1 v 22 v 2 v 2 v v 42 v 4 v 11 v 21 v 1 v 41 v 14 v 24 v 4 v 44 A row vector with entries that are the weighted average of the columns of the matrix. α i v 2i α i v i α i v 4i

14 Weighted Averaging Similarly, if we have a matrix of values: v 11 v 21 v 1 v 41 v 12 v 22 v 2 v 42 v 1 v 2 v v 4 v 14 v 24 v 4 v 44 multiplying on the right by β 1 β 2 β β 4 t gives: β j v j1 v 11 v 21 v 1 v 41 v 12 v 22 v 2 v 42 v 1 v 2 v v 4 v 14 v 24 v 4 v 44 A column vector with entries that are the weighted average of the rows of the matrix. β 1 β 2 β β 4 = β j v j2 β j v j β j v j4

15 Weighted Averaging Simultaneously multiplying on the left by (α 1 α 2 α α 4 ) and on the right by β 1 β 2 β β t 4 gives: α 1 α 2 α α 4 v 12 v 1 v 22 v 2 v 2 v v 42 v 4 v 11 v 21 v 1 v 41 v 14 v 24 v 4 v 44 β 1 β 2 β β 4 4 = i,j=1 α i β j v ij

16 Weighted Averaging Simultaneously multiplying on the left by (α 1 α 2 α α 4 ) and on the right by β 1 β 2 β β t 4 gives: α 1 α 2 α α 4 v 12 v 1 v 22 v 2 v 2 v v 42 v 4 v 11 v 21 v 1 v 41 v 14 v 24 v 4 v 44 β 1 β 2 β β 4 = The weighted sum of the v ij, weighted by α j β i. This is a weighted average of the v ij : 4 i,j=1 To show this, we have to show that the total sum of the weights α i β j is equal to 1. α i β j v ij

17 Weighted Averaging Simultaneously multiplying on the left by (α 1 α 2 α α 4 ) and on the right by β 1 β 2 β β t 4 gives: α 1 α 2 α α 4 v 12 v 1 v 22 v 2 v 2 v v 42 v 4 v 11 v 21 v 1 v 41 v 14 v 24 v 4 v 44 β 1 β 2 β β 4 4 = The weighted sum of the v ij, weighted by α j β i. This is a weighted average of the v ij : 4 i,j=1 4 α i β j = i=1 4 α i 4 j=1 = α i = 1 i=1 β j i,j=1 α i β j v ij

18 Overview From Curves to surfaces Spline Curves and Blending Functions Weighted Averaging Spline Surfaces Spline Surface Properties

19 Spline Surfaces A parametric curve is a function in one variable Φ(u) associating a position to every value of u. (1/2) (5/8) (/8) (/4) (1/4) (7/8) (1/8) (0) (1)

20 Spline Surfaces A parametric curve is a function in one variable Φ(u) associating a position to every value of u. A parametric patch is a function in two variables Φ(u, v) that associates a position to every pair of values of (u, v). (0,1) (1/,1) (0,2/) (2/,1) (1/,2/) (2/,2/) (1,1) (1,2/) (0,1/) (0,0) (1/,1/) (2/,1/) (1/,0) (2/,0) (1,0) (1,1/)

21 Spline Surfaces When considering spline curves, we use four control points to define a cubic polynomial P k (u) in one variable (0 u 1). P k (u) p k p k+1 p k-1 p k+2

22 Spline Surfaces When considering spline curves, we use four control points to define a cubic polynomial P k (u) in one variable (0 u 1). When considering spline surfaces, we use 4 4 control points to define a bi-cubic polynomial P k,l (u, v) in two variables (0 u, v 1). p k-1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 p k,l+1 p p k+2,l+1 k-1,l+1 P k,l (u,v) p k+1,l+1 p k,l p k-1,l p k+1,l p k+2,l p k-1,l-1 p k,l-1 p k+1,l-1 p k+2,l-1

23 Spline Surfaces When considering spline curves, we use four control points to define a cubic polynomial P k (u) in one variable (0 u 1). When considering spline surfaces, we use 4 4 control points to define a bi-cubic polynomial P k,l (u, v) in two variables (0 u, v 1). A bi-cubic polynomial is a polynomial which is cubic in each variable: P u, v = au v + p k,l+1 p p k+2,l+1 k-1,l+1 P k,l (u,v) p k+1,l+1 p k-1,l p k-1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 p k,l +bu v 2 + cu 2 v + p k+2,l +du 2 v 2 + eup 1 k+1,l v + fu v p k-1,l-1 p k,l-1 p k+1,l-1 p k+2,l-1

24 Spline Surfaces Given n points, we generate a piecewise cubic curve consisting of n segments that approximate/interpolate the points. p 1 p 2 P 0 (u) p 1 p 2 p 1 p 2 P 1 (u) p p 4 p p 4 p p 4 p 0 p 0 p 0 p 1 p 2 p p 4 p 0

25 Spline Surfaces Given n points, we generate a piecewise cubic curve consisting of n segments that approximate/interpolate the points. Given n m points, we generate a piecewise bicubic curve, consisting of n (m ) patches that approximate/interpolate the points. P 0,0 (u,v) P 1,0 (u,v) P 0,1 (u,v) P 1,1 (u,v)

26 Spline Surfaces We generate spline curves by using the blending function to compute the weighted average of the control points. We do the same for surfaces.

27 Cubic Blending Functions Recall: For a cubic segment of a spline curve, we can express the spline curve in matrix form as: t BF 0 (u) p k 1 BF P k u = 1 (u) p k BF 2 (u) p k+1 BF (u) p k+2 Since the sum of the BF i (u) is always equal to 1, this is a weighted average of the control points. P k u = BF 0 u p k 1 + BF 1 u p k + BF 2 u p k+1 + BF u p k+2

28 Cubic Blending Functions If we are given a 4 4 array of control points, we can define a bi-cubic spline patch similarly: P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v) Again, the sum of the BF i (u) equals 1, so P k,l (u, v) is a weighted average of the control points.

29 Cubic Spline Patches We can choose our favorite spline curve (Cardinal, uniform cubic-b, etc.) and use its blending functions to define a spline patch: P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v)

30 Cubic Spline Patches Computing the value of the patch at some point (u 0, v 0 ) amounts to: 1. Averaging the rows using the weights BF i v 0 2. Averaging the result using the weights BF i (u 0 ). P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v)

31 Cubic Spline Patches Computing the value of the patch at some point (u 0, v 0 ) amounts to: 1. Averaging the rows using the weights BF i v 0 2. Averaging the result using the weights BF i (u 0 ). (u 0, v 0 ) (u 0, v 0 )

32 Cubic Spline Patches P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v) Multiplying out the matrices we get: P k,l u, v = BF 0 u BF 0 v p k 1,l 1 + BF 0 u BF 1 v p k 1,l + + BF 1 u BF 0 v p k,l 1 + BF 1 u BF 1 v p k,l + + Or, if we set BF ij u, v = BF i u BF j (v) we get: P k,l u, v = BF 00 u, v p k 1,l 1 + BF 01 u, v p k 1,l + + BF 10 u, v p k,l 1 + BF 11 u, v p k,l + +

33 Cubic Spline Patches P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v) Recall that we can write out blending functions as: BF 0 (u) BF 1 (u) BF 2 (u) BF (u) = UM Spline with U = (u u 2 u 1) and M Spline the spline matrix. This gives: p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l t P k,l u, v = UM Spline p k 1,l+1 p k,l+1 p k+1,l+1 p M k+2,l+1 Spline V t p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 with V = (v v 2 v 1).

34 Cubic Spline Patches P k,l u, v = BF 0 (u) BF 1 (u) BF 2 (u) BF (u) t p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l p k 1,l+1 p k,l+1 p k+1,l+1 p k+2,l+1 p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 BF 0 (v) BF 1 (v) BF 2 (v) BF (v) Recall that we can write out blending functions as: BF 0 (u) BF 1 (u) BF 2 (u) BF (u) = UM Spline Surface splines that are obtained from curve splines in this way are often referred to as tensor product splines. with U = (u u 2 u 1) and M Spline the spline matrix. This gives: p k 1,l 1 p k,l 1 p k+1,l 1 p k+2,l 1 p k 1,l p k,l p k+1,l p k+2,l t P k,l u, v = UM Spline p k 1,l+1 p k,l+1 p k+1,l+1 p M k+2,l+1 Spline V t p k 1,l+2 p k,l+2 p k+1,l+2 p k+2,l+2 with V = (v v 2 v 1).

35 Overview From Curves to surfaces Spline Curves and Blending Functions Weighted Averaging Spline Surfaces Spline Surface Properties

36 Blending Functions For spline curves, we want: Translation Commutativity: BF 0 u + BF 1 u + BF 2 u + BF u = 1 for all 0 u 1. n-th Order Continuity: 0 = BF 0 n 1 BF 0 n 0 = BF 1 n 1 BF 1 n 0 = BF 2 n 1 BF 2 n 0 = BF n 1 BF n 0 = 0 Convex Hull Containment: BF 0 u, BF 1 u, BF 2 u, BF u 0, for all 0 u 1. Interpolation: BF 0 (0) BF 1 (0) = BF 2 (0) BF (0) and BF 0 (1) BF 1 (1) = BF 2 (1) BF (1) Do the tensor product splines satisfy these conditions?

37 Surface Spline Properties Translation commutativity: As in the curve case, we need the sum of the blending functions BF ij (u, v) to be equal to one. But we have already shown that since BF ij u, v = B i u B j v if the BF i (u) are weighting function that sum to 1, then the tensor product functions BF ij (u, v) also sum to 1.

38 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = P k,l 1, v P k+1,l (0, v) (0,) (1,) (2,) (,) (0,2) (1,2) (2,2) (,2) (4,) (4,2) P 1,1 (u, v) P 2,1 (u, v) (0,1) (1,1) (2,1) (,1) (0,0) (1,0) (2,0) (,0) (4,1) (4,0)

39 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = P k,l 1, v P k+1,l 0, v 0 = B ij 1, v p i,j B ij 0, v p i+1,j i=0 j=0 i=0 j=0 0 = B 0j 1, v p 0,j + B ij 1, v p i,j B ij 0, v p i+1,j B j 0, v p 4,j j=0 i=1 j=0 2 i=0 j=0 0 = B 0j 1, v p 0,j + B ij 1, v p i,j B i 1j 0, v p i,j B j 0, v p 4,j j=0 i=1 j=0 i=1 j=0 0 = B 0j 1, v p 0,j B j 0, v p 4,j + j=0 j=0 i=1 j=0 j=0 j=0 B ij 1, v B i 1j 0, v p i,j

40 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = B 0j 1, v p 0,j B j 0, v p 4,j + j=0 j=0 i=1 j=0 B ij 1, v B i 1j 0, v For this to be true for all control points p ij, we require: B 0j 1, v = B j 0, v = 0 B 1j 1, v = B 0j (0, v) B 2j 1, v = B 1j (0, v) B j 1, v = B 2j (0, v) p i,j (0,) (1,) (2,) (,) (0,2) (1,2) (2,2) (,2) (4,) (4,2) P 1,1 (u, v) P 2,1 (u, v) (0,1) (1,1) (2,1) (,1) (0,0) (1,0) (2,0) (,0) (4,1) (4,0)

41 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = B 0j 1, v p 0,j B j 0, v p 4,j + j=0 j=0 i=1 j=0 B ij 1, v B i+1j 0, v For this to be true for all control points p ij, we require: B 0j 1, v = B j 0, v = 0 B 1j 1, v = B 0j (0, v) B 2j 1, v = B 1j (0, v) B j 1, v = B 2j (0, v) Similarly, for continuity along horizontal edges, we need: B i0 u, 1 = B i u, 0 = 0 B i1 u, 1 = B i0 (u, 0) B i2 u, 1 = B i1 (u, 0) B i u, 1 = B i2 (u, 0) p i,j

42 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = B 0j 1, v p 0,j B j 0, v p 4,j + j=0 j=0 i=1 j=0 B ij 1, v B i+1j 0, v For this to be true for all control points p ij, we require: B 0j 1, v = B j 0, v = 0 B 1j 1, v = B 0j (0, v) B 2j 1, v = B 1j (0, v) B B j 1, v = B 2j (0, v) 0j 1, v = B j 0, v = 0 Similarly, for continuity along horizontal edges, we need: B 0 1 B j v = B 0 B j v = 0 B i0 u, 1 = B i u, 0 = 0 B i1 u, 1 = B i0 (u, 0) B B i2 u, 1 = B i1 (u, 0) 0 1 = B 0 = 0 Which is satisfied if the 1D B-spline is continuous! B i u, 1 = B i2 (u, 0) p i,j

43 Surface Spline Properties Continuity: Consider the continuity along the yellow edge: 0 = B 0j 1, v p 0,j B j 0, v p 4,j + j=0 j=0 i=1 j=0 B ij 1, v B i+1j 0, v Similarly, For this to the be other true continuity for all control conditions points pfor ij, 2D we B-spline require: are B 0j satisfied 1, v = Bif j they 0, v are = 0satisfied by the 1D B-spline! B 1j 1, More v = Bgenerally, 0j (0, v) if the 1D B-spline gives B 2j 1, continuous v = B 1j (0, v) n-th order derivatives, then B j 1, v = Bso 2j (0, will v) the tensor-product. Similarly, for continuity along horizontal edges, we need: B i0 u, 1 = B i u, 0 = 0 B i1 u, 1 = B i0 (u, 0) B i2 u, 1 = B i1 (u, 0) B i u, 1 = B i2 (u, 0) p i,j

44 Surface Spline Properties Convex hull containment: For convexity we need the weights of the blending function to be non-negative. If the BF i (u) are non-negative, then since BF ij u, v = BF i u BF j (v) the BF ij (u, v) will also be non-negative.

45 Surface Spline Properties Interpolation: For the spline surface to interpolate, it must satisfy:» BF 11 0,0 = BF 12 0,1 = BF 21 1,0 = BF 22 1,1 = 1.» All the other blending functions are 0 at the endpoints. The spline curve is interpolating if:» BF 0 0 = BF 2 0 = BF 0 = 0» BF 0 1 = BF 1 1 = BF 1 = 0» BF 1 0 = 1» BF 2 1 = 1 (0,) (1,) (2,) (,) (0,2) (1,2) (2,2) (,2) P 1,1 (u, v) BF 12 0,1 = BF 1 0 BF 2 (1) (0,1) (1,1) (2,1) (,1) (0,0) (1,0) (2,0) (,0)

46 Surface Spline Properties We began by describing some of the properties that we would like spline curves to satisfy: Translation commutativity Continuity Convex hull containment Interpolation If the curve spline satisfies these properties, then so will the tensor product spline! Spline Demo

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial

More information

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces David L. Finn Today, we want to exam interpolation and data fitting problems for surface patches. Our general method is the same,

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

Curves and Surfaces Computer Graphics I Lecture 9

Curves and Surfaces Computer Graphics I Lecture 9 15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

More information

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Review of Tuesday. ECS 175 Chapter 3: Object Representation Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday

More information

Rational Bezier Curves

Rational Bezier Curves Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)

More information

Splines. Connecting the Dots

Splines. Connecting the Dots Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More

More information

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques 436-105 Engineering Communications GL9:1 GL9: CAD techniques Curves Surfaces Solids Techniques Parametric curves GL9:2 x = a 1 + b 1 u + c 1 u 2 + d 1 u 3 + y = a 2 + b 2 u + c 2 u 2 + d 2 u 3 + z = a

More information

Quaternions and Exponentials

Quaternions and Exponentials Quaternions and Exponentials Michael Kazhdan (601.457/657) HB A.6 FvDFH 21.1.3 Announcements OpenGL review II: Today at 9:00pm, Malone 228 This week's graphics reading seminar: Today 2:00-3:00pm, my office

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Sung-Eui Yoon ( 윤성의 )

Sung-Eui Yoon ( 윤성의 ) CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

More information

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

More information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

Design considerations

Design considerations Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

More information

Information Coding / Computer Graphics, ISY, LiTH. Splines

Information Coding / Computer Graphics, ISY, LiTH. Splines 28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

More information

Interactive Graphics Using Parametric Equations (Day 2)

Interactive Graphics Using Parametric Equations (Day 2) Interactive Graphics Using Parametric Equations (Day 2) Dr. Niels Lobo Computer Science Bezier Curves Google bezier curves`` Casselman's Bezier curves Andysspline Bezier Curves Bezier Photo: Automotive

More information

Rational Bezier Surface

Rational Bezier Surface Rational Bezier Surface The perspective projection of a 4-dimensional polynomial Bezier surface, S w n ( u, v) B i n i 0 m j 0, u ( ) B j m, v ( ) P w ij ME525x NURBS Curve and Surface Modeling Page 97

More information

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Introduce methods to draw curves - Approximate

More information

Curves and Surfaces 1

Curves and Surfaces 1 Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

More information

Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surfaces Computer Graphics I Lecture 10 15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

More information

(Spline, Bezier, B-Spline)

(Spline, Bezier, B-Spline) (Spline, Bezier, B-Spline) Spline Drafting terminology Spline is a flexible strip that is easily flexed to pass through a series of design points (control points) to produce a smooth curve. Spline curve

More information

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013 Announcements Homework assignment 5 due tomorrow, Nov

More information

Intro to Curves Week 1, Lecture 2

Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information

An introduction to interpolation and splines

An introduction to interpolation and splines An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331 Remark Reconsidering the motivating example, we observe that the derivatives are typically not given by the problem specification. However, they can be estimated in a pre-processing step. A good estimate

More information

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:

More information

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

More information

CS-184: Computer Graphics

CS-184: Computer Graphics CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

More information

Curve and Surface Basics

Curve and Surface Basics Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

More information

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next

More information

Representing Curves Part II. Foley & Van Dam, Chapter 11

Representing Curves Part II. Foley & Van Dam, Chapter 11 Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

More information

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK 1 An analysis of the problem: To get the curve constructed, how many knots are needed? Consider the following case: So, to interpolate (n +1) data points, one needs (n +7) knots,, for a uniform cubic B-spline

More information

Linear Precision for Parametric Patches

Linear Precision for Parametric Patches Department of Mathematics Texas A&M University March 30, 2007 / Texas A&M University Algebraic Geometry and Geometric modeling Geometric modeling uses polynomials to build computer models for industrial

More information

EECS 487, Fall 2005 Exam 2

EECS 487, Fall 2005 Exam 2 EECS 487, Fall 2005 Exam 2 December 21, 2005 This is a closed book exam. Notes are not permitted. Basic calculators are permitted, but not needed. Explain or show your work for each question. Name: uniqname:

More information

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required: Reading Required: Angel readings for Parametric Curves lecture, with emphasis on 11.1.2, 11.1.3, 11.1.5, 11.6.2, 11.7.3, 11.9.4. Parametric surfaces Optional Bartels, Beatty, and Barsky. An Introduction

More information

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

More information

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd Curves and Surfaces Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/11/2007 Final projects Surface representations Smooth curves Subdivision Todays Topics 2 Final Project Requirements

More information

CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

More information

Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves. Brian Curless CSE 457 Spring 2016 Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

More information

Curves. Computer Graphics CSE 167 Lecture 11

Curves. Computer Graphics CSE 167 Lecture 11 Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen

More information

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

Intro to Curves Week 4, Lecture 7

Intro to Curves Week 4, Lecture 7 CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

More information

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al.

Solid Modeling. Michael Kazhdan ( /657) HB , FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. Solid Modeling Michael Kazhdan (601.457/657) HB 10.15 10.17, 10.22 FvDFH 12.1, 12.2, 12.6, 12.7 Marching Cubes, Lorensen et al. 1987 Announcement OpenGL review session: When: Today @ 9:00 PM Where: Malone

More information

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

More information

CS-184: Computer Graphics. Today

CS-184: Computer Graphics. Today CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases

More information

08 - Designing Approximating Curves

08 - Designing Approximating Curves 08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

More information

Need for Parametric Equations

Need for Parametric Equations Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need

More information

Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

More information

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine

More information

Interpolation & Polynomial Approximation. Cubic Spline Interpolation II

Interpolation & Polynomial Approximation. Cubic Spline Interpolation II Interpolation & Polynomial Approximation Cubic Spline Interpolation II Numerical Analysis (9th Edition) R L Burden & J D Faires Beamer Presentation Slides prepared by John Carroll Dublin City University

More information

Know it. Control points. B Spline surfaces. Implicit surfaces

Know it. Control points. B Spline surfaces. Implicit surfaces Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

More information

A Practical Review of Uniform B-Splines

A Practical Review of Uniform B-Splines A Practical Review of Uniform B-Splines Kristin Branson A B-spline is a convenient form for representing complicated, smooth curves. A uniform B-spline of order k is a piecewise order k Bezier curve, and

More information

For each question, indicate whether the statement is true or false by circling T or F, respectively.

For each question, indicate whether the statement is true or false by circling T or F, respectively. True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)

More information

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland) Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews

More information

Animating Transformations

Animating Transformations Animating Transformations Connelly Barnes CS445: Graphics Acknowledgment: slides by Jason Lawrence, Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Overview Rotations and

More information

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.

More information

3D Modeling techniques

3D Modeling techniques 3D Modeling techniques 0. Reconstruction From real data (not covered) 1. Procedural modeling Automatic modeling of a self-similar objects or scenes 2. Interactive modeling Provide tools to computer artists

More information

Properties of Blending Functions

Properties of Blending Functions Chapter 5 Properties of Blending Functions We have just studied how the Bernstein polynomials serve very nicely as blending functions. We have noted that a degree n Bézier curve always begins at P 0 and

More information

Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

More information

SPLITTING THE CUBIC UNIFORM B-SPLINE CURVE

SPLITTING THE CUBIC UNIFORM B-SPLINE CURVE On-Line Geometric odeling Notes SPLITTING THE CUBIC UNIFOR B-SPLINE CURVE Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview

More information

B-spline Curves. Smoother than other curve forms

B-spline Curves. Smoother than other curve forms Curves and Surfaces B-spline Curves These curves are approximating rather than interpolating curves. The curves come close to, but may not actually pass through, the control points. Usually used as multiple,

More information

Computer Graphics I Lecture 11

Computer Graphics I Lecture 11 15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

More information

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Objects 2: Curves & Splines Christian Miller CS Fall 2011 Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary

More information

Knowledge Discovery and Data Mining

Knowledge Discovery and Data Mining Knowledge Discovery and Data Mining Basis Functions Tom Kelsey School of Computer Science University of St Andrews http://www.cs.st-andrews.ac.uk/~tom/ tom@cs.st-andrews.ac.uk Tom Kelsey ID5059-02-BF 2015-02-04

More information

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5 ecture 8: Knot Insertion Algorithms for B-Spline Curves and Surfaces and the crooked shall be made straight, and the rough ways shall be made smooth; uke 3:5. Motivation B-spline methods have several advantages

More information

Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

More information

(Refer Slide Time: 00:02:24 min)

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler Curves & Surfaces Schedule Sunday October 5 th, * 3-5 PM * Review Session for Quiz 1 Extra Office Hours on Monday Tuesday October 7 th : Quiz 1: In class 1 hand-written 8.5x11 sheet of notes allowed Wednesday

More information

A Curve Tutorial for Introductory Computer Graphics

A Curve Tutorial for Introductory Computer Graphics A Curve Tutorial for Introductory Computer Graphics Michael Gleicher Department of Computer Sciences University of Wisconsin, Madison October 7, 2003 Note to 559 Students: These notes were put together

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

More information

Consider functions such that then satisfies these properties: So is represented by the cubic polynomials on on and on.

Consider functions such that then satisfies these properties: So is represented by the cubic polynomials on on and on. 1 of 9 3/1/2006 2:28 PM ne previo Next: Trigonometric Interpolation Up: Spline Interpolation Previous: Piecewise Linear Case Cubic Splines A piece-wise technique which is very popular. Recall the philosophy

More information

The Essentials of CAGD

The Essentials of CAGD The Essentials of CAGD Chapter 6: Bézier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2 Farin & Hansford The

More information

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT On-Line Geometric Modeling Notes QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview

More information

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions International Journal of Mathematical Modelling & Computations Vol. 02, No. 03, 2012, 211-220 Approximation of 3D-Parametric Functions by Bicubic B-spline Functions M. Amirfakhrian a, a Department of Mathematics,

More information

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

CS770/870 Spring 2017 Curve Generation

CS770/870 Spring 2017 Curve Generation CS770/870 Spring 2017 Curve Generation Primary resources used in preparing these notes: 1. Foley, van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, Addison-Wesley, 1993. 2. Angel, Interactive

More information

B(asis) Splines. Ashish Myles CISE, UF

B(asis) Splines. Ashish Myles CISE, UF B(asis) Splines Ashish Myles CISE, UF Splines Piecewise polynomial More flexible than single polynomials can have finite support can be periodic Degree d splines typically C d 1 continuity Some polynomial

More information

Cubic spline interpolation

Cubic spline interpolation Cubic spline interpolation In the following, we want to derive the collocation matrix for cubic spline interpolation. Let us assume that we have equidistant knots. To fulfill the Schoenberg-Whitney condition

More information

Note on Industrial Applications of Hu s Surface Extension Algorithm

Note on Industrial Applications of Hu s Surface Extension Algorithm Note on Industrial Applications of Hu s Surface Extension Algorithm Yu Zang, Yong-Jin Liu, and Yu-Kun Lai Tsinghua National Laboratory for Information Science and Technology, Department of Computer Science

More information

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

More information

The Free-form Surface Modelling System

The Free-form Surface Modelling System 1. Introduction The Free-form Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many real-world objects are inherently smooth (fig.1), and much

More information

MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches

MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches MA 323 Geometric Modelling Course Notes: Day 31 Blended and Ruled Surfaces Coons Patches David L. Finn Today, we want to start considering patches that are constructed solely by specifying the edge curves.

More information

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i. Bézier Splines CS 475 / CS 675 Computer Graphics Lecture 14 : Modelling Curves 3 n P t = B i J n,i t with 0 t 1 J n, i t = i=0 n i t i 1 t n i No local control. Degree restricted by the control polygon.

More information

APPM/MATH Problem Set 4 Solutions

APPM/MATH Problem Set 4 Solutions APPM/MATH 465 Problem Set 4 Solutions This assignment is due by 4pm on Wednesday, October 16th. You may either turn it in to me in class on Monday or in the box outside my office door (ECOT 35). Minimal

More information

Designing Subdivision Surfaces through Control Mesh Refinement

Designing Subdivision Surfaces through Control Mesh Refinement Designing Subdivision Surfaces through Control Mesh Refinement by Haroon S. Sheikh A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of

More information

Computer Graphics Spline and Surfaces

Computer Graphics Spline and Surfaces Computer Graphics 2016 10. Spline and Surfaces Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2016-12-05 Outline! Introduction! Bézier curve and surface! NURBS curve and surface! subdivision

More information

Curve fitting using linear models

Curve fitting using linear models Curve fitting using linear models Rasmus Waagepetersen Department of Mathematics Aalborg University Denmark September 28, 2012 1 / 12 Outline for today linear models and basis functions polynomial regression

More information

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html

More information

Tangents of Parametric Curves

Tangents of Parametric Curves Jim Lambers MAT 169 Fall Semester 2009-10 Lecture 32 Notes These notes correspond to Section 92 in the text Tangents of Parametric Curves When a curve is described by an equation of the form y = f(x),

More information