Calculating a parabolic reflector

To make your own custom parabolic reflector in any size or depth out of tissue, you need to calculate the shape of the tissue segments and where to sew it. I did the math for you… here is how.


For my calculation I used the program „Grapher“ which comes for free with every Mac. Few people know it although it is quite powerful. Those of you who use a Mac can download my grapher file below and calculate your own reflectors within minutes. For everybody else I have included all the formulas so you can use a program of your choice or even pen and paper.


Any parabolic reflector can be defined by two numbers: the diameter and the depth. Since the tissue is flat and the reflector is composed of multiple segments, we also need the number of rods:

My sample reflector has a diameter of 1100 millimeters, but you can actually use any unit you like with these formulas (centimeters, inches, …) and obtain correct results.

From these constants we derive two more constants:

The radius is simply half the diameter. m is the parabola constant (i.e. the factor in the parabolic equation z=mx^2.

Calculating the bent rods

The rods (the bending parts defining the shape of the parabola) can be calculated as a series in Grapher: by using the notation {0..rods} we enforce a rod to be calculated for every whole number in the interval.

Since the rods face away from the center in a circular pattern, we can calculate their points using trigonometric functions (sin, cos). The projected length of a rod (i.e. the projection of the rod to the ground plane with all Z values being zero) is simply the radius. The actual Z value finally is our parabolic function, since the rod is bent according to a parabola.

With these values we can have Grapher draw the (bent) rods:

To get a more realistic plot, we want to draw the outer rim by connecting the endpoints of the rods. This can be done by the following equation:

Calculating the focal point

That’s easy: the focal point of a parabola is at z = 1 / 4m.

The above equation tells Grapher to draw the focal point as a little ball in the diagram. For our example reflector, the focal point is roughly 108 mm inside the reflector.

Unbending the rods

But how long are the rods really, and which shape does the tissue need to have? To answer these questions, we first have to calculate a flat (unbent) rod. Mathematically speaking, we need to determine the arc length of the parabola from the vertex to the outer rim.

For a function f(x), the arc length in the interval from a to b can be calculated as

where f’(x) is the first derivative of the original function. That means for our parabola:

Solving the integral and re-formulating this in Grapher syntax gives:

rodLength is the total length of a rod (from the vertex to the outer rim). rodRunLength is essentially the same but uses the variable prjLen (the projected length) which covers all values from 0 to boxRadius, i.e. all points along the rod. Basically, rodRunLength is a function of prjLen which tells us for any projected point on the ground plane how long the bent rod actually is from the vertex to the point above this projected point.

Now we know how long a segment of tissue needs to be, but not yet how wide it needs to be. But that is not difficult. We can use Pythagoras and simply determine the distance between two points on adjacent rods:

For a tissue segment, segWid gives the width for any projected point, while rodRunLength gives the length at which the rod has that width. In order to graph this, I made a new Grapher document with only 2 dimensions (like the tissue). The following equation plots the side walls of a tissue segment:

The segment is symmetrical. I used the variable sg to plot both side walls instead of just one.

This equation draws the top wall of the tissue segment (i.e. the outer rim).
And this is what it looks like:

By stitching 16 of those together, you get the 3D parabola.

Generating different reflectors

Now you can generate a multitude of different reflectors. All you have to do is modify the three key parameters to your liking:

  • boxDiameter
  • boxDepth
  • rods

Here are some configurations for your inspiration:

Download the math files

If you're ~~ lazy ~~ efficient, you can download the files here:

Calculate reflectors online (JavaScript)

If you are super-lazyefficient, you can even calculate the tissue right here on this page, because I put the formulas into JavaScript for you. Just modify the 3 constants below to your liking and the page will generate two series of points: one for the rod (i.e. the reflector seen from the side) and one for the tissue segment (i.e. the curve you need to mirror and cut out of tissue to get one segment. Assemble all the segments to get the parabolic reflector).

Curve resolution
Focal distance
Rod length
Rod curve
Tissue curve

By the way: you can easily generate the drawing in AutoCAD by typing pline, pressing enter and copying the series of points from this page into AutoCAD.

Update 30-Mar-2018
Reader Mike S. has ported my calculator from JavaScript to VisualBasic. Check out Mike's work here.