Page actions
instrument mechanism / verified-clean
Projectile Range & Trajectory Plotter mechanism
The inspectable method record for Projectile Range & Trajectory Plotter, kept separate from implementation and qualification.
Model scope
The level-ground equations are valid. The instrument needs an explicit offset-height implementation, an unambiguous definition of H, explicit angle units, domain constraints, and a specified positive-root policy before it can be verified as fully specified.
- The level-ground formulas are standard and correct under uniform gravity, no air resistance, and equal launch/landing elevation.
- For h0 != 0, saying only 'use quadratic on y(t)=0' is underspecified: the implementation must use y(t)=h0+v0 sin(theta)t-(g/2)t^2, select the physically relevant nonnegative landing-time root, and compute R=v0 cos(theta)T.
- H is ambiguous when h0 != 0: the listed formula gives the height gained above launch point, whereas the absolute maximum height above the ground is h0+v0^2 sin^2(theta)/(2g).
- The trajectory equation and the method for converting time to plotted x values are not explicitly stated; they should be x(t)=v0 cos(theta)t and y(t)=h0+v0 sin(theta)t-(g/2)t^2.
- The specification does not define behavior for degenerate or invalid cases such as g<=0, v0<0, angles with cos(theta)=0, h0<0, or a launch from ground with theta=0 degrees.
Units and conventions
- Use SI units: v0 in m/s, g in m/s^2, h0, R, H, x, and y in m, and T in s.
- The test vectors assume angle is supplied in degrees; the implementation must explicitly document degrees versus radians and convert degrees before evaluating trigonometric functions.
- Assume uniform constant gravitational acceleration, no drag, no wind, and a flat horizontal landing plane at y=0.
- For h0=0, H is both the maximum height above launch point and the maximum height above the ground. For h0!=0, report absolute maximum height separately from height gained above launch.
Inspectable vector
One of 4 source-bound review vectors:
{
"inputs": {
"v0_m_per_s": 10,
"angle_deg": 45,
"g_m_per_s2": 9.8,
"h0_m": 0,
"sample_x_m": [
0,
5,
10
]
},
"expected_outputs": {
"R_m": 10.2040816,
"H_above_ground_m": 2.55102041,
"H_gain_m": 2.55102041,
"T_s": 1.44307506,
"sampled_points": [
{
"x_m": 0,
"y_m": 0
},
{
"x_m": 5,
"y_m": 2.55
},
{
"x_m": 10,
"y_m": 0.2
}
],
"roots_x_m": [
0,
10.2040816
],
"vertex": {
"x_m": 5.10204082,
"y_m": 2.55102041
}
},
"working": "For theta=45 degrees, sin(theta)=cos(theta)=sqrt(2)/2 and sin(2theta)=1. T=2*v0*sin(theta)/g=2*10*(sqrt(2)/2)/9.8=14.1421356/9.8=1.44307506 s. R=v0^2*sin(2theta)/g=10^2*1/9.8=100/9.8=10.2040816 m. H=v0^2*sin^2(theta)/(2g)=100*(1/2)/(19.6)=50/19.6=2.55102041 m. Since x=v0*cos(theta)*t and y=v0*sin(theta)*t-(g/2)t^2, eliminating t gives y=x*tan(45 degrees)-g*x^2/(2*v0^2*cos^2(45 degrees))=x-9.8*x^2/(2*100*0.5)=x-0.098x^2. Thus y(0)=0, y(5)=5-0.098*25=2.55, and y(10)=10-0.098*100=0.2. The roots are x=0 and x=1/0.098=10.2040816. The vertex is at x=R/2=5.10204082 and y=2.55102041."
}Failure boundary
BREAK_CLAIMED · SELF_FLAGGED
The specification does not state validation behavior for g=0 or for a downward launch angle. Without guards, g=0 causes division by zero and a negative launch angle can produce negative or otherwise invalid flight-time and range results if the level formulas are applied mechanically.
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