
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