This question has vexed me for the 20 years we’ve lived at my current house. There is a fir tree in the front that I dress every Christmas with lights. It grows. I prune it. This is what it looks like with the lights on…

The bulbs (purple dots) are all on a single string that I start at the top and helically wrap down to the bottom. There are 100 bulbs spaced 300mm apart. I have decided that the tree looks best if the height is twice the width at the base.

Q. What height should I maintain the tree at so that all the bulbs are equispaced from each other? I take this to mean that the next wrap around the tree is 300mm in Z below the previous wrap. Not perfect equidistance, but it will do for the neighbours and me.

(There are similar questions, but I believe non so specific.)

**Answer**

Nice question! I learned a few things as I was looking for the solution.

I assume that the length of your light cord is 0.3 meters×99=29.7m

(explanation: In the picture you posted, it seems that the cord starts and ends with a light bulb, so there are 99 segments in between, each with a length of 0.3m.

I also assume (as you state in the comments) that you want each twist to be 0.3m apart. Note that this is *not* the same as a bulb being equidistant with the bulbs around it, as the bulbs on different twists will be somewhat further apart than 0.3m. But it is a good enough approximation. Besides, I think that your original restriction (exactly equidistant bulbs) might not be possible with a conical spiral. In any case, since you are fine with each twist being 0.3m apart, we will work with this assumption, as it makes the problem easier to solve.

The general parametric equations that define a conical spiral are:

x=t⋅r⋅cos(α⋅t)y=t⋅r⋅sin(α⋅t)z=t

Where t is a variable that expresses the vertical distance from the tip of the cone, r is the radius of the cone at t=1 and a is a parameter that affects how densely the twists are wound around the cone. The bigger the a the more dense the winding.

What is r in our problem? We want the height to be double the diameter so at distance 1m from the cone tip we simply want r=14 meters (all distance units will be expressed in meters).

What should α be? Setting α⋅t=2π means a full turn/twist around the cone, and since we want the starting point of the twist with the ending point of the twist to be 0.3m apart, this means that α=2π0.3. **Edit**: no, this means that they are 0.3m apart in the vertical direction (t is vertical distance). What we need is that the spirals are 0.3m apart on the **surface** of the cone. So, how much is t if the distance on the surface of the cone is 0.3? If we take a cross section of the cone we can form a right triangle, where the hypotenuse is 0.3, one side (the vertical distance) is t, and the other side is t/4. Applying the pythagorean theorem we find that t=0.3⋅4√17. So we want α⋅(0.3⋅4√17)=2π⟺α=2π0.3⋅√174

We have established parameters α and r, so our conical spiral is defined fully. But how to we find the height of the cone/tree? The arc length of a conical spiral is:

length(t)=12t√1+r2(1+α2t2)+1+r22αrsinh−1(α⋅r⋅t√1+r2)

Plugging in length(t)=29.7, r=14, α=2π0.3⋅√174 we can solve for t to get t \approx \bbox[5px,border:2px solid red]{3.295} meters.

So if you make your tree about 3.3 meters tall and make your twists about 0.3 meters apart, then you will have the coverage that you want.

Here’s how your light bulb spiral might look like (it was a bit tricky to place the 100 bulbs on the graph, I was happy that I succeeded in the end):

And here’s a side view of the spiral. As you can see there are about 11.5 twists.

You can find the Python code I wrote to create the graphs here.

I hope this answer can help you with your lights installation. Merry Christmas! 🙂

**Attribution***Source : Link , Question Author : Paul Uszak , Answer Author : Thanassis*