I actually started this "tutorial" trying to answer a question about how to do this. The question was basically "How do you rotate a ship realistically with engines places in several locations and at different angles".

So, this tutorials shows how to do that. More specifically, it shows how to apply "acceleration" to 2D objects which allows you to "push" the object at any point on the object. In this tutorial, the thing doing the pushing will be the ship's engines which will be attached to the ship at the engine's push point and push in the direction the engine is facing.

This turns out to be a physics problem that almost requires vectors to solve. But I'll try and make that as easy as possible for those not particularly familiar with vectors. You still will likely want to read my Vector tutorial first, if you are not pretty solid with vector math.

It should also be noted that this is probably where you want to get started learning vehicle physics whether you will be working in 3D or 2D. Even though this is in 2D, all the principles will apply in 3D. 3D will just be more complicated. So, understanding it in 2D first will help. Furthermore, acceleration is fundamental to all vehicle physics, whether we are talking about space ships, cars, or boats. There will be some sort of acceleration acting on all of them. Plus, for most of them there will be additional forces at work. Gravity may not affect spaceships, for example, but it will be an additional acceleration beyond what we are talking about here.


Source Code


Some of the concepts that you’ll learn from this tutorial are:

Acceleration of 2D Objects



Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla tempor libero leo, nec condimentum massa. Sed elementum nisi in velit lobortis varius. Mauris pulvinar ullamcorper metus eget rhoncus. Curabitur venena

 Source Code



The Holodeck




Future Use