People ask me sometimes how I make my interactive tutorials. I'm going to write some “making of” articles to share the techniques I use.
For some of my projects I want the reader to drag something around on a diagram. I use the position to control some aspect of the diagram. The curved roads page uses this. I want an easy way to constrain the ways you can drag something, and I also want a way to transform the variable being controlled into a position on the screen. Here’s an example of the kinds of things I want to be able to do: