Rational Function Sketching Tool
(Work in Progress)

Drag points, asymptotes, from blue and red wells to create graph.

Comments

This is an incomplete project, so far, but I've put it up because it illustrates a couple of ideas that I feel are very promising for improving distance education in mathematics. This is a tool for "sketching" graphs of polynomials or rational functions. (A rational function is the ratio of two polynomials, such as f(x) = (x3x) / (x2 – 4). )

Same mental process as hand sketching

The idea here is to provide a tool for more careful and considered graph construction than simply a "whiteboard"-type sketching surface. When constructing graphs by hand, we use a back-and-forth process between numerical calculation and visual interpolation. This tool allows a similar process: we drag points from the blue well, or vertical asymptotes from the red well, into approximate position. Then we can directly edit the x and y coordinates of those points, to position them precisely. To remove an item, drag it off stage. Note: So far, the asymptotes have no effect on the graph!

Interpolation Method

A key question is how best to interpolate a "smooth" graph between the particular points set by the user. For this purpose, we must create a curve that exactly hits each of the control points (there are other curves which pass near, but not always through, the control points). The usual method, called a "cubic spline," has the disadvantage that local changes propogate through the entire curve. This doesn't suit the way we think about sketching a graph.

I've developed a curve-drawing algorithm that I call a "local spline." Though I've developed it independently, I would be surprised if it isn't already known to people who do various kinds of interpolation in engineering. The "local spline" is a differentiable, piecewise-cubic curve through all the control points, whose slope at point Pi is the average slope between points Pi–1 and Pi+1.

Tracking and Feedback

This tool tracks the user's control points and asymptotes in a compact form that can be used to provide grading and feedback. For instance, we can verify that the user's points are within some preset distance of the true curve, or check that no portion of the domain has been left devoid of points. You can view the internal model at right. It will update as you edit the sketch above.

Sketching of graphs is a key activity in learning mathematics. (This should not be confused with using graphs for various purposes—I'm talking here about the process of creating the graph "by hand.") It is a complex mental process, requiring us to integrate both particular numerical facts (such as individual (x, y) points) and qualitative information (such as the knowledge that the graph has a quadratic form, so must be a parabola) into an overall picture. In distance learning, graph sketching suffers because there is not yet a good tool to accommodate it. This tool is an attempt-in-progress to fill the gap.



© Michael J. Kantor 2004–05 FlashGizmo.com