Yesterday was the last day of our school year, so it's finally time to relax! And by relax, I mean write code.
I was thinking about the tasks I want to set for next year, and wanted to find a tool to help create sketches of graphs. Not plots of graphs: there's already an obvious solution for that. No, I mean a bare sketch that shows only the most important points. It doesn't need to precise, but it does need to be clear, and easy to copy.
I searched for a while, but couldn't find anything that was really what I wanted. There are plenty of tools that can do the job, but not without a bunch of messing around first. So I decided to write my own.
Introducing: the Parabolator.
To be honest, the code behind it is kind of a mess, and it's extremely limited, but it works. Mess around with it yourself to see what it does. Basically, it draws a parabola based on the location of the vertex and one other point. The vertex and the "second point" can be dragged wherever to set the parabola's position, while the "third point" will position itself on the existing parabola when dragged. The axes can be moved by dragging the whole sketch. Each of the points can be toggled invisible, have labels added, and can be "locked" to the axes. When you're done, click the download button to save your graph as a SVG file.
To be clear, this is not intended to be a learning tool, and the target audience is not students. I made this purely to help myself create graphs for assignments, and I'm sticking it online because I figure other teachers might find a use for it as well.
The use case I see for this is the rapid creation of a graph that can put into an assignment or quiz paper. It saves as a vector image, so it won't create big ugly pixels when printed as can happen when a graph is created from a screenshot. One thing I happily discovered today is that SVG files can be directly inserted into a Word document.
I'm not going to promise it works perfectly. I've really only tested it with Chrome, so use that if you want the best chance of it working properly. I did also have success in Firefox, but Microsoft Edge has problems with the download feature. The most obvious drawback to the whole thing is that it only does quadratics. I do want to modify it to support other types of functions, but I'll leave that for another day.
This is just a hobby project, so I'm not sure if I'll spend much more time on it. That said, I do have some ideas about what I want to do (especially with adding other functions.) If you've got any suggestions, I'd love to hear them.