Introduction: Blooms: Phi-Based Strobe Animated Sculptures

Picture of Blooms:  Phi-Based Strobe Animated Sculptures

This instructable demonstrates and explains blooms, a unique type of sculpture I invented that animates when spun while lit by a strobe light (or captured by a video camera with a very fast shutter speed).

Unlike a traditional 3D zoetrope, which is essentially a flip book of multiple objects, a bloom is a single coherent sculpture whose ability to be animated is intrinsic to its geometry.

What you are viewing in each of the above videos is a bloom spinning at 550 RPMs while being videotaped at 24 frames-per-second with a very fast shutter speed (1/4000 sec). The rotation speed is carefully synchronized to the camera's frame rate so that one frame of video is captured every time the bloom turns ~137.5º—the golden angle. Each petal on the bloom is placed at a unique distance from the top-center of the form. If you follow what appears to be a single petal as it works its way out and down the bloom, what you are actually seeing is all the petals on the bloom in the order of their respective distances from the top-center. Read on to learn more about how these blooms were made, why the golden angle is such an important angle, and how these are related to the Fibonacci numbers. You will also find some tips for constructing the turntable and strobe light required to animate blooms.

Blooms are available at Shapeways, a 3D printing service.

Step 1: How the Blooms Were Designed to Create This Effect

Picture of How the Blooms Were Designed to Create This Effect

The placement of the appendages on blooms is critical to the success of the animation effect. The positions are based on a specific phyllotaxy (i.e. leaf order) used by nature in a number of botanical forms, including pinecones, pineapples, sunflowers, artichokes, palm trees, and many succulents.

The photo above shows just such a succulent. I have numbered the leaves from youngest to oldest. If you follow the numbers in sequence you will find that each leaf is approximately 137.5º around the core from the previous leaf. 137.5º is a very special angle, called the golden angle, based on the golden ratio. The golden ratio is such an important number in mathematics that it's been assigned to the greek letter α (phi). When the golden angle is used by nature as a growth strategy it leads to the formation of spiral patterns. If you were to count the number of spirals in these patterns you will find that they are always Fibonacci numbers (e.g. check out the spirals on these pinecones).

In designing the blooms, I used essentially the same method employed by nature. I placed the appendages one-at-a-time starting from the top-center, positioning each appendage 137.5º around the center from the previous appendage and also a little further out and/or down.

So when I animate these blooms by spinning them with a strobe light (or video camera) I am, in a sense, recreating the process that I used to make them in the first place. Below are two stop-motion animations of some of my earlier work with Fibonacci spirals. You may these helpful in gaining a better intuition about how this animation technique operates.

The first animation shows a self-similar tiling, in which every piece is a unique size, but all pieces are the same shape. In the video each piece is removed (and later added) at an angle of ~137.5 degrees from the previous. Note: this is not CGI (computer-generated imagery); it is a stop-motion animation of actual laser-cut pieces of MDF.

(BTW, if you would like to make one of these Fibonacci tilings for yourself, check out my instructable, which includes the cutting file.)

The second animation shows the TransTower, a sculpture based on the same geometry as the tiling above. The transformations in this tower result entirely from rotating the individual layers by the golden angle with respect to their neighboring layers. (Note: this is not CGI; it is a stop-motion animation of actual laser-cut MDF.)

Step 2: How the Blooms Were Made

Picture of How the Blooms Were Made

These blooms were modeled using Python scripting for Rhino on a Mac. Once the modeling was completed in Rhino, they were exported as STL files, and then printed using a Zprinter 450.

The annotated images above walk through the modeling process.

Step 3: Natural Blooms

In reading the previous descriptions, you might have asked yourself "Since blooms are based on natural plant forms, could the plant forms themselves be animated in the same manner?" The answer is "Yes, if they are sufficiently symmetrical." Below is an example of an artichoke being spun on a lathe. Because this artichoke is not completely symmetrical, the animation is rather wobbly, but you should still be able to see the leaves appearing to grow up and down the form.

And here is an animated cactus. Rather than putting it in a lathe (which seemed inadvisable, given all those spines) I use stop-motion animation, rotating it 137.5º between successive frames.

I'm on the lookout for other highly symmetrical Fibonacci-based botanical forms to animate. Stay tuned...

Step 4: Tips for Animating the Blooms

