www.derf.net / learned / 20050119_Bezier_curves /
<< prev in "what i learned today" what i learned today

Bezier curves   ...   what i learned today , math , cabri
wed 2005-jan-19 20:30:37 pst   ...   permalink

Yesterday I learned the math behind Bezier curves. Ever since I first started playing with a vector graphics program (probably MacDraw or SuperPaint, way back in the day), I always wondered what they were, and how those little handles manipulate the shape of the curve. Turns out the math is pretty cool.

Of course there's a whole lot of algrebra surrounding it -- basically, they're piecewise cubic polynomials. But what's most interesting is the meaning of those little handles in the drawing programs. In particular, there turns out to be this really elegant geometric construction.

So given four points A, B, C, and D, and a value t between 0 and 1, construct the points E, F, and G as being a t-fraction of the way along the segments AB, BC, and CD, respectively; then construct points H and I to be a t-fraction of the way along the segments EF and FG; and finally, construct J to be a t-fraction of the way along the segment HI. The locus generated by J as t goes from 0 to 1 is the generated curve.

In the applet above, you can drag A, B, C, and D around, and t along the segment from 0 to 1. B and C correspond to the drawing program's handles.

(I made this figure using Cabri Geometry, a really cool geometry software package. They now also have a 3D version, which is awesome as well.)

mail me

name (required):

email (will be publicly viewable only if no URL given):

personal URL:

remember name/email/URL in a cookie
don't save info in a cookie

comments (required):

NOTE: html tags cannot be included in the above. however, blank lines will separate paragraphs, and if you care, some rudimentary formatting is available with the following html-like tags (but note the square instead of angle brackets):

text[br]more text
more text
[quote]some quoted text[/quote]
some quoted text
[link url="http://www.example.com/"]somewhere else[/link]
somewhere else

NeilFred Picciotto drawing of neilfred
  • derf content, blog-style
  • derf's comics
  • elsewhere on the web
  • 100% true stories
  • what i learned today
  • Bezier curves
  • the missing Google employee perk
  • stupid BIOS default
  • colon-zero
  • random thoughts
  • movie reviews
  • phone photos
  • blog-on-blog action
  • tags
  • RSS feed
  • XFN links
  • recent comments
  • 2008-sep-22
  • Britt Lyons on food handler
  • Conrad Pate on singing nuns
  • Suzy on people live in West Virginia?
  • Quinn Rutledge on chickens
  • Jacquline Gamble on garlic rabbit
  • 2008-sep-21
  • Lenora Gomez on garlic rabbit
  • 2008-sep-20
  • Jonas Bailey on food handler
  • Lenny Ayers on chickens
  • random phone photo random phone photo
  • non-bloggy content
  • the derf himself
  • the derf FAQ
  • other derfs
  • what's new?
  • the derfnet portal
  • derf's comics
    blogs and such
  • Q
  • entropy
  • girlhacker
  • ambiguous
  • oblomovka
  • sem101
  • badgerbag
  • zephoria
  • pith, jcn
  • jvg
  • unlikely words
  • mjr
  • jessajune
  • heaneyland
  • dommah
  • unwellness
  • livejournalers
  • ...  all derf.net blog content and underlying code owned by NeilFred Picciotto  ...
    mail me