PyPlants — Now with added dimensions

PyPlants has come on in leaps and bounds over the past few days (well, even­ings), and now from its new home as PyPlants on bit­bucket sports a com­pletely rewrit­ten ren­der­ing backend which is more mod­u­lar, should be really easy to plug into, and now sup­ports POV-Ray out of the box.

What’s that you say? A 3-D ray-tracer? Yes indeed, as prom­ised in the second part of this series of devel­op­ment diar­ies, I’ve now fin­ished work on an update that turns this:

("A", "I+[A+O]-->>[--L]I[++L]-[AO]++AO")
("I", "FS[>>&&L][>>^^L]FS")
("S", "SFS")
("L", "['{+f-ff-f+|+f-ff-f}]")
("O", "[&&&C`>W>>>>W>>>>W>>>>W>>>>W]")
("C", "FF")
("W", "[`^F][{&&&&-f+f|-f+f}]")

Into this:

olive_bush

Rendering of an olive bush from pyplants pov­ray renderer

Unfortunately it’s now 2am, so the write-up will have to wait for the week­end. Do feel free to grab the code and have a poke around. You’ll obvi­ously need pov­ray, pygame, and pycairo installed, but everything else should work with python’s included batteries.


Procedural Plants in Python — Part 2

In the pre­vi­ous part of this art­icle we looked at the back­ground to L-Systems, and how they could be used for describ­ing self-similar bio­lo­gical sys­tems. In this part we’ll look at a sample imple­ment­a­tion of a very basic 2D L-System in Python, together with a basic PNG ren­derer using PyCairo.
This is an imple­ment­a­tion of a


Procedural Plants in Python — Part 1

For a fledgling pro­ject idea, I’ve recently needed to work out how to draw plants pro­ced­ur­ally, and of course Python is my lan­guage of choice for some rapid pro­to­typ­ing. Whilst some richly-featured pro­fes­sional applic­a­tions exist for gen­er­at­ing flora in a pro­ced­ural fash­ion for high-end ren­der­ing, there are pre­cious few sys­tems avail­able for the kind of


Ten Things I’ve Learned in a Start-Up

Ten things I’ve learned as a developer at WooMe:

Be clear what your dir­ec­tion is. Identify your key pro­pos­i­tion and focus on it. Don’t get dis­trac­ted by unre­lated fea­tures — some­body else is prob­ably already doing those bet­ter than you.
Be mer­ci­less with fea­tures that don’t cut it. No mat­ter how much you like it, if your audi­ence doesn’t


The Golden Age of Video