Here is some under thinking.
One non-linear variable is the vertical spread at different ranges caused by muzzle velocity spread. A 308 Win bullet drops about 0.2 inch (0.2 MOA) more at 100 yards for each 50 fps less muzzle velocity. At 1000 yards, it's about 20 inches (2.0 MOA) more. Drop in each 100 yards of range is directly portional to time of flight across each.
Whatever that is for the ammo can be changed by the LOF angle above the LOS for each shot as the bullet leaves. The muzzle axis angle vibrates mostly vertical. All bullets don't leave at the same angle to the line of sight.
One non-linear variable is the vertical spread at different ranges caused by muzzle velocity spread. A 308 Win bullet drops about 0.2 inch (0.2 MOA) more at 100 yards for each 50 fps less muzzle velocity. At 1000 yards, it's about 20 inches (2.0 MOA) more. Drop in each 100 yards of range is directly portional to time of flight across each.
Whatever that is for the ammo can be changed by the LOF angle above the LOS for each shot as the bullet leaves. The muzzle axis angle vibrates mostly vertical. All bullets don't leave at the same angle to the line of sight.