Archive for the ‘Canvas’ Category
Cubic splines in JavaScript (via CoffeeScript)
For a recent study two colleagues needed to elicit a cumulative probability distribution function (CDF) from survey respondents.
We decided it would be nice to allow respondents to interact with this CDF after providing some key values, and implemented this in the web browser with <canvas>
(falling back on FlashCanvas for IE).
In the process, we implemented three kinds of cubic spline calculation in the ever-wonderful CoffeeScript: natural, clamped and (what we actually needed) monotonic cubic splines.
You can play with some examples below: click-and-drag the round handles, or double-click to enter values directly. Feel free to borrow the code (ideally with attribution) if it’s of use to you.