Choosing the Strobe Rate

The videos shown at the beginning of the of this instructable were shot with a video camera running at 24 frames/second. If you animate a bloom using a strobe running at 24 flashes/second, you will find that the sense of flashing is quite pronounced, and detracts from the effectiveness of the animation. I suggest running the strobe at a minimum of 33 flashes/second to get a satisfyingly coherent illusion. Keep in mind that this will also mean spinning the turntable faster in order to maintain the strobe and turntable in synch. At 33 flashes/second, your turntable will need to be spinning 756 RPM (or 12.6 revs/sec).

An Inconvenient Truth

Now I have a confession to make. In order not to confuse the casual reader, I told a little white lie at the beginning of this instructable, when describing what was going on in the videos. The vast majority of people reading the introduction to this instructable will never try to recreate the effect, and thus will not be impacted by the slight inaccuracy of my description. But you, having read this far, are far more likely to be actually trying to animate a bloom. I certainly do not want to create unnecessary confusion for you in your pursuit, so, I am now going to give you the unvarnished truth.

To refresh your memory, here is what I wrote in the introduction:

What you are viewing in each of the above videos is a bloom spinning at 550 RPMs while being videotaped at 24 frames-per-second with a very fast shutter speed (1/4000 sec). The rotation speed is carefully synchronized to the camera's frame rate so that one frame of video is captured every time the bloom turns ~137.5º—the golden angle...If you follow what appears to be a single petal as it works its way out and down the bloom, what you are actually seeing is all the petals on the bloom in the order of their respective distances from the top-center.

And now, here is a version with the white lies removed:

What you are viewing in each of the above videos is a bloom spinning at 340 RPMs while being videotaped at 24 frames-per-second with a very fast shutter speed (1/4000 sec). The rotation speed is carefully synchronized to the camera's frame rate so that one frame of video is captured every time the bloom turns ~85ºnot the golden angle...If you follow what appears to be a single petal as it works its way out and down the bloom, what you are actually seeing is every second petal on the bloom in the order of their respective distances from the top-center.


Ok, let's see what's going on here. The reason for the slightly more complicated story (and thus the white lie) is that even at a very fast shutter speed, the video camera we used (a Canon EOS 5D Mark III) does not record every pixel of the image at exactly the same moment, and this results in distortions in the image. If you look carefully at the videos you can see evidence of this distortion in certain parts of the image. When we tried to record the bloom spinning at the speed required to achieve 137.5º rotation every frame, the distortion became very pronounced, so we slowed things and spun it at ~61.8% of the "proper" speed (550/340 = .618--golden ratio, anyone?).

Why this particular speed, you ask? Well, if running it at the "proper" speed causes the camera to capture every petal of the bloom in sequential order, the next slower speed we could run it at while still achieving a consistent animation would be one that led to the camera capturing every second petal in sequential order. We know that it takes a rotation of 137.5º to get from any given petal to the next one in the sequence, so to skip a petal we need to rotate 2 * 137.5º, or 275º. Now, that may initially seem counterproductive, since we've doubled amount we have to rotate for each frame. But because we're dealing with a circle, 275º is the same as -85º. So if we just reverse the direction the turntable is spinning, we can slow it down to 85º per frame and get an animation that moves twice as fast, because it only sequences half as many petals.

(It's interesting to note the rather counter-intuitive fact that by slowing down the turntable to 61.8%, we double the speed of the animation.)

Of course, capturing every second petal is not the only speed change we can achieve. We could also choose to capture every third, every fourth, every fifth petal, and so on. Let's look at how much we'd need to rotate the turntable for the first eight of these:

A few observations from the chart above:

1) As the frequency increases, those that are Fibonacci numbers always lead to a smaller resulting angle.
2) The sign of the resulting angle for the Fibonacci numbers alternates between positive and negative.
3) The % of full speed for subsequent Fibonacci numbers decreases by the golden ratio.

The chart above only shows the first eight frequencies, with the Fibonacci frequencies in bold. I encourage you to continue the process for higher frequencies to convince yourself that the above observations remain true for all values.

Finally, I'd like to note that in actual practice I run the strobe at a higher frequency than 24fps. Because the light is on for such a tiny part of each cycle, it looks quite "flashy" at that rate. So instead I run it at 36fps (50% faster) and rotate the turntable at 825rpm, which yields a more constant-appearing illumination.

