The Function Visualizer _______________________ The Function Visualizer (FV) is a software implementation of mapping diagrams, with the added feature of animation. FV was created by Mark Bridger (Northeastern University) and Hubert Hohn (Massachusetts College of Art), with partial support from the National Science Foundation. FV may be copied and distributed for non-commercial purposes, and is copyright 1994-1995 by Northeastern University. 1. The 2 Graphics Windows In the upper right the graph of the function is shown in purple (increasing) and green (decreasing), along with a plot of the derivative (orange). It is scaled to fit the function, so the derivative may go out of view. On the left is the mapping diagram for the function: the left vertical line represents points in the domain, the right vertical line points in the range. A large number of lines are drawn in, connecting equally spaced points x in the domain with their image points f(x) in the range. If you move the mouse cursor up and down within the mapping diagram, the point x on the horizontal level of the cursor is highlighted, along with the line joining it to f(x). Simultaneously, the values of x, f(x) and f'(x) are displayed along the top of the screen, and the points (x,0), (x, f(x)) and (0, f(x)) are shown in the graph at the upper right. If you move the mouse cursor from the very bottom to the very top of the mapping diagram, at a constant upward velocity, you can watch how the images of the points vary. These images will move quickly where the function is either increasing or decreasing rapidly. (In the mapping diagram, the vertical line representing the domain has horizontal coordinate 0; the range line has horizontal coordinate 1. As you move the mouse cursor, its horizontal coordinate, a number between 0 and 1, is also displayed at the top of the screen. This is useful for certain technical applications.) 2. The Function The default function is x-->sin(x), which is displayed in a box just below the mapping diagram. Clicking on this box enables you to edit (just type, backspace, etc.) or delete (press [Esc]) and enter a new function. You must use x for the variable, and * for multiplication. If you make a syntax error, it will be pointed out for correction. Various special functions are available for your use, and very complicated functions can be built from them. You can also type in "pi". Here is an example of a function that can be entered: exp(sqrt(2*x-x^2)) - tan(pi+ln(x)/12.779). Arbitrary powers are entered using "^", but positive integer roots are best entered using the "rootn" function; for example, the cube root of 1/x would be entered as: root3(1/x). 3. The Domain and Range, Rescaling and Zooming By clicking on the appropriate boxes, you can manually set the domain and range of the function. In the present version, the range is restricted to [-1000, 1000] but this will probably be changed in future versions. (By multiplying your function by a suitable scaling factor you can get around this restriction.) On the right of the screen are boxes labeled "Zoom" and "Rescale". Rescaling is simple: the program estimates, for the given domain, the Min and Max of the function on that domain, sets the range to [Min, Max], and redraws everything. Zooming is a little more complicated: its function is to preserve scale by making the domain and range intervals have the exact same length. Here's what Zoom does. Suppose the domain is [a, b], L = (b-a)/2, and Min and Max are as just described. Let Mid = (Min + Max)/2. Zoom sets the range to [Mid - L/2, Mid + L/2]. Zooming is useful for examining how a function expands or shrinks distances. 4. Point Trails Clicking the Point Trail button on the right puts you in point trail mode. If you now click anywhere in the mapping diagram, the point x on the horizontal level of the mouse cursor will move toward f(x), leaving a trail of dots. You can do this over and over. To erase these trails of dots, click on the Clear box. To get out of Point Trail mode, click the Point Trail button again. 5. Animation The most novel feature of FV is its ability to have ALL the points in the domain move toward their images. What makes this useful and interesting as that they don't all move at the same speed. Each point x moves rightward on a line toward f(x), at a horizontal speed given by: k + K*|f'(x)|. The constant k, which is a minimal speed, is set by sliding or dragging the indicator in the Speed box on the right. The constant K, which represents the spread of speeds is set by sliding the indicator in the Width box. The bigger the absolute value of the derivative at x, the faster x moves rightward toward f(x). Points where |f'| is largest move fastest, and arrive at the range line soonest. Critical points (where f'(x) = 0), of course, travel slowest. Click on Animate Interval to see this animation. Click outside the control boxes to stop animation. Click on Stepped Interval, then on one of the two arrows: < or >, to see the animation one frame at a time, backward or forward. 6. Screen Dump If you have a Macintosh, or DOS computer connected to a LaserJet or compatible printer, you can send a copy of the current screen image to be printed. MAKE SURE YOUR PRINTER IS CONNECTED AND ONLINE. Simply click the Screen Dump button. These are the main features of FV, the Function Visualizer. Other pedagogical and mathematical features are discussed in "Dynamic Function Visualization", a paper by Mark Bridger. Comments and questions should be addressed to Prof. Mark Bridger, Mathematics Department, Northeastern University, Boston MA 02115, or BRIDGER@NEU.EDU.