Venation is an implementation of a generative algorithm aiming to mimick biological venation patterns. It is a fairly straightforward implementation of the [1] algorithm for turning a field of nutrients (e.g. mesh points) into a branching structure reminiscent of leaves venation pattern.

It is geared specifically at the Python community so as to renew / encourage / further the interest in generative art. It is still rough and there are definitely a number of other approaches to decrease computation time, increase complexity and variability of the patterns, make it more faster, more robust, more elegant. That being said due to time constraints, I thought it effective and fun enough that it was worth it to make this available to the community and go from there.

Have fun!

WHAT IS VENATION - Quick overview of patterns found in living organisms.

APPROACH - Algorithmic approach and pitfalls.


Simulation-based visual modeling of patterns found in living organisms has a long history, bridging biology, theoretical studies of morphogenesis, and computer graphics. Together with spiral phyllotaxis and the branching structures of tree architecture, venation patterns are among the most admirable aspects of the natural beauty of plants. So what is venation? By definition, it simply consist in the arrangement of veins, as in a leaf or in the wing of an insect.

Example of the growing pattern of veins in a leaf (taken from [1])


Inspired by the paper Modeling and visualization of leaf venation patterns. The algorithm basic principle relies on iteratively growing seeds (black disks with white centers) towards the nearest set of nutrients (red disks). This is done by assigning each source of auxin the seed node that is closest to it; thus establishing the set of sources influencing each node.

Illustration of the algorithm for generating open venation patterns [1]