# Rotate a rigid body not around its centre of mass

I have a rigid body (a boat) whose centre of mass is towards the front of the object. However, this makes the rotation look strange as the rudder that is turning the object is at the back of the boat so the rotation would be around that point.

How can I rotate the object from the a separate point (using forces) without changing the centre of mass?

Applying a force at a location still causes the object to rotate around the centre. In real life, you need to pin down the point that you want to rotate around, forcing the object to rotate around that point.

This would suggest using constraints but I can't figure out how that would work. You sort of need the rotation point to act as a hinge, but when I apply a suitable constraint, but that would just block the rotation rather than convert it into a rotation around the new point.

I want to resolve this using physics driven operations in Unreal Engine 4.

I don't want to move the Centre of Mass, admittedly for not a particularly good reason, but this still feels like a valid question even if that was an option - what if you want to rotate around two different points.

• How does it look strange? Are you able to turn on the spot (without moving)? If so, maybe the better (and more realistic) approach might be forbidding turning? If that's not an option, just rotate the object rather than applying forces only? Jul 2, 2015 at 19:05
• Instead of applying the simple rotation R, apply a convoluted transformation T R T* where R is the rotation you desire; T is the translation from the Centre of Mass to the desired rotation point; and T* is the inverse of T. Jul 2, 2015 at 22:01
• @Mario Strange because the back of the boat swings out rather than the front of the boat being driven. You are able to turn on the spot, but that is intentional and I'm not worried about that element. Jul 3, 2015 at 8:32
• @PieterGeerkens I don't see how I can apply a convoluted transformation to a physics driven object, are you proposing disabling the physics simulation, applying the rotation and resuming? I would really rather avoid this as the physics simulation is quite complex. Jul 3, 2015 at 8:41
• Objects in real life always rotate about their center of mass. There may be forces that act on a boat's hull (hydrodynamic) that you are not taking into consideration that can cause a difference between what a real boat rotation looks like and your simulation. These forces can be summed to a single vector with magnitude that would fit into your physics engine and simulate it accurately. Your job is to determine the force vectors affecting your hull based on your hull shape... or just 'wag' it and create an arbitrary point on the boat and call it CofM for turning purposes. Jul 3, 2015 at 14:53