1935–1991

Rangekeeper

A sixteen-inch shell is in the air for most of a minute. The gun cannot be aimed at the target; it has to be aimed where the target will have got to. But how far ahead you aim depends on how long the shell flies, and how long it flies depends on how far it has to go. The answer appears on both sides of the equation, and that is why this was a machine rather than a sum.

The loop

Set the two ships moving. The mechanism guesses a time of flight, works out where the target gets to in that time, measures the range to there, reads a new time of flight off the gun's range table, and goes round again. Each pass is shown. It stops when the range stops moving.

Each pass of the loop, and the range it settles on
passassumed flightrange to future positionflight for that range

Settled after 3 passes.

range when it lands
19,413 yd
time of flight
31.42 s
gun elevation
13.64°
lead ahead of the target
0.26°
inside the range table
yes

What it cannot know

Everything above assumes the target holds its course for the whole time of flight. It has no way to check. Turn the target part-way through the shell's flight and the solution is still confident and now wrong.

the shell misses by
204 yd
A turn inside the time of flight is a miss the mechanism cannot see coming.

Why this had to be a machine

Hannibal Ford's own patent describes the machine as one for furnishing continuous indications of the range rate and the deflection rate, and also for generating the range, built around an improved form of integrating device for generating the range from the range rate. Continuous is the operative word, and generating rather than calculating is the other one.

Write the problem down and it will not sit still. The future range is the distance to wherever the target gets to in T seconds. T is the time of flight for that range, which the gun's range table gives you. Neither can be worked out first, because each one needs the other.

A rangekeeper did not solve that by trying values. It was built so that the two statements were the positions of two shafts, geared so that they could only agree, and the mechanism ran continuously into the position where they did. When the inputs moved the shafts moved with them and the solution followed, which is what "continuous" meant and why the thing kept producing an answer while the ship heeled and the range closed. The table above steps the loop so you can watch it settle; the machine did not step, it just settled.

The range table was a physical object

The ballistics on this page are not computed from a formula. They are read from a published range table for the 16-inch 45-calibre Mark 6 gun, which is how the machine did it too: the table was cut as a cam, a shaped piece of metal whose profile was the curve, and a follower riding that profile interpolated between the printed rows as a matter of geometry rather than arithmetic.

That is also where this page's honesty starts, because the table it uses has an error in it.

What is real here, and what is not

The range table is a secondary source, and it has two errors

The rows come from navweaps.com, which names its own source as BuOrd OP 757. That primary document has not been read: at the time this page was built the usual hosts for it refused every automated request, and rather than pretend otherwise the table is labelled secondary and the fact is recorded in the data file beside the rows. Two errors are visible in the transcription and are left uncorrected on purpose. Elevation cannot fall as range rises below forty-five degrees, and the published table prints 36.18 degrees at 35,000 yards and then 36.08 degrees at 36,800 yards, so one of those is wrong. Separately, a maximum ordinate is given as 7,670 feet and 234 metres, and 7,670 feet is 2,338 metres. The test suite asserts that the first of those breaks exactly once and that it is the row already recorded as broken, so quietly fixing it would turn this page red rather than let it drift.

The interpolation is straight, and a cam's was not

Between two printed rows this page moves in a straight line. A machined cam followed a smooth curve fitted to the whole table, so it disagreed with a straight line everywhere except at the rows themselves. The difference is small next to everything else here and it is real, so it is written down rather than implied away.

This is the geometry, not the machine

A real rangekeeper solved a considerably larger problem than this page does: own ship's roll and pitch, the parallax between turrets that are a hundred feet apart, wind, drift from the shell's own spin, powder temperature, barrel wear, and the corrections a spotter called back after each salvo. None of that is here. What is here is the part that makes it a computer rather than a calculator, which is the loop, and that part is complete and checked.

The loop is stepped here and was continuous there

The passes in the table are an artifact of doing this in software, and they are shown because the settling is the subject. The mechanism had no passes. Its answer was wherever the shafts came to rest, and it moved to a new rest position as the inputs changed, without ever computing an intermediate guess. That is a real difference in kind and not just in speed.

It is a weapons system, and this page is about the computing

What is modelled here is mechanical analogue computation: an implicit equation solved by a mechanism built so that its own geometry is the answer. The machine existed to lay guns on ships, and saying otherwise would be a lie of omission. It is a decision on the record that the subject is worth explaining as computing history, and the context is not softened here or elsewhere on the page.

Two methods, because a fixed point is easy to get wrong

The loop is one way to find where the two statements agree. The test suite finds it a second way, by bisection on the difference between the two sides, sharing no code with the first, and requires the two answers to agree to within a millisecond. A single method checked against itself proves nothing, and this is the sort of arithmetic where a plausible wrong answer looks exactly like a right one.

Sources