I really enjoy interactive math and science education. Recently, I enjoyed an opportunity to work with ExploreLearning on some science Gizmos. My actual science background is marginal at best. Because of my math/engineering experience, I can handle trajectories and Netwonian mechanics. I have virtually no experience with electro-magnetics or wave mechanics, so I was pleased to work with one of the science Ph.D’s at EL on a ripple tank Gizmo. His math model was quite robust, handling barriers and submerged rocks with variable depth.
If you are an educator, check out ExploreLearning Gizmos; they are great interactive tools for math and science education.
Ripple Tank Gizmo can be found here (coded in straight AS3).
I just finished the preliminary version of a quadratic Bezier curvature explorer that expounds on the principles discussed in this post. The two primary aspects of the explorer are interactive identification of geometric constraints yielding monotone curvature and computation of the natural parameter at maximum curvature. The algorithms are discussed in the Deddi, Everett, and Lazard paper.
Curvature as a function of arc length is one means for describing the shape of a curve. Since a quad. Bezier can be quickly subdivided, it is possible to isolate segments of a quad. Bezier with predictable curvature. The key is establishing a subdivision process in which segments are ‘suitably close’ to pythagorean hodograph curves. Arc length becomes are more tractable problem.
A screen shot from the explorer is shown below. The UI is embarrassingly crude, but time is short and validating computations is far more important than visuals at this time. I’m working on an eBook titled Black Belt Beziers in which a more general and visually compelling explorer will be employed to investigate a very wide variety of Bezier properties. The source code will also be cleaned up and released at that time.
Manipulate the control points to visualize configurations that produce monotone curvature. At each modification, the t-parameter corresponding to maximum (extrinsic) curvature is computed. The normalized curvature is the curvature at a given parameter divided by the maximum. Move the slider to see how curvature varies with the natural parameter. The approximate osculating circle is shown in red, whose radius varies inversely with the curvature. If the radius reaches a cutoff value (the control points approach co-linear), the circle is not drawn.
The code has been through minimal testing, which is a fancy way of saying that there may be a bug or two, but I hope some people (especially students of computational geometry) find it useful. If you’re just itching to code it up yourself instead of waiting for the eBook, then everything you need is in reference  in this post. Osculating circle information is readily available on Wikipedia and Mathworld.