Page actions
instrument mechanism / verified-clean
Projectile Motion Solver mechanism
The inspectable method record for Projectile Motion Solver, kept separate from implementation and qualification.
Model scope
The honest-label vacuum trajectory unless drag model enabled is appropriate, but the current specification is not sufficient for a correct optional-drag implementation. The declared height input is ignored by the listed no-drag formulas, and the listed drag equation is not a valid complete 2D projectile model. Verdict is FAIL until the nonzero-height equations and a fully specified vector drag integrator are implemented.
- The no-drag formulas R=v²sin(2θ)/g, h=v²sin²(θ)/(2g), and t=2v sin(θ)/g assume launch and landing elevations are equal and launch height is zero. They do not correctly use the declared height input.
- For nonzero launch height H, the no-drag flight time must be t=(v0 sinθ+sqrt((v0 sinθ)²+2gH))/g, range=v0 cosθ·t, and absolute maximum height is H+(v0 sinθ)²/(2g).
- The stated drag equation dv/dt=-g-kv|v|/m is a one-dimensional scalar equation, not a complete 2D projectile model. Quadratic air drag should use vector acceleration ax=-(k/m)|v|vx and ay=-g-(k/m)|v|vy, where |v|=sqrt(vx²+vy²).
- The drag implementation does not specify a numerical integration algorithm, timestep, landing-event interpolation, or convergence/termination tolerance, so drag outputs are not deterministic or reproducible.
- The drag parameter k is ambiguous: it could be a quadratic-drag parameter rho·Cd·A, with units kg/m, or another coefficient. If Cd is supplied, air density and reference area are also required.
Units and conventions
- Angles are assumed to be in radians by the trigonometric formulas; if the UI accepts degrees, it must explicitly convert degrees to radians.
- v0 is in m/s, height and range are in m, g is in m/s², mass is in kg, and flight time is in s.
- The no-drag formulas assume a uniform gravitational field and no air resistance.
- For a quadratic drag model written as k|v|v, k has units kg/m; k/m therefore has units 1/m.
- The supplied standard-atmosphere air density is unused unless k is derived from rho, drag coefficient Cd, and frontal area A.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"mode": "no_drag",
"v0_m_per_s": 20,
"angle_deg": 45,
"launch_height_m": 0,
"g_m_per_s2": 9.81,
"sample_x_m": [
0,
10,
20,
40.77472
]
},
"expected_outputs": {
"range_m": 40.77472,
"max_height_above_launch_m": 10.19368,
"absolute_max_height_m": 10.19368,
"flight_time_s": 2.883208,
"trajectory_y_m": [
0,
7.5475,
10.19,
0
],
"apex_x_m": 20,
"roots_m": [
0,
40.77472
]
},
"working": "Convert angle: theta=45*pi/180=pi/4. sin(theta)=sqrt(2)/2 and sin(2theta)=1. Range=(20^2)(1)/9.81=400/9.81=40.77472 m. Maximum height=20^2(0.5)/(2*9.81)=200/19.62=10.19368 m. Flight time=2*20*(sqrt(2)/2)/9.81=28.284271/9.81=2.883208 s. With y(x)=x*tan(theta)-g*x^2/(2*v0^2*cos^2(theta))=x-9.81*x^2/400: y(0)=0; y(10)=10-981/400=7.5475 m; y(20)=20-3924/400=10.19 m; y(40.77472) is approximately 0. The apex occurs at half the range, x=20 m."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The optional-drag branch is not reproducible from the specification because its numerical integration settings and drag-vector interpretation are unspecified. The solver also needs explicit validation for zero mass and explicit angle units; otherwise it can produce undefined or physically nonsensical results.
Other records
Sources and evidence
These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.
VERIFIED_LEDGER.jsonevidence-tranche6/tranche6-results.jsonBOUNDARY_HAZARD_CATALOG.json