Step 5: Technical and Sourcing Info for Creating a Bloom Animator

Picture of Technical and Sourcing Info for Creating a Bloom Animator


A selection of different blooms are available at Shapeways, a 3D printing service.


For a quick-and-dirty prototype, you can try using a power drill, which is what I did (see annotated photo above). I controlled the speed by attaching a C-clamp to the trigger. It's noisy and difficult to control, but it can get you started.

Ultimately, you'll want a reasonably quiet and fully controllable turntable. I made mine using this brushless motor for R/C helicopters, this ESC (Electronic Speed Controller), and this servo tester to adjust the speed. I powered it with this 12V 5A DC power supply. It was a rather expensive setup, but was the only solution I could find that had enough torque to drive the turntable directly. By driving the turntable directly from the motor, I was able to avoid the complexity of constructing a gear or belt mechanisms. Eventually, I replaced the servo tester with an Arduino Uno, which gave me finer control of the rotational speed.

Note: the ESC I mentioned above, works fine, but also caused the motor to emit a rather unpleasant high-pitched squealing sound. To avoid that, you can use this ESC instead, but because this particular ESC doesn't provide 5V BEC, you will have to supply the servo tester with external power. (If anyone locates an ESC that avoids the squealing while still providing the 5V BEC, please let me know and I'll post it here.)

I constructed the turntable using laser-cut 1/4" acrylic, with laser-cut screw holes aligned to those on the motor. To hold a sculpture in place, I laser-cut a 1/8" acrylic disk to fit snugly inside the base ring of the sculpture. The disk and the turntable have two aligned laser cut screw holes into which I placed screws to hold the disk in place. This arrangement makes it relatively easy to change out different sized disks for different sized sculptures, but if things are not perfectly centered and balanced, the sculpture will vibrate, which will make the animation look shaky, and potentially cause the sculpture to become dislodged from its moorings. Because of the high velocities involved, it is essential that everything be perfectly centered. The accuracy of the laser cutter make that feasible, but even laser cutters are not quite perfect, so you may still run into some slight, but potentially significant asymmetry issues (I did). You may need to use very thin shims in various places to get things sufficiently centered.

Strobe Light

The Strobe light must be capable of at least 30 flashes-per-second (1,800 flashes-per-minute). Inexpensive party strobes are not able to do this. Monarch Instruments makes a number of strobe lights, this being the the least expensive model. If you are aware of a less expensive source for a similar strobe light, please let me know.

You can also make your own LED strobe light, controlled by an Arduino board. Note that it's not enough to simply have the light flashing at 30fps, with the on-times and off-times being equal in length; the on-times must be no more than 0.5% of the off-time in order to properly freeze the spinning sculpture. This means that the apparent brightness of the light will be only 0.5% (1/200th) of what it actually is. So the LED has to be very powerful. I used this 100W LED and this reflector and it is bright enough (especially when over-driven by a factor of 2-5, which can be done without harming the LED since it is on for such a brief periods). Since the strobe is on for a very small percentage of the time, you don't need a very big power supply to run it as long as you add a capacitor to store up the energy between flashes and then deliver the necessary current for the brief flashes.

Step 6: Acknowlegements

The videos of the blooms and artichokes were shot by Charlie Nordstrom, Pier 9 Artist-in-Residence Digital Storyteller.

This work would not have been possible without the generous support of, where I was fortunate enough to be an Artist-in-Residence during the summer of 2014. I am very grateful to have had access to their state-of-the-art fabrication facility, and for the invaluable assistance I received from the remarkable Instructables staff and Artists-in-Residence.


KuldeepG10 (author)2017-11-20

How can I make cylinder and put points on Cylinder at 137.5 degree with Rhino? Did you used Grasshoper or just Rhino is enough to make such a wonderful creation? Please help as it is very important task for us. Kind Regards.

右嵐黃 (author)2017-05-03

Hi John,
I want to do the model by myself but I failed on projecting points onto the sphere without using python script. May I please have your models stl files? Really looking forward to see it spins in front if my eyes!

Thanks you so much to make math looks so beautiful !

右嵐黃 (author)右嵐黃2017-05-03

Sorry! Wrong email!

please send the files to

Thanks again.

edmark (author)右嵐黃2017-05-03

