Sometime in 2015 I decided to do an experiment. I created a speed coded graphics library with the intention of eventually completely re-writing it . The idea being, I would work on an elegant (albeit strange) graphics library that would make it easy to quickly create complex graphics with very little code. The result was Zeta… which can do things like this:
or…
or even…
that…
There is more than meets the eye here. Here is a list of some things that may not be immediately apparent:
- While this is all done with canvas, everything is percentage based so it can scale in realtime to an arbitrary size. Like this (all of the above examples do the same).
- It uses coffeescript to so that the syntax is extra minimal.
- It defines shapes as polar and parametric functions, so you can easily create spirals and waves and really any kind of parametric curve you want.
- the data of the curves can be separated from the default rendering, and you can use normal canvas command to interpret the data.
- The actually library code is a real speed coded mess that could easily be replaced with decent code, leaving the existing API intact.
- Its very easy to create pseudo-responsive grids and animations.
- etc…
Here are the unfinished docs, basically just a list of functions and properties: Zeta Docs
Obviously I never got around to the re-write phase, but I still may revisit Zeta at some point. I have many many more things that I created with Zeta… Maybe I’ll write about some of them in the future.
There’s enough here for people to play around with, and if you feel like seeing some strange code. Have a look at one of the later versions of the lib itself: (brace yourself)
it may be obvious that some of the ideas in this lib are ever so vaguely inspired by processing