Introduction
Christmas school holidays can be pretty tough for getting long enough stretches of time to make any meaningful progress on my core tools. However, I can usually snatch a few hours here and there to work on some smaller and less involved projects, so this Christmas I decided to work on a couple of apps that I have been thinking about for ages.
Tree Generator App
The first is a Tree Generator that lets you interactively create parametric or procedural 3D trees. As I develop my BIM tools and use them on some of our development projects, I have always wanted to be able to properly include site vegetation as it makes the model much more believable. However, this usually involves arm-wrestling 3D modelling tools attempting to create and import the kinds of slightly abstract and light-weight forms I was after. But no more – I have finally integrated geometric tree modelling into my BIM workflow.
Moreover, I have included a bit of experimental work on the seasonal variation of deciduous trees so that I can finally have the site vegetation respond dynamically to date changes and change color or shed / regrow their leaves at the appropriate time of year.
Polyhedra Generator App
The second is a Polyhedra Generator that lets you create complex higher-order polyhedra as well as some interesting structural and architectural forms. As I had to convert some old Java code I had for generating polyhedra to use in my Tree Generator, I figured this was the excuse I needed to rewrite a new version of my old polyhedra viewer in JavaScript and WebGL.
In the interim though, I had discovered and been completely inspired by Anselm Levskaya’s polyHédronisme which allows you to apply mathematical operations to a ‘seed’ polyhedra in order to generate more complex shapes and forms. I simply had to include that in my new version.
In doing so, I have borrowed quite heavily from Anselm Levskaya's code as well as George Hart’s original VRML implementation to create an alternative WebGL version that hopefully builds on their fantastic work.
Also, to make working with Conway Polyhedra Notion a bit easier, I added some user interface elements to convert the notation text into an operations stack, and visa versa. This allows you to build up operator sequences and explore the various parameters of each operation visually rather than having to know or understand the actual notation.
Click here to comment on this page.