Beauty of Mathematics
Posted on December 6, 2013
Few days before end of splash screen contest for Houdini 13, I have decided to give it a try and create my own contest entry. Unfortunately with huge amount of work and few days left till deadline I did not managed to deliver expected image quality. Despite of already finished contest, I decided to finish the project.
Idea behind contest was to create fully procedural image (no hand-modelled geometry and without any post process). I was looking for any inspiration of procedural image and I came across photos of aloe vera plants on internet. I was always fascinated with beauty of mathematically perfect nature and that was most visually appealing example. I have decided to give it a try and procedurally recreate the plant.
Phylotaxis , parastichies
In botany, phyllotaxis or phyllotaxy is the arrangement of leaves on a plant stem. They create visual spiral called parastichies which are most successive elements of the Leonardo Fibonacci sequence: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 … where each number is the sum of the previous two. The ratio of each successive pair of numbers in the sequence approximates phi (1.618. . .). When this occurs, the angle between successive leaves or botanical element is close to the Golden Angle 137.5°
That was the base of my leaves distribution. Shape of leaves are simulated with natural forces like wind and gravity. For optimisation purposes, plants shape is determined by splines which are used for any deformation and simulation calculations. Each point on backbone curves stores axis vectors to keep track of deformation rotations and proper uvw mapping.
Spider webs are created using raytracing. From random point on plant, ray is casted in random direction away from surface. If our ray hit a surface, curve is being created and natural forces are recalculated (wind/gravity).
I have created custom mantra shaders reacting differently on each part and attribute of plant like age of leaves and direct light exposure. Big advantage of procedural modelling is to be able to store custom attributes responsible of many creation aspects like age and size of prickles that could be easily used during shading.
Nodes layout for main plant shape:
OpenGL preview SOP (not accurate) shading:
You can get HD version [HERE]