> direction += rotation;
> double ax = acceleration * cos(direction);
> double ay = acceleration * sin(direction);
The first question to ask would be what units your angles are measured in.
Because the usual expectation for something human readable would be degrees.
But the sin/cos function expect the more mathematically natural units of radians.