Converted all output to use C stdio.h compliant functions, which necessitated adding these functions to the Arduino environment. The C standard IO functions are initialised using the stdio_init() function which should be called in setup().
Also includes homogeneous coordinate vector and matrix operations to support simple 3D graphics generation.
The 3D examples from Adam Williams, have been converted to use this library's functions, and now the more complicated GEAR and GLXGEARS demos work on UNO (even though it has only 2kB of RAM)!
Homogeneous coordinates are ubiquitous in computer graphics because they allow common vector operations such as translation, rotation, scaling and perspective projection to be represented as a matrix by which the vector is multiplied. By the chain rule, any sequence of such operations can be multiplied out into a single matrix, allowing simple and efficient processing.
Added two alternate perspective projection functions, the OpenGL standard perspective projection and the W3Woody modified version.
Moved header includes before extern C.
Removed some obsolete code ideas.