This latest version has two main new features. First it allows animations to be exported as a series of PNG frames. Second you can also now export in Simple Voxels (SVX) format. This is a neat new format that represents a model as a volume rather than a surface as would normally be the case with STL or PLY files. Functy is ideally set up for this, since the objects are mathematically defined anyway. SVX files are also ideally suited to 3D printing, which ultimately is working with 3D volumes too.
Even though it’s new, Shapeways already allow upload of models in SVX format, and you can see an example - my first attempt - on the Shapeways site.
There have been some more minor improvements too. For the first time ever, Functy now has an About window. Only a small thing, but long overdue. It’s been on the back-burner for a while, since until recently Ubuntu’s version of Glade crashed when creating dialogues. Ironically I didn’t end up including it in the gtk-builder file anyway. Never mind. There’s also a new Progress window to make long exports bearable. SVX export can take some time, so this became a necessity. But it also helps with exporting of animations too, since these can also take a surprising length of time when every frame has to be generated as a separate file.
Please get yourself a copy and try out the new features. As with every release of Functy since the dawn of time, this is still a beta version, so please bear this in mind and let me know if things go wrong.
It’s not been long (just under a week) since the last Functy release, but the latest changes are suitably discreet to allow this minor update straight away.
The latest version now allows export in STL format, to complement the existing PLY export capabilities. Scenes can either be exported as static models, or with animation as a sequence of STL files for each frame.
In addition, there’s also been a bit of bugfixing too. One particularly nasty bug caused PLY export to fail for some scenes when the program was running on Windows (it was always fine on Linux). I’m hoping the bugfixes will resolve this problem. Please let me know how you find it, especially if it still causes problems.
As part of an experimental game project I’ve been trying to use the Functy rendering routines to visualise network structures. At the moment it’s at a very early stage, but has - I think - already generated some interesting results.
The screenshot below shows a network of 60 nodes, each one rendered as a spherical co-ordinate function, joined together using links rendered as curves. I just plucked some simple functions out of the air to see what the results would be like but am hoping to extend it with more interesting shapes as things progress.
The various parts of the network are a little hard to discern with a static image, but when I tried to capture a video the result was a mess of fuzzy artefacts (I think there must be something going wrong with my screen capture software), so I gave up on that.
The next step, after neatening up the code, is to arrange better animation of the nodes and links, with dynamic movement based on things like the forces between the nodes. I’m hoping this will produce some really nice effects, and if anything comes of it I’ll put a bit more effort into getting a successful video capture.
A parcel arrived from Shapeways recently containing some of the 3D printed ring prototypes I generated using Functy. The models were exported directly from Functy and converted into STY format before being directly uploaded to Shapeways for printing. All based on sine/cosine curves, there’s a flat version, a slightly bulging version and an irregular version. Since Shapeways did such a brilliant job printing the prototypes, the next step is to get them to print them in silver. Click on the links if you fancy having your own printed!
The Functy function files for all of these rings are up in the repository and will be included as example files in the next full release.
I’m very pleased to announce the release of Functy 0.25. This new version includes a number of new features, improvements and bug fixes, including the following.
- Functy can now export models in Stanford Triangle Format (PLY) for use with modelling applications such as Blender and MeshLab.
- A bundle of new example files have been added to show off the curve rendering.
- The animation can now be paused using the space bar.
- The button bar can now be hidden by pressing ‘b’; especially useful when running in fullscreen mode.
- Shader compatibility has been improved (particularly if a function or its derivative uses exponents).
- The colour handling of the shader has been improved, so that similar colours are rendered by both CPU and GPU.
- Various performance improvements, for example when rendering the axes.
- Various bugfixes, including reversing the orientation of exported spherical functions for better consistency.
- The Symbolic library has also been updated to a new version.
Functy is available to download via the downloads page for Windows, Linux (x86, x64, ARM) and as a source archive. Functy is licensed under the MIT open source licence.
Although I’m hoping these improvements will make it even easier to use and more stable, there will inevitably be bugs, so please let me know if you find any.
I’m very pleased to announce the release of Functy version 0.24, which can now be obtained from the downloads page.
The main changes from the previous version are the following.
- Addition of the new curve function type. This complements the existing Cartesian and spherical functions by allowing parametric curves to be defined with cross-sections based on cylindrical co-ordinates.
- All function types can now be rendered either using the CPU (as before) or entirely using the GPU.
- GPU rendering provides per-pixel lighting calculated using the derived normal function (rather than using interpolated normals as used by most per-pixel algorithms).
- Available for Windows and Linux, and also as a new ARM Debian version for use with the Raspberry Pi.
Functy is still very much a work-in-progress, and won’t be entirely bug-free, so if you stumble across a problem or have any difficulty with it please let me know.
Having spent far too much of my weekend playing around with a Raspberry Pi, I’m pleased to say that this has at least resulted in a nice new ARM Debian package of Functy to run on the tiny credit-card-sized computer.
Even though the 3D graphics are a bit slow right now, I’m thoroughly impressed that the Raspberry Pi was happy to build and run Functy with practically no modification. I wasn’t expecting that!
There are more updates to Functy in the pipeline, but in the meantime, the new Raspberry Pi build (which even contains functionality not yet found in the other versions) can be downloaded from the downloads page.
I’m pleased to say that version 0.22 of Functy is now ready for release. Although this version does fix some bugs, the main improvement is that there’s now an automatic installer for Windows users.
Get it from the download page: http://sourceforge.net/project/platformdownload.php?group_id=259651
Release notes are also available: https://sourceforge.net/project/shownotes.php?group_id=259651&release_id=692280
Oops. After releasing version 0.2 I immediately found a couple of bugs! So version 0.21 is now available as a minor bug-fix release over 0.2.
You can get it from the download page: https://sourceforge.net/project/platformdownload.php?group_id=259651
Release notes are also available: https://sourceforge.net/project/shownotes.php?group_id=259651&release_id=690043
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 can be built for GNU/Linux or Windows.
This 0.2 release is still beta, but has a number of improvements over 0.1 including:
- An improved user interface.
- New functions that can be used, such as cosh, atan, sec, exp, abs etc.
- Spherical coordinate plotting of functions.
- Various smaller bug fixes and changes.
To find out more or download the latest version, please visit one of the following pages.
Project web site: http://functy.sourceforge.net
Sourceforge project site: https://sourceforge.net/projects/functy/