On this page
Throw a ball at an angle and its velocity keeps turning downwards. Throw steeply enough and, at one instant, it points at exactly 90° to your launch direction. A single dot product finds that instant. The catch: for shallow throws, it never comes.
How do you use the dot product to find the time?
Two vectors are perpendicular exactly when their dot product is zero, because A · B = AB cos φ and cos 90° = 0 (OpenStax University Physics, section 2.4). In components, A · B = AxBx + AyBy, and that is the form you want here. If that feels shaky, our guide to finding the angle between vectors with the dot product covers it first.
For a projectile launched with speed u at angle θ, the horizontal velocity stays u cos θ because there is no horizontal acceleration, and the vertical velocity is u sin θ − gt (OpenStax University Physics, section 4.3). So:
Initial velocity: u = (u cos θ, u sin θ)
Velocity at time t: v = (u cos θ, u sin θ − gt)
Set u · v = 0:
u² cos² θ + u sin θ (u sin θ − gt) = 0
The two u² terms add to u², because cos² θ + sin² θ = 1. That leaves u² − ugt sin θ = 0, so t = u / (g sin θ).
Why does the launch angle need to be at least 45°?
The formula gives a time for every angle, but the ball must still be flying. On level ground the time of flight is T = 2u sin θ / g (OpenStax University Physics, section 4.3); our explainer on range, height and time of flight derives it step by step. Now require t ≤ T:
u / (g sin θ) ≤ 2u sin θ / g, which gives 1 ≤ 2 sin² θ, so sin θ ≥ 1/√2 and θ ≥ 45°.
That gives three cases:
θ above 45°: the velocity becomes perpendicular in mid-air, after the top of the path.
θ exactly 45°: t equals T, so it happens at the instant of landing.
θ below 45°: the formula gives a time after the ball has landed, so it never happens in flight.
The picture behind this: at t = T the vertical velocity is u sin θ − 2u sin θ = −u sin θ, so the ball lands moving at θ below the horizontal. Over the whole flight the velocity turns through 2θ and no more. To turn through 90°, you need 2θ ≥ 90°.
Worked example: 20 m/s at 60° and at 30°
We take g = 10 m/s² to keep the arithmetic clean; OpenStax uses 9.8 m/s² (section 4.3). Launch at u = 20 m/s and θ = 60°, so sin 60° ≈ 0.866.
Time: t = 20 / (10 × 0.866) ≈ 2.31 s.
Time of flight: T = 2 × 20 × 0.866 / 10 ≈ 3.46 s. Since 2.31 s is less than 3.46 s, the moment happens in the air.
Velocity then: vx = 10 m/s and vy = 17.32 − 23.09 ≈ −5.77 m/s.
Check: u · v = (10)(10) + (17.32)(−5.77) ≈ 100 − 99.9, which is zero up to rounding.
Speed then: √(100 + 33.3) ≈ 11.5 m/s, matching the general result u cot θ.
Now throw at the same speed but θ = 30°. The formula gives t = 20 / (10 × 0.5) = 4 s, but T = 2 × 20 × 0.5 / 10 = 2 s. The ball has already landed, so the answer is never.
Is there a faster way to check the answer?
Yes: a right triangle. Gravity only changes the vertical part of velocity, so v − u = −gt, pointing straight down. The vectors u, v and that change form a triangle, and if u and v are at right angles, gt is the hypotenuse. The side u makes an angle of 90° − θ with the vertical, so u = gt cos(90° − θ) = gt sin θ. That is t = u / (g sin θ) again.
A checklist for exam questions
Write u and v as components first.
Set u · v = 0 rather than guessing the angle of v.
Compare your t with T. If θ is below 45° on level ground, it never happens.
Your t should be later than the top time u sin θ / g. If not, look for a sign error in u sin θ − gt.
If the ball is launched from a height, T is longer, so recompute T instead of reusing the 45° rule. Comparing a computed time with T also settles questions about why a projectile reaches the same height twice.
For more questions like this, the Fermi Problem Library has worked problems with a step-by-step solver that explains the reasoning rather than printing an answer, so you can see where a sign went wrong.



