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.
| pass | assumed flight | range to future position | flight 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
- Hannibal C. Ford, Range-keeper, US Patent 1,370,204, assigned to the Ford Instrument Company, filed 4 December 1917 and granted 1 March 1921. The primary document for the machine itself: it sets out the continuous solution, the integrating device that generates range from range rate, and the resolution of two ships' course-and-speed vectors into components along and normal to the line of sight. This is what the page models.
- navweaps.com, 16"/45 Mark 6, for the range table used here: elevation, range, angle of fall, time of flight and striking velocity for the AP Mark 8 shell at 2,300 feet per second. A secondary source, which names BuOrd OP 757 as its own. Fetched 2026-08-15.
- BuOrd OP 757, the primary range table these rows are transcribed from. Not read. Recorded here so the gap is visible rather than papered over, and so anyone who reaches it can check the two rows this page says are wrong.
- Logical Art, the studio this belongs to.