⚠ Panning the View — please read
When you zoom in, or with high launch velocities, parts of the trajectory (apex, landing, vectors) can sit outside the visible canvas.
To pan: press and hold any empty area of the canvas for about half a second (≈ 600 ms). An amber border appears and the canvas enters PAN MODE.
While in pan mode, drag in any direction to move the view. The scene is clamped to the trajectory extent (plus room for vectors), so you cannot pan off into empty space.
A short tap (no drag) in pan mode exits pan mode.
The ↺ button resets zoom and pan to the natural view.
Zoom
+ and − buttons (top-right of the canvas) zoom in / out. Each tap multiplies / divides the zoom by 1.15, so multiple taps give fine control.
Zoom is around the canvas centre. To focus on a different point, zoom in then pan.
Displayed numbers (velocity, range, height, etc.) are identical at every zoom level — only the visual size changes. Hand calculations always match the simulation.
Launch parameters
Velocity, Angle, Height control the projectile's launch state. Mass is in grams (10 g – 5000 g — covers everything from light balls to small shot puts).
When drag is enabled, Drag Coeff (0.05–1.0) and Area (5–500 cm²) sliders appear. Together these determine how strongly drag affects the flight.
Launch 🚀 animates a fresh flight; Reset 🔄 returns to t = 0.
Scrubbing through time
Drag the Time slider or drag the projectile itself along the trajectory to step through the flight. Vectors update live at every instant.
Vectors and components
Tick Velocity, Components, Weight, etc. in the panel below the canvas to display the corresponding vectors. Lengths are proportional to magnitudes.
Click / tap a vector to lock its numerical value on screen. Click again to hide.
Tick Show Values to display all numerical values at once.
Drag a numerical label to move it if it covers something you want to see.
Drag
Tick Show Drag in the panel below the canvas to enable drag. The drag force is modelled as F = ½ρv²CdA, integrated using RK4 for accuracy.
Two parameters control drag strength: Drag Coeff (Cd) for the shape (~0.47 sphere, ~1.0 flat plate), and Area for the cross-section. To see strong drag effects, use low mass and large area (think shuttlecock or ping-pong ball).
Energy bars
Tick Show Energy Bars for live KE, GPE and total-energy display. Drag the energy panel to reposition it on the canvas.
Units adjust automatically — J for small values, kJ for larger. When drag is on, a "Lost" readout shows total dissipated energy.
Motion graphs
Click the 📈 Graphs button above the canvas to open a floating graph window. The main canvas stays interactive behind it; drag the window's header to move it if it obscures something, and drag the bottom-right corner to resize it (handy for projection or for separating overlapping coordinate labels).
Six graph types via header buttons:
• Height vs time — y(t). Parabolic without drag, asymmetric with drag.
• Vertical velocity vs time — vy(t). Linear without drag; curves toward terminal velocity with drag.
• Speed vs time — |v|(t). V-shape minimum at apex.
• Energy — KE, PE and Total on one plot. Total is flat without drag (conservation), slopes down with drag (dissipation).
• Range vs angle — sweep of range across all launch angles. Peak at 45° from ground level; shifts below 45° from height. (No-drag only in v1.)
• Custom… — choose any X and Y from the dropdowns. Covers position, velocity, energy, and (when drag is enabled) drag-force quantities — over 25 combinations across the A-level / IB syllabus.
Live linkage: scrubbing the time slider or dragging the projectile updates the graph marker instantly. The reverse also works — drag the marker on the graph to scrub time (or sweep angle/velocity/height for parameter graphs).
With drag enabled: time-axis graphs show the drag-modified curve in amber with the no-drag reference in teal behind it. A small legend in the top margin identifies which is which. Parameter-sweep graphs (Range vs angle, etc.) are not available with drag in v1.