Experiments in generative geometry and graphics
Creative coding is about wonder, about exploration, about learning. And this is the website of someone who is happy to call himself a creative coder. Code gives me a way to play, to explore the odd behavior of our world, to find the systems beneath it all.
Warning: this site is produced in a facility that handles generative design, rule-based systems, Processing, sacred and degenerate geometry, snowflakes, polyhedra, quantum noise, division, data viz, assorted ranting, and trace amounts of art and physics…
On this site you’ll find a collection of code experiments exploring generative graphics, complexity, geometry, chaos, particles and anything else that catches my interest. It’s hard to find a suitable name for this, art is too pretentious, algorithms too cold. Constructs seems to be suitable, sufficiently mechanical but with a touch of craft.
All non-commercial work featured here is published under a Creative Commons license. Basically you can use whatever you like, but let me know and give the proper acknowledgments where due. Everything on the site is strictly amateur work, done off-hours, mostly at night when everybody else in the house is sleeping.
Contact me if you have comments or want code for a certain piece that isn’t featured on the site. But be warned, the code tends to look like it’s written by a sleepwalking code zombie, and that’s because it was. If my attention span (think buzzsaw in a balloon factory) allows it, there might be comments in the code. Some of them could even be relevant.
People sometimes ask me questions about Processing*. And although there are already tons of resources out there that cover Processing, and tons of books, sometimes it is simpler to just ask. I might as well share the small code samples that are written to answer questions, from the simple to the obscure. I’m probably a terrible teacher.
* I sometimes answer.
HE_Mesh* is a Java library for creating and manipulating polygonal meshes. Containing no display functionality of its own, it is meant to be used with Processing.
My code quality warnings for the constructs are doubly valid here. HE_Mesh is an after-hours hobby project aggregating years of code snippets and 3rd part libraries. It is by no means production strength, neither in robustness, performance, consistency or maintenance. Consider it a toy, playground, a sandbox that allows me to explore a range of possibilities that I wouldn’t be able to otherwise. Friends** asked me to share this toy, this library.
Since I cannot give you any guarantees or reliable support, the HE_Mesh library is public domain. Very little in the library is invented by me. The knowledge required to create it is all out there.
* Full name: HE_Mesh, short name/tag: hemesh
** With friends like that, who needs…
HE_Mesh, with the below exceptions, is dedicated to the public domain. To the extent possible under law, I, Frederik Vanhoutte, have waived all copyright and related or neighboring rights to HE_Mesh. This work is published from Belgium. (http://creativecommons.org/publicdomain/zero/1.0/)
The following classes are subject to the license agreement of their original authors, included in the source file:
The following packages are part of hemesh-external.jar and are subject to the license agreement of their original authors:
- wblut.external.Delaunay https://github.com/visad/visad
- wblut.external.ProGAL http://www.diku.dk/~rfonseca/ProGAL/
- wblut.external.straightskeleton https://code.google.com/p/campskeleton/
- wblut.external.QuickHull3D https://www.cs.ubc.ca/~lloyd/java/quickhull3d.html
The modified code is available on request.
Installation for Processing
Processing documentation: How to Install a Contributed Library
If you want to keep up with the build of the day, manual installation is necessary.
Contributed libraries for Processing are installed inside the libraries subfolder of the sketchbook. If you don’t know where Processing saves your sketches you can check this in the File->Preferences… menu.
Inside the downloaded zip-file is a single directory hemesh with several subfolders . Unzip this folder to the libraries subfolder of your sketchbook. Make sure you retain the entire directory structure.
Always close the Processing IDE and delete your previous hemesh installation before installing a new version.
Setting up a HE_Mesh Processing sketch
This is my minimal framework for a Processing 3 sketch using HE_Mesh.