As with any thing you want to use that is an offset from a value, you
need to keep track of the offset and subtract it when you set the
value. For ease with rigid bodies, compute the centroid in the rigid
body frame (or apply the inverse transform to map a point in external
coordinates) and then rotate the internal coordinates and subtract
them before setting when you want to set the translational part of
the coordinats later. Make sense?
If you don't care what centroid you use, just use the rigid body
center (since it is currently a unwejghted centroid and will at most
change to a weighted centroid).
On May 25, 2009, at 2:01 PM, Keren Lasker <> wrote:
I know Daniel ....
This is how I solved it now - but I would like to change the
centroid of the rigid body after an optimization stage since it is
part of a bigger optimization protocol.
On May 25, 2009, at 1:54 PM, Daniel Russel wrote:
Assuming you want to transform, say, the input pdb, then just get
the transformation immediately following creation and compose with
that (since the initial transform has not moved the object).
On May 22, 2009, at 10:27 PM, Keren Lasker <>
wrote:
thanks - but what I want to do is different from RigidBodyMover as
the transformation should be absolute and not relative.
On May 22, 2009, at 9:40 PM, Dina Schneidman wrote:
it is rigid body internal coord. transformation.
you can move by composing it with your move. take a look at
RigidBodyMover.cpp propose_move func.
On Fri, May 22, 2009 at 7:43 PM, Keren Lasker
<> wrote:
Is the transformation given in set_transformation relative to a
global
internal coordinate system or to the rigid body internal
coordinate system
?
If the answer is that it is relative to the rigid body internal
coordinate
system -how can you move the rigid body to a specific position
in space ?