This is a growing selection of little useful helpers I've created for my own projects, but which might be helpful for others too.
About
Even though these libraries have been mainly developed for use in Processing related projects (see examples below), there is no explicit dependency on the monolithic PApplet or any other classes of the Processing toolkit. This is intentional & should be considered as a feature. Also, please note that all code in this project is now using Java 5 syntax and so will not work with older versions (before 0140) of Processing. Personally, I've been mainly using Eclipse for my larger projects and the "new" syntax just speeds up development time (if not execution time too).
| Stats | Latest release | Next release scheduled around | Page last updated |
| 2009-06-05 | 2009-07-01 | 2009-06-06 |
Please consider clicking this button. It'd be interesting to know how many people are actually using these libraries. Thanks! (If you don't know ohloh.net, it's a repository and review system for open source projects.)
Package overview
Javadocs are included in all downloads and are available online, an overview of available packages is here:
Currently available packages (needs updating)
- toxi.audio - JOAL focused utilities / sound manager (and generative music composition system soon)
- toxi.color
- float based color type with RGB, HSV, CMYK accessors & operators
- named colors & hues
- color lists, ranges, themes
- color theory strategies
- super flexible color sorting with many presets
- toxi.geom
- 2d/3d vector maths, AABB, sphere, plane, triangle, ray, octree, spline, 4x4 matrix, intersection tests
- OBJ and STL exporters (able to support massive files, with optional STL colour support) (see project case study)
- toxi.math
- common interpolation methods (demo included in download)
- unit translators (between dpi, points, mm, pixels, useful for PDF generation)
- some (collected) faster & convenient implementations of assorted common math functions (similar to processing, only without dependency on PApplet)
- sin/cos lookup tables
- perlin & simplex noise
- wave generators
- toxi.physics
- basic 2d & 3D particle physics engine with verlet integration (see demos: 1, 2 and 3 (last one by d_effekt))
- toxi.image.util
- grayscale image filters
- toxi.util.datatypes
- TypedProperties class for dealing with Java property files
- ArrayUtil
- float/integer ranges (with/without bias), singleton registry
Currently suspended...
- toxi.video - JMF based video capturing (broken since Java 1.5.07) & waiting for word on JavaFX HD video support
- toxi.net - UDP based multi-machine frame synch for small PC clusters (the recently updated MostPixelsEver library by Daniel Schiffman can do that now too)
Examples & contribute
As of the 2008-12-18 release, most sub-packages will come with a few demos showing parts of the functionality and basic usage patterns. However am aware of the chronic lack of more exciting examples bundled with the various library packages. I've tried to add as much Javadocs as feasible for me to help you get started, but if you've built some cute demo(s) showing off some of the functionality, I'd like to hear from you...
Likewise, if you want to discuss any issues or suggestions or contribute any relevant code, please do get in touch via the mailing list or directly to me. Thanks!
Below are some links to completed projects for which the libraries have been essential (and partly developed for):
| Volumetric modelling | | uses: volumeutils, STL export | preview of upcoming new package |
| Color theme demos | | uses: colorutils, geomutils | included in download |
| Forever installation @ V&A London | | uses: geomutils, physics, colorutils, prefutils, libjoal | project page & flickr group |
| Processing Light @ Todays Art 2008 | | uses: geomutils, objexport | blog |
| Nokia Friends | | uses: geomutils, verlet physics, prefutils | case study |
| Fid.Gen | | uses: vector maths, verlet physics, prefutils | http://fidgen.googlecode.com |
| Advanced Beauty: Enerugii part II | | used: 3Dvector maths, OBJ export, 4D simplex noise, wave generators | case study |
| Faber Finds generative book covers | | used: 2D vector maths, unit conversion, prefutils | case study |
| Print magazine cover 3D sculpture | | used: 3D vector maths, STL export, 3D perlin noise | case study |
| Audi TT movement ad | | used: 3D vector maths, octree, interpolation, intersection tests, 4D simplex noise, OBJ export | case study |
| Channel 4 New Shoots | | used: 3D vector maths, octree | case study |