This article was published in the Royal Institute of Navigation's quarterly Journal in 1992 (Vol 45, p 138). I wrote it to dispatch "two-body" as having no practical use.
* * *
THE TWO-BODY FIX AT SEA
Mike Pepperday
Navigation by direct computation of position from observations to two bodies was used at sea. Calculation of the incorrect of the possible two solutions was avoided but the method was still found inconvenient because it copes only with two bodies, it cannot cope with more than one sight to each body, and is of no use when there is only one body. The standard intercept method copes with all these situations and is mathematically more elegant.
Many people have pointed out that if the altitudes of two astronomical bodies are measured the observer's position can theoretically be directly calculated. How does the approach work out in practice on the high seas?
Chiesa and Chiesa1 give some mathematics to solve for position mentioning that they have published a manual with a BASIC program. Following from them Spencer2, describes an approach using an 8K Sharp PC1500 pocket computer. Bowditch3 set out a proposal made by one Charles T Dozier in 1949, Bennett4 set out a general solution with a worked example and the Appendix here gives a short solution for a calculator.
The "two-body problem" seems to surface periodically. Bennett quoted Sadler5 as remarking in 1977 that it has been discussed and investigated often. I think what draws us to a two-body solution is a perception that the Marcq St. Hilaire or intercept method is mathematically inelegant. Why use an estimate of your position if you can solve directly for your true position? Spencer says it "seems rather incongruous" and expresses the hope that small boats will use "this convenient method". Chiesa and Chiesa say, "Simply by entering the sextant readings into the calculator the coordinates of the vessel position are immediately obtained."
That is how I reasoned too-and crossed an ocean with it.
In 1982, preparing for my first ocean voyage I looked through some navigation texts, concluded they were mathematically illiterate, and decided that there was not going to be any pussyfooting around with estimated position for me. I would compute latitude and longitude directly. I dug out some old surveying notes, chose some formulae and programmed a Hewlett-Packard HP34C calculator. I used it, along with the Nautical Almanac, for an eight-day crossing of the Coral Sea from Gladstone to Noumea. Sextant navigation was the sole means of position fixing.
There are two places where the position circles intersect which means there are two possible solutions. Since the observer is only at one of them elegance is obviously not served by computing both. Computing both places then rejecting the wrong one is the way everyone says to do it (as I have since found out) but it is not necessary. You can compute the correct one merely by saying which body is to your left hand and which is right. This is very simple but no-one seems to have thought of it before. Mathematically it means determining one sign, plus or minus (see Appendix).
That halved the calculating time which was good because this HP was something of a model T among calculators, keeping me waiting around for a minute and a half for each computation, and because on my very first twilight I struck a snag. I had observed four bodies but the method only copes with two. I shot four because I was a surveyor and that is what cautious, thorough surveyors did in pre-satellite times. [Aside: sailors should do it too: four stars-not three, not seven-distributed evenly around the horizon at azimuths 90° from one another, is the optimal pattern, whatever navigators have been doing for the last two hundred years.] To cope with the four I had to compute two sights at a time. This gave four intersections. Four lines actually give six intersections but only four are good "cuts".
So there was a blemish on the elegance: instead of a fix, I had four fixes.
Take the simple average? No. The average of some or all intersections does not yield the theoretically correct fix and (probably more importantly) the very purpose in doing more than two sights is to catch mistakes. If I'd just computed the average I would not know if it was distorted by a blunder. The way to tell was to plot the four points. Joining the plotted points gave the four position lines-obviously, since the very definition of the points is that they are the intersections of position lines. They form a box shape, the centre of which is the fix. It is then plain whether the fix is consistently either behind all lines or in front of all the lines. "Behind" or "in front of" are with respect to the direction of each body. If they aren't consistent it would indicate a mistake somewhere.
So the direct solution which I had originally aimed for not only did not give one solution, but had me drawing position lines and inferring a fix graphically. It is an unwieldy method of drawing the lines, too, because it requires plotting four sets of latitude and longitude.
It occurred to me that sometimes there might only be one body. The weather was fine so I was getting noon sights but obviously it could happen that you observe one body and need the position line from it. A running fix is all very well but you don't necessarily want to hang around for some hours in the hope of getting another shot. How to get the position line from the two-body program?
The solution was to introduce a fictitious sight of altitude 90° to a fictitious star with declination and GHA which were the estimated latitude and longitude. I recall the program "crashed" because it was trying to divide by zero or something but there was a fiddle to get around that. The computation yielded a point on the position line. With the azimuth available from another register it was possible to plot the point and draw the position line through it.
So now I was introducing the estimated position just as in the standard intercept method. As I realised later, the point computed was simply the point where, conventionally, the intercept meets the position line.
There was another complication. I would no more rely on one sight per body than I would rely on one intersection. I was taking four sights to each body and averaging them (i.e., averaging the times and altitudes) before beginning the two-body intersection calculations. Averaging sights is fundamentally bad practice: it may conceal a mistake, it allows poor sights to influence the result and is itself a mistake-prone operation. But what option was there? Imagine the chaos if I had computed the intersections of each sight of each star with each sight of each other star.
By the time we arrived in New Caledonia the supposedly elegant two-body solution had become a collage of ad hoc "workarounds."
In the light of this consider the advantages of the intercept method:
* The intercept method covers all circumstances-a single sight for position line or a number of sights to several bodies. You always do the same thing.
* An altitude intercept has intrinsic meaning since it is an expression of the error in your estimated position. You have an immediate indication of how well you are dead reckoning.
* Averaging sights is unnecessary. Since the intercepts from multiple sights should all be the same their consistency is, quite directly, the consistency of your shooting. Any actual misreading of clock or sextant is obvious.
* If your position estimate was good-this will be apparent from small intercepts-it is usually not necessary to plot the lines.
* If you do plot the lines a rough sketch will usually do and it is convenient since they all refer to the one point, namely the estimated position which you have probably already marked on your chart.
* The rigorous "best fit" fix from azimuths and intercepts is very easy to compute for any number of sights (see, e.g., the Nautical Almanac, page 282). It would be less mathematics than computing a single two-body intersection. Granted, if a calculator computes a fix then the actual formulae it is using are academic, however as far as I know no-one has developed any method of rigorously computing a best fit fix other than via intercepts.
A claimed advantage of the two-body solution is that you don't "need" an estimate of position. This advantage is imaginary: you know your approximate position. Why not use it?
Some object that Marcq St. Hilaire gives an error because the lines are assumed straight whereas they are really curved. Over the years this has been put to me in correspondence many times. I always write back and ask for an example-place, time, altitude, etc and error incurred. Nobody has ever given me one. I am beginning to think this error is also imaginary.
All that should be persuasive-but of course it is written with the wisdom of hindsight.
Meanwhile, back in Noumea, I bought a faster, if otherwise more primitive, Sharp EL 512 calculator and abandoned two-body for modified Sumner, or "long by chron." That is: computing the longitude for a specified latitude and drawing the position line through it perpendicular to the computed azimuth. A calculator makes this approach feasible even for bodies near the meridian. In November 1982 I crossed the Coral Sea from north to south with it and found it effective. This was followed by another journey with modified Sumner and another year or so of rumination before I finally joined all the right-thinking people and settled on the intercept method.
Ironically, it wasn't really the above arguments that persuaded me. What convinced me was the realisation that estimating an answer and computing an improvement to it is a standard and fundamental mathematical approach. It has been for hundreds of years. In short, I became satisfied that the Marcq St. Hilaire, or intercept, method was mathematically elegant.
APPENDIX
To find latitude and longitude from two bodies solve in sequence:
1. -dG = GHA1 - GHA2
2. tan (A12-180`) = sin dG / (cos dG sin dec1 - tan dec2 cos dec1)
3. sin (90°-S) = cos dec1 cos dec2 cos dG + sin dec1 sin dec2
4. cos W = sin alt2 / (cos alt1 cos (90°-S)) - tan alt1 tan (90°-S)
5. A' = A12 ± W Subtract if body1 was right hand
6. tan (LHA1-180°) = sin (-A') / (cos A' sin dec1 - tan alt1 cos dec1)
7. sin lat = cos dec1 cos alt1 cos A' + sin dec1 sin alt1
8. long = LHA1 - GHA1
Lat and dec are negative south and longitude is negative west. A12 is the azimuth from body1 to body2; S is the interstellar distance; W is the clockwise angle at body1 from the body2 to the observer; A' is the azimuth to the observer from body1. There are no trigonometrical ambiguities and the denominator in formula 4 can never be zero.
Formulae 6 and 7 are the same as 2 and 3 except for the exchange of - A' for dG and alt1 for dec2, which means that one routine will do both if it includes a couple of memory swaps. The tangents of formulae 2 and 6 must be solved rigorously-on a calculator use the rectangular-to-polar function and do not execute the division.
If GHA Aries is programmed then when both bodies are stars for convenience modify 1 and 8 to:
1. -dG = SHA1 - SHA2 + 15.041(GMT1 - GMT2)
8. long = LHA1 - SHA1 - GHA Aries at GMT1
Solution by sine rule may be substituted for cosine formulae 3 and 7, viz:
3. cos (90°-S) = cos dec2 sin dG / sin A12
7. cos lat = cos alt1 sin (-A') / sin LHA1
On a calculator these save space because they are a by-product of the "polar" arctangent of formulae 2 and 6. However signs for (90°-S) and latitude must be inserted manually. By doing this, I managed to fit the whole task, along with an Aries almanac, on the 128 step Sharp EL 512 calculator. On Casio, Texas Instruments and Hewlett-Packard calculators the polar-to-rectangular function accepts a negative value for the "radius" which makes it possible to write a very brief program using the unambiguous cosine forms.
The reversed tan values aren't actually necessary here but programming them like this makes them general solutions for humans. An idiosyncrasy of calculators and computers is that they yield arctan between -180° and +180°, hence solving for the reverse direction and adding 180° yields the result in the range 0 to 360°. The point of this would be that if the above formulae are programmed to take data from memories, then by storing other numbers in the memories they will solve nearly every spherical problem: prediction, position line, long by chron, star identification and great circles.
REFERENCES
1 Chiesa, A. and Chiesa, R. (1990). "A mathematical model of obtaining an astronomical vessel position."
This Journal, 43, 125.
2 Spencer Bernard. (1990). "Astronomical fixes without an assumed position." This Journal, 43,
449.
3 Bowditch, Nathaniel. (1977). American Practical Navigator (page 591), US Defense Mapping Agency.
4 Bennett, G. G. (1979). "General conventions and solutions-their use in celestial navigation."
Navigation, 26, 275. ION, Washington.
5 Sadler, H. (1977). "Comments on the geometry of two-body fixes." Navigation, 24, D281. ION,
Washington.