Projectile velocity at time
One second after a launch at 20 m/s and 45°, how fast is the ball moving and where is it pointing? Get the speed, the angle above the horizontal and the horizontal and vertical parts at any moment you choose. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Speed
- 20
- Angle
- 45
- Time
- 1
- Gravity
- 9.80665
- Speed
- 14.791769184
- Direction deg
- 17.0437132008
- Vx
- 14.1421356237
- Vy
- 4.3354856237
After a ball, rocket model or sports projectile leaves the launcher, its velocity vector keeps changing under gravity even when air drag is ignored. Horizontal speed stays constant while the vertical component falls linearly with time, so both the magnitude and the flight-path angle at any later instant are pure textbook kinematics. This projectile velocity at time calculator accepts launch speed, elevation angle and elapsed seconds (plus optional gravity) and returns the instantaneous speed, direction above the horizontal, and the separate horizontal and vertical components.
What velocity at time means under ideal projectile motion
Ideal projectile motion treats the launch as a single initial velocity vector on flat ground with constant downward acceleration and no air resistance, wind or spin. Resolve the launch speed into horizontal and vertical pieces with the usual trigonometry: the horizontal component is launch speed times cosine of the elevation angle, and the vertical component is launch speed times sine of that angle. Because there is no horizontal force in the vacuum model, the horizontal component never changes with time.
The vertical component decreases at rate g, so after elapsed time t it equals the initial vertical component minus g times t. The instantaneous speed is the Euclidean magnitude of those two components, and the instantaneous direction is the two-argument arctangent of vertical over horizontal, reported in degrees above the positive horizontal axis. A positive direction means the projectile is still climbing; a negative direction means it has passed the apex and is falling.
At the apex the vertical component is zero and the direction is zero degrees while speed equals the constant horizontal component alone. This capability computes that full velocity state for any non-negative time you supply; it does not stop at landing or invent ground collision. If you need range, flight time or peak height instead, use the sibling projectile calculators that integrate until height returns to the launch height.
How to choose speed, angle, time and gravity inputs
Speed is the full launch magnitude in metres per second, not a single component. It must be a positive finite number; zero or negative magnitudes are rejected because they do not define a physical launch for this tool. Angle is measured above the horizontal in degrees and must lie in the closed interval from zero to ninety, matching the usual ground-launch geometry used by the related range and flight-time calculators.
Zero degrees is a pure horizontal throw whose vertical component starts at zero and becomes more negative as time advances; ninety degrees is a pure vertical shot whose horizontal component stays zero while the vertical component rises then falls. Time is elapsed seconds after launch and must be finite and non-negative. Gravity defaults to the conventional standard of nine point eight zero six six five metres per second squared when omitted, which matches common engineering tables for Earth.
Override gravity for lunar problems, classroom exercises that fix g at ten, or game worlds with custom acceleration. Keep units consistent throughout: metres and seconds for speed, time and g, degrees only for the angle fields. Mixing kilometres per hour with a g expressed in centimetres will produce a mathematically coherent but dimensionally wrong story for your problem statement.
Reading the result and using it in homework or pipelines
A short formula string restates the identities so you can show them beside a worksheet answer, and a units object labels each physical field for clients that render mixed SI displays. Failed validation never charges balance. Typical checks include confirming that at t equals zero the speed equals the launch speed and the direction equals the launch angle, confirming that when vy crosses zero the direction is zero and speed equals vx, and confirming that complementary launch angles share the same initial vertical component only when sines match.
When drag, Magnus force or uneven terrain matter, treat these vacuum components as the ideal baseline and compare them against your more detailed simulator rather than replacing that model entirely.
What you can do with it
Physics homework mid-flight checks
Verify student calculations of speed and flight-path angle at a stated time after launch for vacuum projectile problems with fixed g.
Sports and ballistics rough estimates
Get instantaneous vacuum velocity components for a ball or projectile at a chosen clock time before layering drag or wind in a fuller model.
FAQ
What formula does the projectile velocity at time calculator use?
Angle θ is converted from degrees to radians internally.
Does the calculator include air resistance?
No. Motion is constant-gravity kinematics with no drag. Real projectiles slow and curve differently; use the result as an ideal baseline.
Can I set gravity for the Moon or a classroom value of 10?
Yes. Pass a positive gravity in m/s². If you omit the field, standard Earth gravity 9.80665 m/s² is used.
Is the projectile velocity at time calculator free?
The browser tool is free and runs entirely on your device.
What does a negative direction angle mean?
It means the projectile has already passed its highest point and is falling. A positive angle means it is still climbing, and at the top the direction is exactly zero degrees.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/mech/projectile-velocity-at-time \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":20,"angle":45,"time":1}'const res = await fetch("https://api.kit.forhosting.com/mech/projectile-velocity-at-time", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 20,
"angle": 45,
"time": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/mech/projectile-velocity-at-time",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 20,
"angle": 45,
"time": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/mech/projectile-velocity-at-time", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":20,"angle":45,"time":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":20,"angle":45,"time":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/mech/projectile-velocity-at-time", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"speed": 20,
"angle": 45,
"time": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "mech.projectile_velocity_at_time",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The free browser path and the API share the same analytic module; successful API calls bill at the published base price of $0.002 per request, while invalid input such as negative time is never charged.
How to choose speed, angle, time and gravity inputs
Negative time is physically meaningless as an elapsed clock and always fails with invalid_input rather than extrapolating the trajectory backward.
Reading the result and using it in homework or pipelines
A successful response returns the instantaneous speed in metres per second, direction_deg as the flight-path angle above the horizontal, the Cartesian components vx and vy, plus echoes of launch_speed, angle_deg, time and the gravity actually used. API automation bills at $0.002 per successful item; keep requests small and pin the cleaned floats in tests for reproducible goldens across runtimes.
Integration use cases
Game and simulation golden tests
Assert deterministic speed and direction at tick t under ideal gravity so CI does not depend on external physics services.
Technical questions
Why is negative time rejected?
Elapsed time after launch cannot be negative. The capability returns invalid_input for time < 0 instead of inventing a pre-launch trajectory.