From: Josh Vermaas (vermaas2_at_illinois.edu)
Date: Tue Feb 26 2013 - 09:34:01 CST

Hi Daniel,

The method for large (4 or more atom) atom selections is the Kabsch
algorithm (http://en.wikipedia.org/wiki/Kabsch_algorithm breaks apart
the steps quite nicely. Links to the publications are at the bottom).
The translation matrix you want will just be the last column of the 4x4
matrix that measure fit returns (and ones along the diagonal), and the
rotation matrix will be the upper 3x3 submatrix of the measure fit
result. This will only break your rotation into two pieces, and if you
want to break up the transition into more smooth steps, you can use a
quaternion-based interpolation between the unrotated and fully rotated
states. The newer beta builds of VMD also have some user-accessible
quaternion support, so those might also be helpful.

-Josh Vermaas

On 02/26/2013 04:43 AM, Daniel Klose wrote:
> Dear John,
>
> thank you for your answer! ... After looking up the Jacobi method, I got your point why there is no internal composition of the measure fit matrix. This leads me to a couple of short follow up questions:
>
> Is the algorithm used by measure fit published anywhere?
>
> Could the translation matrix computed in the first step by VMD be obtained separately or is it simply the 3x3 unit matrix with the 4th column of the measure fit matrix?
>
> Could you elaborate on your suggestion to use quaternions instead for the interpolation between start and final structure? I've got an idea what they are, but how would I apply them to this problem?
>
> Thank you for your help!!
> With best wishes,
> Daniel
>
>
>
> Am Montag, 25. Februar 2013 22:11 CET, John Stone <johns_at_ks.uiuc.edu> schrieb:
>
>> Hi,
>> You say you want to compute "intermediate steps" in a rotation.
>> What is it that you plan to do with them? Depending on what it is, you
>> might be able to interpolation between the starting and final orientation
>> using a quaternion, or something similar, without having to reverse-engineer
>> the RMS alignment code in VMD -- the fitting routines in VMD internally
>> compute a translation matrix and rotation matrix in two discrete steps,
>> but the rotation matrix is computed in an iterative Jacobi solver,
>> not in terms of a sequence of separate rotation steps.
>>
>> Cheers,
>> John Stone
>> vmd_at_ks.uiuc.edu
>>
>> On Fri, Feb 22, 2013 at 05:16:23PM +0100, Daniel Klose wrote:
>>> Dear VMD users and developers,
>>>
>>> I'm interested in decomposing the rotation matrix returned by measure fit into its components so that I can do intermediate steps in the given rotation.
>>>
>>> I assume the matrix is a product of a translation matrix and a rotation matrix around an arbitrary point (or three rotations about the origin and a translation?), but writing down the matrix equations I found that I seem to need to know a more exact convention ... Could someone tell me?
>>>
>>> And is there maybe an independent way to figure out the translation vector and/or the rotation center? Without, this problem may be underdetermined.
>>>
>>> Thank you for your help!!
>>> Daniel
>>>
>>> --
>>> Daniel Klose
>>> University of Osnabrück
>>> Department of Physics, Room 32/341
>>> Barbarastr. 7
>>> 49076 Osnabrück
>>> Germany
>>>
>>> daniel.klose_at_uos.de
>>> phone +49 541 969 2465
>> --
>> NIH Center for Macromolecular Modeling and Bioinformatics
>> Beckman Institute for Advanced Science and Technology
>> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
>> http://www.ks.uiuc.edu/~johns/ Phone: 217-244-3349
>> http://www.ks.uiuc.edu/Research/vmd/ Fax: 217-244-6078
>
>
>
>