# How to implement deceleration and stopping over a certain distance [duplicate]

So I have a a character, say a spaceship. It needs to move distance R, and in direction T (Theta). So say if The object is at (0,0), and it needs to get to (4,3), it has R = 5 and T = about 36 degrees.

Essentially I know where the endpoint is, and the distance away. I want my spaceship to start decelerating when R becomes 8, and the object come to a halt when it reaches the location.

How can I do this. (Kinematics in answers is welcome)

• The question has been asked in a variety of forms. Search for arrival questions – MichaelHouse Apr 30 '13 at 1:58
• en.wikipedia.org/wiki/Acceleration equations on the wikipedia page as well. – UnderscoreZero Apr 30 '13 at 15:38
• @Byte56: I disagree about this being a duplicate of gamedev.stackexchange.com/questions/44400/…. That problem concerns specifically how to eliminate oscillation around an intended arrival point, when the approximate equations of motion are used, with variable acceleration. This question asks for how to resolve the equations of motion exactly when constant acceleration is assumed. This answer uses only Grade 11 physics, while the other requires at least 1st year, and perhaps a little 2nd year, university physics. – Pieter Geerkens May 2 '13 at 3:35
• I just picked the first arrival question I found. This question also fits. I didn't see constant acceleration implied anywhere in this question, I found the opposite with the "deceleration" wording. – MichaelHouse May 2 '13 at 11:21
• @Byte56: To a physicist, "Kinematics" = constant acceleration; "Dynamics" = (possibility of) non-constant acceleration. Possibly the OP didn't intend that, but it is what the question says; and OP marked my answer as accepted. – Pieter Geerkens May 3 '13 at 22:58

Here are 3 standard (pre-calculus) kinematics formulae covering the case of constant acceleration, each with one of the unknowns (t, v, or _d) eliminated:

1. v^2 = u^2 + 2 a d
2. v = u + a t
3. d = u t + a (t^2) / 2

where:

• u and v are the unitial and vinal (sic) velocities respectively;
• t is the time;
• d is the distance travelled in time t; and
• a is the constant acceleration

For your case you know u, v and d, and need to know a, so use formula (1), rearranged into:
a = (v^2 - u^2) / (2 d).

(2) and (3) can then be used to calculate v and d at each time until arrival.