©2020 Compass Learning Technologies ← Geometry Expressions Showcase →Exploring Bezier Curves
Exploring Bezier Curves
Saltire Software, home of Geometry Expressions and GXWeb
Download a Geometry Expressions Model for the Bezier Curves Explorer
Try this activity with TI-Nspire™
Symbolic computations on this page use the GeoGebra CAS engine.
With special thanks to Phil Todd for the Bezier Clock, all the helpful advice and the inspiration over many years
Learn more about this and other GX Apps at Euclid's Muse
Introduction
Most of the curves you see on a computer screen or printed page - everything from text fonts to animations - are generated mathematically using Bezier Curves (sometimes called Bezier Splines).
Two examples are shown here - a quadratic bezier Q (controlled by points A, B and C) and a cubic bezier P (controlled by all four points, A, B, C and D).
Drag the control points around and see the effect this has upon the curves.
Enjoy some Bezier Art
Tap either image to download a TI-Nspire Bezier Exploration
Geometric or Algebraic?
The curves above have been generated geometrically. A Dilation Transformation is used to set points which move in proportion to the point on segment. This is interesting and powerful mathematics, but the real control comes when the curves are generated algebraically.
This may be done in several ways, but one relatively easy way involves using recursive formulae, beginning with one like this:
bezier(a,b,t) = a*(1 - t) + b*t
Suppose a and b are two numbers (say, 2 and 8). What happens as the value of t varies between 0 and 1?
When t = 0, the formula is completely 'a' and when t = 1, it returns 'b'. For values between 0 and 1, it gives values between a and b, just like dragging a slider point P between the points A and B on the figure.
Next, explore the second order (quadratic) bezier function,
bezier2(a,b,c,t) = bezier(a,b,t)*(1 - t) + bezier(b,c,t)*t
Recursive Mathematics
Begin your exploration by defining these two fundamental functions:
bezier(a,b,t) = a*(1-t) + b*t
bezier2(a,b,c,t) = bezier(a,b,t)*(1 - t) + bezier(b,c,t)*t
And maybe even bezier3(a,b,c,d,t) = bezier2(a,b,c,t)*(1 - t) + bezier2(b,c,d,t)*t
Now for our example, the x-coordinates for A, B and C are -1, 2 and 8, so try the command bezier2(-1,2,8,t).
For the y-coordinates, try bezier2(10,2,8,t)
Can you see how this might relate to our figure?
In general, we could define x and y coordinates using x(A) and y(A), and so try bezier2(x(A),x(B),x(C),t) and bezier2(y(A),y(B),y(C),t).
What if we used parametric equations? Press the button below to use the Input Line to enter x=bezier2(x(A),x(B),x(C),t),y=bezier2(y(A),y(B),y(C),t).
Is this what you expected?
We might even go one step further...
The possibilities for exploring interesting mathematics are great - with even the chance to display some artistic tendencies along the way!
Now what about that cubic curve?
Hint: When entering mathematical expressions in the math boxes which follow, use the space key to step out of fractions, powers, etc. On Android, begin entry by pressing Enter.
Type simple mathematical expressions and equations as you would normally enter these: for example, "x^2[space]-4x+3", and "2/3[space]". For more interesting elements, use Latex notation (prefix commands such as "sqrt" and "nthroot3" with a backslash (\)): for example: "\sqrt(2)[space][space]". More?
|
Use the MathBox below to enter:
|
Assessment
Share using QR Codes