Version 3.0 adds equations, inequations solutions plotting, as well as surface plotting (3d).

The aim is to give tools to understand and explore functions of two variables. Up to two functions (x,y)->F(x,y) and (x,y)->G(x,y) can be defined, but only the first will be used for equations, inequations, contourplots... The second will only be used for 3d drawing (to see intersections, such as a surface defined by a function f and a plane...)

Once you have defined a proper function F, such as F(x,y)=x^2-y^2 for example, you can plot one or several curves with equation F(x,y)=constant, with regularly spaced values for second term from a lowest value to a highest value, with a graduation in the color used for display.

You can also draw the solutions to an inequation F(x,y)>=α, or to an inequation F(x,y)<=β, by coloring the corresponding part of the plane with the color of your choice.

And you can plot the gradient field of F (if you don't know it, just think that the arrows show the direction of the highest variations of F : the curves solutions of F(x,y)=constant are at every point orthogonal to that field... Note that for the orthogonality to be true there, you need to have orthonormal scaling, else there is some deformation.)

Note that the drawing of the solutions of an equation such as F(x,y)=constant is not an easy task. The algorithm used in TouchPlot assumes the function F to be continous, as it tries to locate solutions by studying the sign of the expression F(x,y)-constant.

When there are two such sign changes near each other, then a part of the solutions ensemble could be missed, which actually happens in practice for example when the function is quickly oscillating aroung the value on the right side of the equation. So if the display looks weird : you can make it better with the settings menu switches : Adaptive algorithm and even high quality. Of course, the better graph will demand much more operations and, of course, more time...

Contourplots, gradient fields give a lot of information about a function of two variables F, but you might like to have another representation of F, which is given by the surface with equation z=F(x,y).

This is very easy : assuming the drawing of this surface is enabled (it is by default), you just have to touch the 3d button on the toolbar (only present in portrait orientation) to change the display from 2d view to a 3d one.

- note that the area of the horizontal plane (xOy) that will be used will be comprised :
- for the x-axis : the area presently displayed in the 2d view
- for the y-axis : a selection of the area displayed, centered and the same size of the width of the display so that it makes a square
- the z-axis limits are not that important, because they will be easily adjusted on the 3d view, but sometimes (for functions with large or very small values for example) it might be needed to adjust zmin and zmax values in the Settings menu.

Note that in the settings menu, you can opt to use orthographic or perspective projection. (Perspective is the default)

The 3d view shows something like this (same as the example in this video)

selle

(Here are plotted the functions (x,y)->x^2-y^2 whose representative surface is a saddle and and constant function (x,y)->2 whose of course representative surface is an horizontal plane)

The gestures you can use are :
- with one finger dragging you rotate the view
- with two fingers pinching you rescale the view
- with two fingers dragging you translate the view
- with double tap, you go back to 2d display

the axis shown here at the bottom left help you to orient yourself and remember where the principal directions are. In red is the z-axis...

Note that by presenting the iPhone or iPod touch in a vertical plane and rotating it, the accelerometer is used to tilt the display, so that you can use landscape mode too if you want...