My original posting on this question generated quite a few replies,
for which many thanks.
I found the most useful pointer to the required algorithm was the link
to Mark Gerstein's site given by Ian,
and I have now programmed this in a C++ class using Clipper routines,
which I can make available if anyone wants it.
There are many programs which will give the direction of the rotation
axis, but defining a point lying on the axis, such that the minimal
translation is just along the axis (ie a screw) is a bit more elusive.
Thanks
Phil
On 29 Jul 2008, at 12:30, Ian Tickle wrote:
>
> Phil
>
> What I suggested works only if the point x is transformed onto itself,
> i.e. there's no screw component.
>
> The general solution is here:
> http://bioinfo.mbb.yale.edu/geometry/screw-axis/
>
> There may be a neater way of deriving this in the general case using a
> homogeneous matrix & co-ordinates but I haven't worked it out yet!
>
> Cheers
>
> -- IAn
>
>> -----Original Message-----
>> From: [log in to unmask]
>> [mailto:[log in to unmask]] On Behalf Of Phil Evans
>> Sent: 29 July 2008 09:11
>> To: [log in to unmask]
>> Subject: Rotation axis
>>
>> If I've go a superposition transformation (x' = Rx + t), as
>> it happens
>> from a superposition in ccp4mg, how do I get the position &
>> direction
>> of the rotation axis (to draw in a picture)?
>> I know that any (orthonormal) transformation can be represented as a
>> rotation about an axis + a screw translation along that axis
>>
>> I'm sure I've done this before ...
>>
>> thanks
>> Phil
>>
>>
>
>
|