About Space Graphs
Ever wanted to graph parametric or surface equations, but could not do it on your old calculator? well now you can. Space graphs is a graphing utility for your android device. This app can be used on any android with open gl es 2 and a mouse or touch screen. Even some limited gamepad support is available.
Unlike some programs that let you choose a position then it renders the graph for this point, this generates a model of the graph and allows you to move around it freely.
This program also supports nearly any type of 3d you can think of, cross eyed, side by side, vertical split,and four variants of interlaced. This supports 3d using conventional controls on offset convergence and field of view, but also offers a more physically accurate alternative.
The coordinate system can be change, so z can be up, or forward, and any other combination you can think of.
To actually put in the equations, this program uses a type of polish notation. For example, the surface equation, z = x *y + x^2, would be entered as +(*(x y) x2). All functions can have a coeficient before them and a power afterward. The functions currently supported are sin(), cos(), ln(), e(), +(), and *(). to do division, simply enter *(f() g()-1), where f and g are functions, as in *(x y-1).
Here are a few more examples:
a parametric
{
x= 0.1x-1
y=*(x cos(x))
z=x2
}
a surface
{
z = +(*(x sin(y)) *(y sin(x)))
}
the limits of range can also have functions put into them, but only with constant coefficients and in a more traditional fashion. These are less stable, i would not try anything more than some additions and maybe a pi or e. The number of steps indicate how much to generate, generally more parametric segments can be generated than surfaces, and the steps should generally be left bellow one thousand.
To handle the curving and lighting, each of these functions do take derivatives. I am happy to give the source code to anyone who asks for them.
To move, there are controls on the left side, the speed and sensitivity is exponential.
You may enter the derivative of any function at any time to see how it behaves.
This app may misbehave if it is told to render a null set.
This app implements multithreading to give a smoother experience while graphs load and are replaced.
To function, this program uses several derivatives and high level calculus functions, if anyone wants the source code, or a desktop version, just email me. I am happy to give away all my math libraries to anyone who wants them.
Note: although this will run on nearly anything, larger faster devices have a huge advantage.
You have full field of view control, there is no more optimization I can perform, it is optimized for tablets.