Flowers and Mandalas

This is the most recent procedural flower I made, inspired by zootropes, and animated in real-time in AR.

The flower is generated by a procedural system in C# that takes formulae as input for various aspects of the petals (shown in image). Here’s a short description of the process:

  1. Create a fibonacci lattice on a hemisphere for petal root points.

  2. Grow each petal individually using parametric formulae: some control the movement/bend/response to gravity/etc, and some control the appearance of the petal like thickness in various axes, C-shaped bends (like in celery sticks), pointiness, etc.

  3. Store custom vertex attributes like (curved) distance from petal root, distance from local axis, etc, which are very useful in shaders.

  4. Create a 4-way tileable textures in p5js so that it can be applied to the petals and repeat seamlessly in both longitudional and transverse directions.

  5. Export the geometry with UV maps to GLTF, apply the textures from p5js and animate in Threejs using GLSL/JS.

You can view this effect live in AR by going to flowers.sabin.art and pointing your camera at the image below:

As a big fan of M. C. Escher, I had been studying shaders to reproduce the Droste effect, and I was curious what my watercolor painting of a flower would look like when “fractalized”. Here are the results (original image vs transformed):

Below are some more of the procedural flowers I’ve made.

The other kind of flowers I like very much aren’t exactly flowers, rather, they’re mandalas. Mandalas are very popular in my culture, “mandala” is a Sanskrit word that means “circle”. Circles and trigonometry are the foundation of a lot of my work, and I have been exploring mandalas in various formats - pen plots, small laser engraved crafts, and animations.

Previous
Previous

Dance + Code

Next
Next

Exhibitions