### Steering your car

Calculating the turn radius of a car is not so difficult. All the
information we need is in the diagram. The radius of the turn is marked
with **R** and there are only two factors that influence
it. These are the steering angle of the front wheels and the wheelbase
of the car.

From our everyday experience we all know that the more we turn the
steering wheel the harder the car turns. The other factor, the wheelbase,
is not so obvious, because we usually overcome its consequences with
the steering wheel. Nevertheless we all know that smaller cars are more
agile in confined spaces. This is because they have shorter wheelbase.

From Euclidian geometry we know that the steering angle (δ) is the
same as the angle at the center of the turn marked with the same letter,
(their respective sides are perpendicular). Now from elementary trigonometry
we know that

sin(δ) = Wb / R (1)

where **Wb** is the wheelbase of the car and **
R** is the radius of the turn.

When you turn the steering wheel the car starts moving on a circle.
The distance covered is still determined by the speed and the time interval.
Only this time the final position is slightly to the right or left,
and your heading has changed accordingly. In order to determine the
resulting position and heading we have to find the angular velocity
of the car. This is given by the formula

ω = v / R (2)

Where **ω** is the symbol used for the angular
velocity,
**v** is the linear velocity and **R** is
the turn radius.

If we are driving at low speed, or we assume infinite grip these
equations are all we need to calculate the position and heading of our
car. In real world the tyres start to slip as the speed increases and
the car might slide to the side. The final movement is much more complicated
and beyond the scope of this article.

For the purpose of this article I have created a little
application to demonstrate the behavior of the steering wheels. If
you refer to the simple application
tutorial you will notice that the two samples are almost the
same. This is true. The only change I had to make was to remove the
direct modification of the direction angle and calculate it using
the equations given in this article.

You will notice that the code needed to make the imaginary car
move in a realistic manner is very little. How much code do you need
anyway for the two equations above?

Download the sample for this
article from here.