About LEDs

First ideas

Our original idea was to place LEDs on the inner sphere of the sculpture, either with flex PCB, or by drilling the sphere, placing the LED in the holes and connecting them with wires to a rotating PCB contained into the sphere. To facilitate the positioning of the LEDs, we could have modified the design so that we can pin the petals one by one on the inner sphere rather than print everything in one block.

But these designs are not easily achievable. First, Alexis does not know how to design flex PCBs. Second, to have a satisfactory visual impression, we would like to have at least 100 petals. To justify this number, here is a model with 60 petals, and another with 100 petals, and a third with 150 petals.

With 60, 100 and 150 petals respectively.

In the above images, there will also be petals all the way to the center, but there will be only one light for all of them. In the above images, only the petals that would have their individual LED are shown. There will of course be petals all the way to the center, but the center ones will all share the same light.

With 100 petals and a single LED per petal, it would make 400 solder wire, which is unthinkable (especially given that the sculpture will turn).

Flat PCB

After discussion with Alexis, we agreed to place the LEDs on a flat rotating PCB with the same phyllotactic arrangement. Here is a simulation example to imagine how we will place the LEDs:  

The idea of abandoning 3D sculptures without struggle did not please us. That’s why we will try to give a 3D impression while leaving the LEDs on the flat PCB. To do this, our best idea so far is to use light pipes to guide LEDs light to the petals, like in the figure below:

Ideally, we would be able to keep flower-shaped sculptures similar to those of John Edmark. But in case we cannot have full-blown 3D sculptures, we could still add a little bit of  relief. Here’s what it could look like:

Today, Alexis has ordered a selection of compatible light pipes and LEDs, so that next week, we can do tests to measure the loss of brightness per cm inside the pipes and the influence of a LED on its neighbors (loss of brightness at the entrance of the guide).

LEDs overheating

Another problem that we are likely to encounter is the overheating of the LEDs. For 100 RGB LEDs (which need to be switched on at the same time), with a maximum of 100 mA per color, a current of 30A is required. So if we power the LEDs with 4V, we need a power of 120W.
We started to think about solutions to cool the LEDs: drill holes in the sculpture to ventilate the LEDs, use a Metal Core PCB (MCPCB, such as below) instead of a FR4-PCB, use heat sinks, LEDs with an electrically isolated thermal path (such as Cree XLamp LEDs).

Layers of a MCPCB

But our LEDs will be under light pipes so they will not be well ventilated by the holes in the sculpture. The MCPCB will not allow us to put all the components that we need, in particular we can not solder components on the back of the PCB. The mask solder is only on the top layer, on which the LEDs are placed, and the bottom layer ends with aluminum or copper, and it is not possible to add FR4 and copper after the layer in aluminium. And the heat sinks all seem to have a disproportionate size for our use.

Before continuing research on the overheating of LEDs, we will use LEDs already ordered which I mentioned above to test their heating.

  If you have any idea or suggestion, all comments are much welcome !

Generating 3D Models


  • We need to generate 3D models of phyllotactic patterns.
  • We give an explanation of how to generate phyllotactic patterns on a sphere.
  • We present an issue we encountered, and the solution we found.

Why 3D Models ?

When we first started thinking about the project, we quickly realized we would need to generate 3D models of the sculpture ourselves.

First because we need to have full control on the model, to try various configurations for the future 3D printed sculpture. And second because it will greatly help us visualize all the kinds of animations we are imagining.

Accordingly, Vlaya wrote a script using the blender python API to generate a 3D model, following John Edmark’s online explanation.

Phyllotactic Patterns on a Sphere

We place the first point on the “equator”. Then to place each following point, we rotate 137.5° and move a little closer to the top of the sphere.

The big question is : how much closer is “a little closer to the top of the sphere” ?

137.5° is the golden angle, derived from the golden ratio. It has the nice mathematical property of being as hard as possible to approximate with rational numbers. This allows it to waste as little space as possible, which is why plants use it. And it looks nicer. You can try the simulation on this page to get a better grasp of this.

A First Attempt

The first thing we tried was to actually place the points on a cylinder, rotating them 137.5° and going up by a fixed amount each time, and then projecting those points onto the sphere :

Projection from the cylinder onto the sphere
The projected points
Connecting the dots

But we soon noticed an annoying discrepancy between what we got, and what John Edmark’s Blooms look like :

A Bloom by John Edmark on the left, our attempt on the right

Our petals get more and more squashed as we near the center.

A consequence of that is, if we follow a spiral from the center outwards, at some point we’ll realise that what we’re following isn’t a spiral anymore.

All this doesn’t happen with John Edmark’s Bloom.

Follow a clockwise spiral from the center outwards and see what happens

The same thing actually happens in sunflowers:

Spirals “breaking up” in a sunflower

But in our case, it happens because the points step too slowly towards the center, whereas in a sunflower, they step too fast.

This paper on phyllotactic spirals gives a good explanation.

A Better Solution

Let’s formalise things a bit:

Spherical coordinates

A point on the sphere can be located by two arcs of a circle : parallel arcs (“horizontal”) and meridian arcs (“vertical”). To rephrase the previous explanation, we place each following point by moving along a parallel for 137.5°, and then moving up along a meridian for some arc length.

A face formed by intersecting spirals

As we get closer to the top, the parallel arcs of circle become smaller.

The meridian arcs also need to get smaller, otherwise we would overshoot the top.

We want the meridian arc lengths to decrease so that the faces keep roughly the same square shape.

To do that, they need to decrease at the same rate as the parallel arc lengths, to remain in proportion.

A bit of geometry yields this differential equation, where a(x) is the “vertical” angle between point x and the horizontal plane, and k is a coefficient:

a'(x) = k cos(a(x))
a(0) = 0

The solution is:

a(x) = Arctan(sinh(kx))

We had to tweak the value of k a little bit to get nice results.

Here’s what it looks like:

3D rendering of our latest design

Flat Circular Phyllotactic Patterns

We can do the same thing with flat circular patterns : place each following point by rotating 137° and moving closer to the center. The question is still “how much closer ?” and the geometry is merely a bit different.

We get this differential equation, where r(x) is the distance of point x from the center, k is a coefficient and R is the radius of the circle:

r'(x) = - k r(x) 
r(0) = R

The solution is:

r(x) = R exp(-kx)

This gives us flat patterns like that:

Flat phyllotactic pattern

Stay tuned for upcoming 3D animations !