[Chimera-users] Chimera-users Digest, Vol 38, Issue 12

Thomas Goddard goddard at cgl.ucsf.edu
Fri Jun 16 15:44:58 PDT 2006

```Hi Jonathan,

I'm confused about what you want for defining motion in animations.
You lost me in this paragraph:

> Perhaps it was misleading to mention the use of 'matrixset'.  I
> appreciate that it is more trouble to deal with external files, but if
> it is not possible to easily implement the interpolation I'm looking
> for dynamically within Chimera's Python (due to required math
> libraries, etc) then I would have to hard-code the interpolation
> matrices into the .py script file anway, defeating the purpose.

In order to cause an interpolated model motion from a script I envision a
command like:

movemodel #1 -0.0111371 0.570901 0.820943 -117.863 0.640072 -0.626684 0.444493 -121.042 0.768233 0.530413 -0.358438 -132.976 0.067350 0.359127 0.930855 -94.4361 0.783716 -0.596423 0.173398 -121.535 0.617456 0.717847 -0.321623 -142.360 30

Ugly yes.  It has the model number, followed by 12 values for the
starting 3 by 4 matrix, followed by 12 values for the destination
matrix, followed by a frame count (30 in the example).  Maybe it would
be neater to name the matrices but the Chimera command language does
not have variables so it would require an additional special command.
The example handles just the case of an absolute motion (not relative
to another model).  Perhaps another model id number could be added to
treat the matrices as relative to another model's position.
Determining these matrices would use another new command to print the
current model matrices (or matrixget which writes them to a file).

The interpolation I used in the myosin animation moves the center of the
bounding box of the moved model in a straight line from starting position
to ending position, and simultaneously rotates about the moving center
from the initial orientation to final orientation.  This type of
interpolation requires some definition of a "model center".  The reset
command does something different and I'll let Greg Couch the author of
that command explain.

Tom

```