Registered 2009-05-23 by David Llewellyn-Jones

Functy is a 3D graph drawing package. The emphasis for the application is to allow Cartesian and spherical functions to be plotted and altered quickly and easily. This immediacy and the vivid results are intended to promote fun exploration of 3D functions.

Functy is made from two distinct pieces. There's the Functy front end application that renders the functions, and this is built on top of a symbolic maths library called Symbolic.

Functy is the actual function rendering application. It's built using GTK+2 and OpenGL. Functions are managed using the Symbolic library, the approximation and differentiation capabilities of which are used to generate vertex height and normal data. Functy and Symbolic both use the GNU build system for compilation under GNU/Linux and MinGW for compilation under Windows.

Anyone with knowledge of OpenGL, GTK+2 or with an interest in functions could be helpful for the project. Since it's at an early stage, there's a lot to be done and the project hasn't even started looking at things like translations. If you know about packaging (for GNU/Linux or Windows installers) and would like to help with this then please also get in touch.

The symbolic library is written in portable C and allows you to manipulate mathematical expressions that are stored in a structured form in memory. The library allows you to do things like automatically simplify, differentiate or numerically approximate a function by assigning values to variables. It will also undertake some simple theorem proving. Symbolic is at a pretty early stage of development. It needs optimisation and extension to include more functions, more function types (at the moment it handles only unary and binary functions and relations) and better manipulation. For example, there is always more than can be achieved in terms of automatic simplification and manipulation. If you're interested in getting involved with this library get in touch.

Project information

MIT / X / Expat Licence

RDF metadata

View full history Series and milestones

trunk series is the current focus of development.

All code Code

Version control system:
Programming languages:

All bugs Latest bugs reported