heheheh I believe this is exactly what I've been told quite a few times
I think the issue that is confusing you is that the angle a car is rotated, or its direction, affects the direction that its motor accelerates the vehicle. When you press left/right keys you want to change the rotational acceleration and when you press up/down you want to change the translational acceleration.
I guess I wasn't clearing understand that rotation is totally seperate from acceleration.
The part I don't understand from that is how they both interact to give the final position vector?
I had created a thread on stack overflow and it's possible I just wanted to solve the problem asap so i reverted back to the old method of having a speed variable being increased by acceleration * deltaTime and then using this speed * math.cos/sin(dir) get my velocity vector.
link to my question on stackoverflow: http://stackoverflow.com/questions/7312773/mathematical-vectors-and-rotations-topdown-java-game-dev-physics-problem
I really want to go back to the other way though - that is using an acceleration vector - but I'm unsure of how rotational acceleration and translational acceleration fit together to give the final position. In addition apparently using two vectors (I'm guessing the rotational and translational acceleration) would give increasingly bad results? --- if you see the stackoverflow thread
[in the situation where we have 2 vectors for acceleration] is that, in this one, the small errors mean that the speed will increase if you steer the car left and right, even if you don't touch the "up" key -- whereas, in the other one, that sort of cross-error doesn't happen because we keep the speed and steering separate.
My reason to wanting to go back to using 2 vectors? If I ever want to implement drifting? apparently this is the way to go... sooo am I stuck between a rock and a hard place?