PHYSICS / EXPERIMENT WITH THE AIR

The air changes everything.

Start with an ideal arc. Add drag, change the mass, turn up the headwind. Compare both flights in 3D, inspect the numbers and export a calculation you can reproduce.

Start with a question

01 / SET THE LAUNCH

A flight you can inspect.

0° is horizontal; 90° points up. Negative angles point down. The landing surface is always at height 0 m.

Vacuum-only target angles

Loading the target solver…

This angle solver ignores air. It changes only angle, keeping speed, height and gravity. Switch to Vacuum to use it; it does not solve a drag-and-wind target.

Compare two independent flights

Set your baseline, pin it as A, then edit any setting for current flight B. A stays unchanged until you replace or clear it.

No baseline pinned. Try the compact-ball example, pin it, then choose the lighter ball.

Your launch values stay in this tab.

VACUUM / ANALYTICLOCAL · NO AUTOPLAY

DRAG TO ORBIT · GREEN = ACTIVE FLIGHT · AMBER = MOVING POINT · FOCUS + SCROLL TO ZOOM

The preview fits the flight using equal axis scales.

Landing position x—negative means left of launch
Time in flight—until first ground contact
Peak height—above the ground

Preparing the flight…

Nothing plays automatically. Choose Play or drag the time slider.

Inspect sampled states from the current flight

These nine inspection points are equally spaced in time. Choose one to move the timeline. CSV contains 241 samples; the drag solver may use many more internal steps.

Current model, SI units
Time (s)x (m)Height (m)vₓ (m/s)vᵧ (m/s)

UNDERSTAND / CHECK / REUSE

The numbers behind the arc.

The vacuum baseline.

With air absent, horizontal velocity stays constant and gravity changes vertical velocity. Both coordinates share the same clock.

x(t) = v cos(θ) t
y(t) = h + v sin(θ) t − ½gt²

The flight ends at ground contact. A downward or horizontal launch starting on the ground has no airborne flight. The default example starts in this analytic mode.

Check the default example.

At 20 m/s, 45°, height 0 m, g = 9.81 m/s², the object travels 40.775 m, stays airborne for 2.883 s, and reaches 10.194 m.

Change the angle to 30° and then 60°. They reach the same ground range but take different paths. That symmetry applies only when launch and landing heights match.

Target angles are vacuum-only.

In vacuum, a reachable ground target can have a low arc and a high arc at the same speed. At maximum range they merge. From a raised point, the low solution may point down.

The tool supports −89° to 90°. These solutions are not drag-corrected; their buttons are disabled in air mode. There is no numerical target-angle optimizer here.

Take the flight into your work.

The CSV contains 241 equally timed points, with the start and analytic or numerically refined landing, plus position, velocity, speed, launch settings, model name, air parameters and solver details. Zero-duration flights export one point.

Drag samples use cubic Hermite interpolation between integrated states. Values are written to 12 significant digits for reproducibility, not as an accuracy guarantee. In vacuum rows, air fields are zero because they are not used.

What this model cannot predict.

This is a point-particle model with constant gravity, fixed drag coefficient, fixed density and steady horizontal wind. There is no lift, spin, turbulence, changing orientation, buoyancy, bounce, terrain or Earth curvature.

Do not use it for launch safety, engineering certification or predicting a real landing location. Constant quadratic drag does not describe every flow regime. The path is planar; displayed marker sizes are symbolic.

Sources & privacy.

The vacuum equations follow OpenStax University Physics §4.3; the drag law follows §6.4: Drag Force and Terminal Speed. Its sphere coefficient of 0.45 is a teaching approximation, not a universal measured value.

Every parameter and calculation stays in this tab. No account, upload or server simulation is involved. Numeric results still work when 3D graphics are unavailable.

Drag follows the air, not the ground.

The drag magnitude grows with the square of air-relative speed. Its direction opposes velocity relative to the wind, so a tailwind may push a slower object forward.

u = (vₓ − wind, vᵧ)
k = ρ Cd A ÷ (2m)
aₓ = −k |u| uₓ
aᵧ = −g − k |u| uᵧ

Try “A windy drop”: a stationary object can move left without an initial horizontal throw. Change −8 m/s to +8 m/s and the horizontal motion reverses.

A solver with visible limits.

Air mode uses deterministic fourth-order Runge–Kutta integration. Each step is at most 0.02 s (standard) or 0.005 s (fine), and gets smaller when drag changes velocity rapidly. Ground crossing and the peak are refined with 28 bisection iterations.

There is a hard limit of 120 simulated seconds and 20,000 steps. Very stiff or unfinished flights are rejected and exports are disabled. A finer step helps check numerical convergence; it cannot fix inaccurate physical assumptions.

Make a controlled A/B comparison.

Choose “Compact ball”, pin this flight as A, then choose “Same launch, lighter ball” for B. The purple A path and its parameters remain fixed while green B changes. Only mass changes in this example, from 0.145 kg to 0.020 kg. A larger force-to-mass ratio changes the trajectory more.

A/B exports include both parameter sets, each flight’s own time samples and B−A differences in JSON. This is separate from the blue vacuum reference, which always follows the current launch. Neither a percent change nor a causal conclusion is inferred when several settings differ.

Supported inputs: speed 0–100 m/s, height 0–100 m, gravity 0.1–30 m/s²; mass 0.001–1,000 kg; coefficient 0–2; frontal area 0–10 m²; density 0–2 kg/m³; wind −50 to +50 m/s. Not every combination finishes within the solver budget.

Keep exploring.