<!-- Generated by tools/physics.ts. Do not edit by hand. -->
To-Hit Physics: Angular Size
Every to-hit calculation reduces to one question: how large does the target appear, compared to how badly the shot scatters?
theta = 1000 * size(m) / range(m) [milliradians]
This is what lets the scales interrelate. Angular size is scale-free, so one equation covers infantry, mechs, vehicles and capital ships.
Hit probability uses a separable Gaussian over the target rectangle:
P = erf( w / (2sqrt(2)sigma_x) ) erf( h / (2sqrt(2)*sigma_z) )
An earlier version modelled targets as circles using their smallest axis. That discarded most of the presented area of every elongated target — which is to say, of people, vehicles and ships alike — and made a braced rifle unable to hit a standing man at 500 m even with a laser rangefinder. Real marksmanship qualification says otherwise, so the circle is gone.
Independent error sources still combine in quadrature.
Presented target profile
Both axes matter, and so does how hard a target can manoeuvre — lateral acceleration is what bounds evasion, and it is why a fighter is a hard target and a frigate is not, however fast either travels.
| Target | Width | Height | Sustained lateral g | Scale |
|---|---|---|---|---|
| Crouched human | 0.6 m | 1 m | 0.6 g | 0 |
| Standing human | 0.5 m | 1.8 m | 0.6 g | 0 |
| Powered armour | 1 m | 2.2 m | 1.2 g | 1 |
| Light vehicle | 2 m | 1.6 m | 0.8 g | 2 |
| APC / tank | 3.5 m | 2.4 m | 0.5 g | 2 |
| Light mech | 4 m | 8 m | 0.6 g | 2 |
| Heavy mech | 7 m | 12 m | 0.4 g | 3 |
| Aerospace fighter | 12 m | 4 m | 9 g | 3 |
| Dropship | 40 m | 18 m | 3 g | 4 |
| Frigate | 180 m | 30 m | 0.5 g | 5 |
| Capital ship | 600 m | 90 m | 0.15 g | 6 |
Angular size (mrad), width x height
| Target | 50 m | 100 m | 250 m | 500 m | 1 km | 2.5 km | 10 km | 100 km |
|---|---|---|---|---|---|---|---|---|
| Crouched human | 12.0x20.0 | 6.0x10.0 | 2.4x4.0 | 1.2x2.0 | 0.60x1.0 | 0.24x0.40 | 0.06x0.10 | 0.01x0.01 |
| Standing human | 10.0x36.0 | 5.0x18.0 | 2.0x7.2 | 1.0x3.6 | 0.50x1.8 | 0.20x0.72 | 0.05x0.18 | 0.01x0.02 |
| Powered armour | 20.0x44.0 | 10.0x22.0 | 4.0x8.8 | 2.0x4.4 | 1.0x2.2 | 0.40x0.88 | 0.10x0.22 | 0.01x0.02 |
| Light vehicle | 40.0x32.0 | 20.0x16.0 | 8.0x6.4 | 4.0x3.2 | 2.0x1.6 | 0.80x0.64 | 0.20x0.16 | 0.02x0.02 |
| APC / tank | 70.0x48.0 | 35.0x24.0 | 14.0x9.6 | 7.0x4.8 | 3.5x2.4 | 1.4x0.96 | 0.35x0.24 | 0.04x0.02 |
| Light mech | 80.0x160 | 40.0x80.0 | 16.0x32.0 | 8.0x16.0 | 4.0x8.0 | 1.6x3.2 | 0.40x0.80 | 0.04x0.08 |
| Heavy mech | 140x240 | 70.0x120 | 28.0x48.0 | 14.0x24.0 | 7.0x12.0 | 2.8x4.8 | 0.70x1.2 | 0.07x0.12 |
| Aerospace fighter | 240x80.0 | 120x40.0 | 48.0x16.0 | 24.0x8.0 | 12.0x4.0 | 4.8x1.6 | 1.2x0.40 | 0.12x0.04 |
| Dropship | 800x360 | 400x180 | 160x72.0 | 80.0x36.0 | 40.0x18.0 | 16.0x7.2 | 4.0x1.8 | 0.40x0.18 |
| Frigate | 3600x600 | 1800x300 | 720x120 | 360x60.0 | 180x30.0 | 72.0x12.0 | 18.0x3.0 | 1.8x0.30 |
| Capital ship | 12000x1800 | 6000x900 | 2400x360 | 1200x180 | 600x90.0 | 240x36.0 | 60.0x9.0 | 6.0x0.90 |
What "equal angular size, equal difficulty" does and does not mean
It holds for the weapon dispersion term only, which is genuinely range-invariant in milliradians. It does not hold once the environment is included: angular wind error grows with range, lead error grows with time of flight, and atmospheric distortion over 10 km is nothing like 100 m. A frigate at 10 km through atmosphere is not the same shot as a human at 100 m at matched angular size.
The scale-free claim is a statement about the geometry of aiming, not about the whole engagement. It is what lets one table serve every scale; it is not a promise that scale never matters.
Weapon and fire control
Fire control does not merely tighten dispersion. It measures crosswind and tracks target motion, so it removes part of the bias terms too — which is most of what it actually buys.
| System | Dispersion (1 sigma) | Wind compensated | Lead compensated |
|---|---|---|---|
| Missile, terminal guidance | 0.02 mrad | 100% | 100% |
| Capital gun, full fire control | 0.05 mrad | 95% | 90% |
| Tank main gun, modern FCS | 0.2 mrad | 90% | 80% |
| Mech mount, gyro-stabilised | 0.3 mrad | 85% | 75% |
| Precision rifle, braced, optics | 0.4 mrad | 70% | 30% |
| Autocannon, stabilised | 0.6 mrad | 80% | 60% |
| Infantry rifle, trained, braced | 1 mrad | 50% | 20% |
| Infantry rifle, standing, stressed | 4 mrad | 20% | 10% |
| Sidearm, combat conditions | 12 mrad | 0% | 0% |
| Unaimed / suppressive | 30 mrad | 0% | 0% |
Base hit chance, clean conditions
Standing human (0.5 x 1.8 m), no wind, no target motion, perfect ranging.
| Weapon | 100 m | 300 m | 500 m | 800 m | 1200 m |
|---|---|---|---|---|---|
| Tank main gun, modern FCS | 3 | 3 | 5 | 7 | 10 |
| Mech mount, gyro-stabilised | 3 | 4 | 7 | 10 | 12 |
| Precision rifle, braced, optics | 3 | 6 | 9 | 11 | 14 |
| Autocannon, stabilised | 3 | 8 | 11 | 14 | 17 |
| Infantry rifle, trained, braced | 5 | 11 | 14 | 18 | 21 |
| Infantry rifle, standing, stressed | 12 | 21 | lock req'd | lock req'd | lock req'd |
| Sidearm, combat conditions | 21 | lock req'd | lock req'd | lock req'd | lock req'd |
| Unaimed / suppressive | lock req'd | lock req'd | lock req'd | lock req'd | lock req'd |