On Aug 6, 2010, at 7:27 AM, Keren Lasker wrote:
> you can transform a rigid body with respect to the origin center
> using: IMP::core::transform(RigidBody, Transformation3D)
> On Aug 6, 2010, at 6:20 AM, Benjamin SCHWARZ wrote:
>
>> Hello list,
>>
>> The information is probably mentioned somewhere but I happened to
>> miss it, so just to be sure can you please confirm that :
>> 1.) IMP rotations (Rotation3) are always origin centered
Indeed. However there are functions (eg get_rotation_about_point()) to generate a Transformation3D that corresponds to a rotation about an arbitrary point.
>> 2.) a RigidBody's transformation is composed of a rotation (about
>> the body center in internal coordinates) and a translation from
>> origin to body center; thus body.get_coordinates() always provides
>> the coordinates of the rigid body mass center.
All Transformations a single rotation and transformation. For rigid bodies, the centroid of mass (no actual mass is used, I recall, each particle is considered as equal) is at the origin of the internal reference frame upon creation. However one can add members to rigid bodies after creation to break this invariant.