I'm sorry, but I don't give away the stl files. If you keep trying I bet you will figure out how to project the points!

KuldeepG10 (author)edmark2017-11-14

Is it possible to make STL files in Rhino for beginners?

edmark (author)KuldeepG102017-11-17

yes, Rhino can make STL files.

TamoM (author)2017-06-19

very inspiring work. thanks a lot.

Akeom made it! (author)2017-05-24

It has been great and educative fun to make the installation, which still is being exhibited in the Netherlands. Thanx John for your great work and genius invention!

About the hardware: I used Arduino , PC fan motors, and a closed loop speed control algorithm fed by a hall sensor that gets triggered by magnets attached underneath the turntable. The LED strips are bright enough, but require a 2ms flash duration to get the required brightness. Unfortunately at high RPMs this causes blur.

To make the installation interactive, I added knobs to manipulate the strobe frequency as well as the RPM's. The display shows the values of the RPM and the flashes per second.

I made the casings from black acrylic on a laser cutter.

Improvements I would apply in my next build: DC motor driven by poti regulated DC and not PWM to minimize all noise (I tried buffering with circuitry, not satisfied), and 'flashier' strobes that operate at sub milisecond duty cycles.

Above description is intended as a 'maker breadcrumb path', replacing a fully fledged instructable...oh, and I am not a potential source for the STL files by the way.

When I have time, I'll use Gielis transformations to generate geometries and see what happens...summer project 2017? :)

I hope I could add to the inspiration to dive into the process of understanding and making an instance of John's mesmerizing invention.

edmark (author)Akeom2017-05-24

Congratulations! And thanks for sharing the results!

Just one possible suggestion: if you are not already overdriving the LEDs above their stated rating, you should give that a try, because they are illuminated for such brief periods of time, they will not overheat even when being significantly over driven. you should be able to increase their brightness by at least 3 stops, which will allow you to shorten the duty cycle.

Akeom (author)edmark2017-05-25

Thanx for the tip, I'll also try overpowering the LEDs. I was indeed rather conservative on this topic ;)

fandebrank (author)2017-05-12

Is it possible to see this with my own eyes, without using a camera ?

If it is, which settings are recommended ?

mdebrizzo (author)2016-04-28

Hello from NYC . they are awesome!! How do I get one?

This is art, just beautiful! M.

edmark (author)mdebrizzo2016-04-29

Thank you for your kind comments. I'm working with a manufacturer to make these available with the necessary turntable and strobe light. Stay tuned!

TonyG175 (author)edmark2017-04-30

Is there an update to this?

MaximusR2 (author)edmark2017-03-02

Hi John, love the work. I am buying a couple of your pieces. They give me pure joy! I wanted to potentially bring them to a party and put them on a vinyl player spinning at say 33 or 45 RPM. What would I need regarding a strobe for this to work? I wondered what the speed of the strobe would need to be if the speed of the turntable was reduced by say 10 times. How many times would the strobe need to fire per minute to create 'a 3D effect'. Thank you! My email is

SepidehM (author)edmark2016-05-18

Any estimated time frame? I would like to purchase as a bday gift

parthwagh (author)2017-04-28

Hi John,
I am very impressed n wish to make it for myself.
Can you please send me stl files to my gmail?


unkerjay (author)2017-04-13

Your videos inspired this:

And, animated, using Blender.

edmark (author)unkerjay2017-04-14

Very cool! Thanks for bringing it to my attention.

Microbe (author)2017-03-13

John, You were wondering about some other natural object to check out. Pine Cones spring to mind

edmark made it! (author)Microbe2017-03-13

Thanks for the suggestion! I would love to animate a pine cone, but I've had a hard time finding one where the scales are sufficiently regularly spaced, and/or the central axes are sufficiently straight. I've seen pictures of pine cones that would seem to fit the bill (like the two in the pic below), but I've never found an actual specimen. But I haven't given up!

mangakid (author)2015-02-04

Hi John,

Fantastic work! I thought you might be interested in seeing some F-Z's I made using blender. I used python to place the objects in a sphere shape, then spun the sphere and rendered each frame:

StuartC63 (author)mangakid2017-03-10

Hi Mangakid,

I'm working with my son in Fusion 360. We are builiding a fibonacci bloom. Would you be open to sharing your python code with me. I'd like to use it as a tool to help him see how to program in Autodesk.

