The single valued angle arc setting does not allow you to say, have thruster left side of the ship fires when turning right and vice versa. Nor it does allow us to have thrusters that have stronger output if it's further away from centre during rotation. A thruster facing backwards and angle offset other than the simple 0, 90, 180, 270 cases will sometime result in completely wrong application of thrusters.
I propose a proper utilisation of mathematics to create realistic thruster action. You should read the following only if you understand rotational moments and the difference between translational and rotational accelerations, and vector mechanics; otherwise it'd be a waste of your time
![Smile :)](./images/smilies/icon_smile.gif)
Ideally, a thruster off centre should have stronger effect with greatest turning moment. The turning moment is found by thruster force * the shortest perpendicular distance from the thruster's facing axis and the ship's centre point. The longer this length is, the stronger the thruster's contribution to the rotational action. This should translate to a more pronounced thruster effect (Note that the thruster force is the unknown here and what we want to realistically display). This is due to the fact that if you want the ship to rotate spending the least amount of fuel to get the most rotation done, you put all your energy in firing the thruster that contribute most rotational moment.
For translational movements, the thruster effect scale should be implemented as well for the above reason. This is relatively easy. The cosine of angle between the offset (facing) of the thruster (the offset needs to subtract 180 degrees but this is irrelevant to the point of discussion) and the x component of ship's acceleration vector is the contribution to translational movement in of that thruster in x direction, and it's effect should scale by multiplying this factor. Similarly, the sine of angle of the offset of the thruster and the y component of the ship's acceleration vector is the contribution of movement of the thruster in y direction.
The x y direction are local coordinate system of the ship, i.e. invariant to the ship's facing. Whether you need to convert using trigonometry to a global coordinate system depends on the game's implementation. I am sure the devs'd understand. Of course the devs can add a further scaling field on the thruster to add moddability to allow disabling or multiplication of the scaling factor.
By using this translational thruster power scaling factor, thrusters that face backward 180 degrees will fire at maximum (cos 0 = 1) when the ship try to accelerate purely forward. Similarly, thruster that face 30(minus 180) degrees will have a strength of cos 30 = 0.707 when ship is going purely to the bearing of 0; while haveing a strength of cos 0 = 1 when the ship try to accelerate into a bearing of 30 degrees.
The rotational moment is a bit more tricky. You need vector mechanics to determine the shortest perpendicular distance between the centre of the ship (coordinate 0,0) and the axis made by the offset angle of the thurster. You find the shortest perpendicular distance by performing a dot product of the thruster offset vector and the ship facing vector. This is the problem of finding a shortest distance between a line (imagine the infinite axis depicting the facing of a thurster) and a point (centre of the ship, i.e. core). The procedure is similar to this. After the distance is found, it is normalised against all other distances, and multiplied by the rotational acceleration magnitude of the ship. By using this principle, any thruster in any facing or position will fire realistically toward ship's rotation.