pp - plot parabola (in postscript so ppp)

parabola half parabola

This makes parabolas for designing small parabolic reflectors. My application was WiFi so I didn't need anything bigger than 2 sheets of paper. If you need to make a big one, use the string and nails method to make an oval (see bottom), then only use part of it. Google it: there's more math involved than you think, and the string's doing most of it. But really, a simple parabola is just y = x2, how complicated is that? Call it y = x*x if that makes you more comfortable.

Running as just ./pp gives a default parabola with the quadratic equation y = 0.198347107438017 * x2 + 0 + 0 and output file name parl-0.198347-0-0.ps which will fit on one sheet of 8-1/2 x 11 paper.

This only deals with "letter" sized 8½ x 11 paper, sorry if A4 is the norm where you live. You can get your money back. :)

You can supply 3 coefficients for the parabola like "pp 0.1 0 0" and they will get used and also get included in the filename. You could script this to see the effect of varying one cofficient.

If you supply 3 coefficients then a -w you get half a parabola taking up one full page, so print 2 then turn one over, this lets you make a bigger reflector. This was the original mode.

You can send the output file to a Postscript printer or edit it. Under unix, use gs or ghostview to look at it, maybe ps2pdf to make a pdf from it. Under Windows, Adobe Distiller (comes with the free Acrobat) will convert to PDF. I can't afford a Mac, so I don't know much about them.

The focal point is always marked, but is given by 1/(4 * a) as the distance from the back of the reflector, inline with the center the other way.

This deals entirely with Postscript, which is closely related to PDF and eps. I've done graphics in several environments, this was easy once I spent a day or so reading then experimented a little. Clue: Postscript is a tiny bit like an RPN calculator: the numbers come first, then the verb, like "3.60 20.0216 lineto". Nothing actually draws without a "stroke" command after it, the page won't draw without a "showpage" at the end. Natively all graphics coordinates are in points (1/72 inch), which was adequate so I used them, but it can scale.

This came about because, like a lot of things, I needed to do it myself to have it done the way I wanted. I wanted a parabola, but I wanted a focal point that was accurate. I found some GUI approaches but they left me feeling a little squeamish. I wanted something to print on letter paper, and if the focal point is supposed to be at 1.26 inches, I expect to measure with my digital calipers that the mark is at 1.26 inches on the paper. So I went direct to the printer language (HP laser printer, does Postscript natively, no A4 tray). Don't scale the output. Actually scaling may not matter, as long as you use the printed focal point mark that's also scaled, not the calculated focal point measurement. I think it's unitless, you could use cubits, it's the ratio that's important.

This was vaguely influenced by a Windows program called "Parabola Calculator" by ?. That's written in Visual Basic 6 and I've looked in the source code and on the web site for the author's name. I hadn't looked at any VB code in years, I'm glad I use Delphi when in Windows instead. He went to a lot of work.

I did try to model the antenna with NEC2 and MMANA-GAL, see wo but hit (1.) a known problem in NEC2 and (2.) the free MMANA-GAL being limited to 512 wires. Ez-nec, forget it.

the tarball

And, if you want it, the PDF from the left image above, a whopping 4331 bytes for a full-page PDF. Amazing what you can do without bloatware. Efficiency is pretty awesome.

string and
The string & nails method

Move the pen around to draw a line, the string limits where it can go, but keep the string tight as you draw. Throw half away: each end is a parabola, the hole where the nail was is the focal point. Use this method if you need a parabola bigger than your printer can print.

Alan Corey, ab1jx 4/11/2014

AB1JX / calcs