edmark (author)mangakid2015-02-04

Nice work! Thanks for sharing it!

(If you wouldn't mind adding the word "blooms" to your title, I'd appreciate it, since I'm trying to get that to be the term people use in referring to these--as you can see by the current title of this instructable.)

MaximusR2 (author)edmark2017-03-02

Blooms, a beautiful name for them!

Akeom made it! (author)2016-03-06

Thrilling journey to make these sculptures and the spinning platform!

MaximusR2 (author)Akeom2017-03-02

Awesome, can I discuss this with you? Awesome lighting as well!

otoc made it! (author)2017-01-02

Thank you very much, your work was a great inspiration!

This is my attempt:

silkier (author)2016-12-01

I was utterly mesmerised by those videos.

Thank you so much, I have just sat here chortling away merrily to myself just watching them over and over.

Elegant, beautiful, naturally inspiring. Genius in motion.

plugable (author)2016-09-23

This is a project I've been waiting to do for a long time now that I just recovered! Would you be so kind as to share the stl files to me? I'll be showing them (with proper credit) on a 3d printing showcase in Tenerife. E-mail:

KoogieBuffalo made it! (author)2016-08-06

Thanks John for the files. It's not the best thing I've ever done, but it works, and it's cool to watch. I have a dc motor with a reducer, running at 32 rpm and a decent enough $8 ebay strobe. The video is from my ipad converted to gif and I took out all the black frames. It looks better in real life than on video. I'm trying the bloom next.

RobC110 (author)2016-05-19

I have just received 2 sculptures (awesome looking), but haven't been able to locate turntable and strobe light info to get everything set up immediately.

Can you advise on what i need?

edmark (author)RobC1102016-05-19

This instructable provides information on making the strobe and turntable. You will also need to write some simple code to control them with the Arduino micro-controller.

Nuzman (author)2016-05-01

I am fascinated. It reminds me of a pinecone. I seen the artichoke, i think the same would apply with a pinecone. I gotta give your idea a whirl!

azizkres (author)2016-04-28

I love the fibonacci series. Thank you so much for this! I love the last video and see the shape being applied as a sky scrapper.

edmark (author)azizkres2016-04-29

Yes, I have also thought that it might make an interesting building. Please tell me if you know somebody that wants to build it!

azizkres (author)2016-04-28

The first set of videos are mesmerizing too :)

Laral (author)2016-04-28

I am well aware of Fibonacci spirals and their role in nature. I see them everywhere. This is all so cool.

austinwebdesign (author)2016-04-27

that is insane Sooo beautiful

elfnor (author)2015-09-11

I've implemented the basic bloom sphere structure using Blender and a Sverchok scripted node. The basic codes and example are on github.

Explanations and some gifs are over at Look Think Make.

Thanks for the inspiration.

pajamapuma (author)elfnor2016-04-08

Thanks for posting source code to play with!

edmark (author)elfnor2015-09-11

Very coo! Thanks for sharing!

smithjreddy (author)2016-03-15


smithjreddy (author)2016-03-15


DonatellaS (author)2016-03-02

Hi John,

Are links to .stl still active in this Instructable? I noticed the DB link had been removed. You had sent the link to me personally about a year ago.Thank you. :)

Aleksandr Panov (author)2016-01-30

Hello John, tell me how to get the file sizes of your shapes in STL format?

I want to make these for her concert in Russia. My mail

Akeom (author)2015-11-10

About the squealing sound of the motor using the ESC / BEC: the frequency of the signal, like a PWM signal does with a DC motor, causes the squealing. It might be difficult to really get rid of the squealing sound. An alternative is to control the speed using a potentiometer and a setup with an IR diode or a hall sensor to count and manage the RPM's according to the strobe frequency.

jneave (author)Akeom2016-01-14

or smooth the pwm'ed signal? A capacitor would do it wouldn't it?

edmark (author)Akeom2015-11-15

Thanks! I'll look into that.

cal4457 (author)2015-12-03

These are the most amazing thing i have seen sir are a total genius!

About This Instructable




More by edmark:Blooms:  Phi-Based Strobe Animated SculpturesObjet 3D Printer Fit TestsFibonacci Spiral Jigsaw puzzle
Add instructable to: