Leaves and Twigs and Beans, Oh My!
I’ve mentioned my final Computer Science project a couple of times now on the blog without actually describing what it is. Now seems like a good time to do so, having just spent a solid afternoon and evening on it. The summary (which remains one of only two pieces of actual paperwork written for the project thus far — thank $DEITY this isn’t a group project with meeting minutes and the like) reads as follows:
To develop a networked simulation of a garden system that allows users to maintain the garden by interacting with individual plants, which are simulated using the principles of L-systems.
Put more simply, the idea is to build a client/server system that provides something like a SimGarden over the Internet. Fortunately, much of the theoretical work needed for this has long been done, and most of it is in The Algorithmic Beauty of Plants
, so that has largely left me to worry about the parts of the project that don’t involve quantifying plant physiology and behaviour, like rendering L-systems in a manner that can render a simple plant (without leaves) at more than 0.4 frames per second on my iBook.
I’m still working on that little problem, but the fact it’s rendering at all is progress — it means the 3D turtle is working (yes, it’s just like Logo, except in Python and with an extra dimension to confuse people), the L-system parser can at least deal with simple L-systems, and all in all, I’m feeling rather content with life, given that five weeks ago I didn’t even have a project (the project I had planned fell through due to the supervisor leaving the university) and four weeks ago I had no idea what OpenGL code even looked like. Of course, said contentedness is likely to evaporate any moment now, given the amount of work that’s still ahead.
I sign off tonight in the traditional fashion: screenshots.
September 8th, 2007 at 10:30
I was always a little fascinated with l-systems and plants; but never had the ability to create anything.
The one thing I always wanted to do was create a blog navigation ‘tree’ – the more topics you have clustered together, the more a particular branch of a tree is grown. You label the end points as tags / links / articles / whatever…
September 8th, 2007 at 13:31
That’s a really cool idea, and if I have some free time, I hope you won’t mind if I steal it and write a WordPress plugin to do it with SVG. :)