I wonder if this could be simplified to a best approximation? Since the Inertia tensor is rather complex and is difficult to calculate for complex bodies like ships, even if they are made of blocks, it might be prudent to approximate all ships as boxes defined by their largest dimensions. Then the inertia tensor is the same for every ship. It would then only scale with 4 variables, Length, Width, Height, and Mass. While this would not be completely accurate,but It would be computationally simple and would give the appropriate scaling.
For reference:
You can further simplify the rotation by always having the point of rotation be about the center of the box.
Turning is then simple to calculate.
Edit: typos
For reference:
I_i=(M/12)[(d_j)^2 +(d_k)^2]
Where i,j,k are separate dimensions, M is mass, and d is the length in a given dimension.
So, if you want the inertia around the x axis:
I_x = (M/12)[(d_y)^2 +(d_z)^2]
about y:
I_y = (M/12)[(d_z)^2 +(d_x)^2]
The total inertia is calculated on based on 3 equations.
Where i,j,k are separate dimensions, M is mass, and d is the length in a given dimension.
So, if you want the inertia around the x axis:
I_x = (M/12)[(d_y)^2 +(d_z)^2]
about y:
I_y = (M/12)[(d_z)^2 +(d_x)^2]
The total inertia is calculated on based on 3 equations.
You can further simplify the rotation by always having the point of rotation be about the center of the box.
If you chose to not rotate about the center of the box the equations are still rather simple, though you have to calculate where the center is.
I'_i= I_i+M(r_i^2)
where I_x is the inertia about the center of the box and r is the offset along the same axis.
I'_i= I_i+M(r_i^2)
where I_x is the inertia about the center of the box and r is the offset along the same axis.
Turning is then simple to calculate.
a=T/I
a is the acceleration. T is the thrust value assigned to that axis, and I is the inertia calculated above.
a is the acceleration. T is the thrust value assigned to that axis, and I is the inertia calculated above.
Edit: typos