The type of steering used by cars is basically "bicycle" steering, where
there is a fixed rear wheel (or set) and one or more front wheels, some distance
"L" from the rear wheel, which turn at an angle alpha or "a". There
will be slight differences between the angles of multiple front wheels, but
those can be averaged for the sake of simplicity in the model. The entire
vehicle is located at some x and y coordinate and oriented at some angle
theta or O. We can use the letter d for the distance the
vehicle moves forward or backword. If the front wheels are not turned, a
= 0, then:
x' = x + d * cos(O)
y' = y + d * sin(O)
When the front wheel is turned, then the vehicle will rotate about a point cx,cy to the side by an angle beta or B at a distance R
B = d / L * tan(a)
R = d / B
Note: R also equals L / tan(a)
cx = x - R * sin(O)
cy = y + R * cos(O)
O' = (O + B) mod 2 * Pi
x' = cx + R * sin(O' + B)
y' = cy - R * cos(O' + B)
Code:
See also: