Date: 12/03/96 at 23:15:55 From: Chris Deichmeister Subject: Bezier Splines I'm curious about the mathematics behind Bezier splines and I can't seem to find much information on the subject. Could you explain the equations behind them? Also, how might one graph them by hand or with a calculator such as the HP 48G (if possible)? Thanks, Chris Deichmeister
Date: 12/04/96 at 12:18:00 From: Doctor Tom Subject: Re: Bezier Splines Hi Chris, Books about computer graphics are usually a good place to start. Even the most general computer graphics books usually have some references, and there are also lots of books on curves and surfaces in computer graphics. You can also look in pure mathematics books on splines. Mathematicians call the basis functions "Bernstein Polynomials." Bernstein was a mathematician, and Bezier worked for Renault, the French car company, and 'popularized' Bernstein's work for practical use. Hence his name is usually associated with the splines. They have tons of interesting mathematical and geometric properties, so I won't list them all for you, but I'll give you a taste here. They exist in all orders: linear, quadratic, cubic, quartic, ... I'll just use cubic splines in my example, but the ideas hold in any order. To get the Bernstein basis functions, use a funny trick: Write the number 1 as 1 = t + (1-t), and raise 1 to the third power (for cubic splines - for quartic, raise it to the fourth power, and so on): 1 = 1^3 = (t + (1-t))^3 = t^3 + 3*t^2*(1-t) + 3*t*(1-t)^2 + (1-t)^3 The basis functions are the 4 terms: B0(t) = t^3 B1(t) = 3*t^2*(1-t) B2(t) = 3*t*(1-t)^2 B3(t) = (1-t)^3 Because of the way you got it, B0(t)+B1(t)+B2(t)+B3(t) = 1, for all t. Graph these functions (between 0 and 1) to see what they look like. Do the same thing for quartic or quintic splines. To use the Bernstein basis functions to make a spline, you need 4 "control points" (5 for quartic, 3 for quadratic, and so on). Let them be (x0,y0), (x1,y1), (x2,y2), (x3,y3). (They can also be in three dimensions, if you like.) The (cubic) Bezier spline with the four control points above is given by this equation: (x0*B0(t)+x1*B1(t)+x2*B2(t)+x3*B3(t),y0*B0(t)+y1*B1(t)+y2*B2(t)+y3* B3(t)) where t varies between 0 and 1. This spline goes through (x0,y0) and (x3,y3), it's tangent at those points is the line connecting (x0,y0) to (x1,y1) and to the line connecting (x3,y3) to (x2,y2). The shape of the curve is determined by the positions of (x1,y1) and (x2,y2). (Sometimes books use a different notation, and the numbers of the B0, B1, B2, and B3 are reversed. In other words, B0(t) = (1-t)^3, B1(t) = 3*t*(1-t)^2, and so on.) -Doctor Tom, The Math Forum Check out our web site! http://mathforum.org/dr.math/
Date: 12/05/96 at 08:46:44 From: Chris Deichmeister Subject: Re: Bezier Splines This is interesting stuff. Thanks for your help! Regards, Chris Deichmeister
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.