{"calculator":{"slug":"throws-distance-calculator","math":{"href":"https://www.tracktoolspro.com/api/calculators/throws-distance-calculator","jsonPointer":"/calculator/math","version":"2026-10-21.1","implementationVersion":"b5a8aca7b85361476e0321a08b7fa5f516fc9535","scope":"Canonical HTTP function and documented corresponding mounted-form math. This is public inspectable documentation, not access control or independent empirical validation.","unitNotation":"Input paths use [] and *; output paths are JSON Pointers with * (one segment) and ** (descendants). Empty output path denotes scalar result. Units apply to numeric quantities or explicitly described numeric strings; labels/statuses/booleans are dimensionless. More specific units, including count/index exceptions, override broad patterns.","interfaceNotes":["HTTP input is described by the adjacent inputSchema. The original handlers may accept numeric strings; this metadata adds no validation.","Mounted forms accept displayed clock/unit strings and enforce their own limits. Mounted tools limit strings to 200 characters and numeric parts to magnitude 1000000. Do not assume mounted/API input interchangeability.","Some legacy extreme/invalid tuples can produce null/empty results or nonfinite numbers serialized as null. Those are unavailable answers, not exact numerical predictions. Per-calculator domain describes the intended mathematical inputs."],"kind":"idealized-physics","implementationFiles":["lib/formulas/projectile.ts"],"equations":["theta=angleDeg*pi/180; vx=velocity*cos(theta); vy=velocity*sin(theta); t=(vy+sqrt(vy^2+2*g*releaseHeight))/g.","distance=vx*t; maxHeight=releaseHeight+vy^2/(2*g); optimalAngle=atan(velocity/sqrt(velocity^2+2*g*releaseHeight))*180/pi (zero velocity convention:0).","optimalDistance=projectileDistance at optimalAngle; distanceDiff=optimalDistance-distance, using raw ranges before rounding."],"inputUnits":{"velocity":"m/s","angleDeg":"degree","releaseHeight":"m"},"outputUnits":{"/distance":"m","/timeOfFlight":"s","/maxHeight":"m","/optimalAngle":"degree","/optimalDistance":"m","/distanceDiff":"m"},"domain":["API finite velocity/height>=0, angle0..90deg."],"rounding":["Distances/time0.01; optimalAngle0.1degree; Math.round."],"assumptions":["Uses the entered values and the selected convention; this documentation does not strengthen existing validation."],"limitations":["Ideal gravity-only point projectile. No drag, lift, spin, landing geometry or release-speed/angle coupling; not a prediction of official implement distance."],"mountedPageNotes":[],"workedExamples":[{"input":{"velocity":14,"angleDeg":38,"releaseHeight":2},"expected":{"/distance":21.68,"/optimalAngle":42.4},"absoluteTolerance":1e-8,"note":"Illustrative canonical-handler result; not independent validation of an empirical model."}],"constantsAndTables":{"gravityMetersPerSecondSquared":9.81},"sources":[{"title":"Canonical HTTP binding at the documented implementation revision","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/calculator-functions.ts","note":"Existing calculation handler; math metadata is additive."},{"title":"lib/formulas/projectile.ts","url":"https://github.com/wickthumb/track_tools_pro_marketing/blob/b5a8aca7b85361476e0321a08b7fa5f516fc9535/lib/formulas/projectile.ts","note":"Primary implementation source for these equations/tables, not a claim of scientific calibration."}]},"annotations":{"readOnlyHint":true,"consequentialHint":false},"name":"Throws Distance Calculator","description":"Physics-based calculator for shot put, discus, javelin, and hammer throw. Analyze release angle, velocity, and height to optimize throwing technique and calculate potential distance gains.","category":"Field Events","method":"POST","endpoint":"/api/calculators/throws-distance-calculator","page":"/calculators/throws-distance-calculator","inputSchema":{"type":"object","required":["velocity","angleDeg","releaseHeight"],"properties":{"velocity":{"type":"number","description":"Release velocity in meters per second.","minimum":0},"angleDeg":{"type":"number","description":"Release angle in degrees.","minimum":0,"maximum":90},"releaseHeight":{"type":"number","description":"Release height above landing surface in meters.","minimum":0}}},"example":{"velocity":14,"angleDeg":38,"releaseHeight":2}}}