logo back up home forward   further reading more topics »

Physics - Kinematics - Linear Acceleration

If an object is moving at a constant acceleration (as it would be if acted on by a constant force see forces )

Its acceleration is given by:

a = dv / dT

or integrating:

v = ∫a dT

In the more general case of translation in 3 dimensions:

[a] =

Constant Acceleration (constant force)

If acceleration is constant, which happens when force is constant, so it is a common occurrence, for example when a body is falling in a gravity field.

These equations for uniform acceleration can be solved analytically to give the following equations which relate p, p0, v, v0, t and a in different ways:

where:
symbol
description
type
units
v0 initial velocity vector m/s
v final velocity vector m/s
a acceleration constant vector m/s2
t time scalar s
p final position vector m
p 0 position at t=0 vector m

These equations can be derived using calculus as follows:

Velocity is the rate if change of position:

a = dv/dt

So integrating both sides gives:

v = ∫a dt

so if a is constant:

v = v0 + a*t

I seem to remember that when I was at school this was written as:

v = u + a t

So integrating acceleration once gives the velocity, to get the position we need to integrate again:

p = ∫v dt

p = ∫(v0 + a*t) dt

p = p0 + v0 t + ½ a t2

Variable Acceleration - approximate methods

If we have an equation for the acceleration, as a function of time, we can apply integration to find the velocity and position, if we don't then we can use approximate methods such as finite difference method, Eulers Method or Runge-Kutta Method. If we are animating a computer simulation then this can be a very good method because we need to generate the position for each frame anyway, so is is much easier to generate the next frame from the frame before it.

vn+1 = vn + a * dt

where:
symbol
description
type
units
vn+1 velocity at frame n+1 vector m/s
vn velocity at frame n vector m/s
a acceleration vector m/s2
dt time between frame n and frame n+1 scalar s

and summing again:

pn+1 = pn + vn * dt

where:
symbol
description
type
units
pn+1 position at frame n+1 vector m
pn position at frame n vector m
vn velocity at frame n vector m/s
dt time between frame n and frame n+1 scalar s

These approximations can be made more accurate by using Eulers Method or Runge-Kutta Method

Representing Acceleration in program

Acceleration in 3D space can be held in a 3D vector (see class sfvec3f). For an example of how this might be used in a scenegraph node, see here.



metadata block
see also:

 

Correspondence about this page

Book Shop - Further reading.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

 

cover Engineering Mechanics - Includes Statics book and dynamics book below..

cover Engineering Mechanics Vol 2: Dynamics - Gives theory for rigid dynamics, aims to allow prediction of effects of force and motion. Includes rotating frame of reference. Lots of colour diagrams, I guess its college / University level.

Commercial Software Shop

Where I can, I have put links to Amazon for commercial software, not directly related to the software project, but related to the subject being discussed, click on the appropriate country flag to get more details of the software or to buy it from them.

us uk de SuSE Linux 11.2. Operating system with a wide range of applications including Open Office. A good distribution for developers as it contains KDevelop. Java, Mono, etc. Can install itself as a dual-boot system with an existing Windows OS if required. For information about installing it see this page.

 

This site may have errors. Don't use for critical systems.

Copyright (c) 1998-2012 Martin John Baker - All rights reserved - privacy policy.