Dear all, dear Bernhard,
Even when we already had an exchange by mails with Bernhard after he
sent his question, I hope it might be useful for many, especially
young crystallographers, to follow the problem.
Phil Evans writes in acta D57 1355 (2001) on p 1358 section 5.2:
"....the convention used in AMoRe (Navaza, 1994)
and other CCP4 programs (Collaborative Computational
Project, Number 4, 1994) is to rotate by gamma around z, then by beta
around the new y, then by alpha around the new z again,
R = Rz(al)Ry(be)Rz(ga)"
========= DOCUMENTAL ========
I tried to find the citation of Navaza about his original definition
of alpha, beta, gamma and failed (most of my documentation already
left my current office for another place). On the contrary, in his
review (2001), Acta Cryst D57, 1367-1372, he CHANGED the names of
angles, definitely to avoid confusing, and said :
"convention by which (phi,theta,psi) denotes a rotation of
psi about Z, followed by rotation of theta about the Y axis and
finally a rotation of phi about the Z axis,
R(phi,theta,psi) = R(phi,Z) R(theta,Y) R(psi,Z) "
----------
AU : It was not precised that here R are rotation matrices that one
should multiply by the atomic coordinate vectors in order to get new
coordinate values (of course, NEW with respect to the CRYSTAL, or
with respect to some other EXTERNAL system of Cartesian coordinates ,
e.g. another molecule to be superimposed with!)
========= SOURCE OF CONFUSION ==========
There is a big confusing when describing rotations. The main source
of it are the points: WHAT we rotate, in WHICH DIRECTION and - mainly
- around WHICH AXES.
If you are driving a car, you turn right-left with respect to YOUR
CAR and usually do not care the Nord-Sud-Est directions (while modern
GPS may show you BOTH views, with respect to your car or with respect
to the world axes N-S). The same if you are a pilot of a plane but
now you rotate the rigid body (the plane) in 3D. But you may drive
with respect to the world axes. Generally speaking, BOTH point of
view are completely acceptable; it is a matter of convenience.
If you rotate a molecular model inside you crystal, also BOTH
conventions are valid.
a) you "glue" coordinate axes to your model and rotate the MODEL with
respect to them (you are "riding on the model"); then of course after
you rotate the model around Oz, the "molecular Oy" has changed its
position with respect to your CRYSTAL, and you may rotate around "new Oy".
b) you have Ox,Oy,Oz fixed, linked to the CRYSTAL, and rotate the
MODEL around them, around fixed axes (you are sitting before a screen
and rotate you model with respect to it; molecular graphics works in
this way, is it?).
The NONambiguous answer comes when you give the ROTATION matrices
that should be multiplied by the atomic coordinate vectors in order
to get new values of atomic coordinates in the crystal.
====== MATRICES FOR ROTATIONS ==========
Let X,Y,Z be orthogonal axis of the CRYSTAL; X', Y', Z' are axes
linked to the model that initially coincide with X,Y,Z, respectively.
Let r be a vector standing for atomic coordinates.
Rotation, point of view (b).
After rotation of the model by alpha about OZ, the
coordinates of the atom are R(alpha,OZ) r. The following rotation by
beta about OY gives the final coordinates
(*) R(beta,OY) R(alpha,OZ) r
Rotation, point of view (a).
After rotation of hte model by alpha about OZ the
coordinates of the atom are R(alpha,OZ) r , but OY' does NOT coincide
with OY anymore. A "easy" way (I do not know better) to describe a
rotation around NEW Y, i.e. around OY', is :
- rotate it back to the original orientation, thus
superimposing OY' and OY
- rotate around OY' (now again is the same as OY, so it is
easy to describe)
- do not forget to recover the orientation obtained
previously by R(alpha,OZ).
In terms of rotation matrices in the EXTERNAL coordinate
system, that you need to apply to atomic coordinates, this gives :
[R(alpha,OZ) R(beta,OY) R(-alpha,OZ)] R(alpha,OZ) r =
(**) = R(alpha,OZ) R(beta,OY) r
- the order has been inverted in comparison with the point of vies
(a) - compare with (*) above !!!!!
======= SUMMARY =========
Finalizing,
b) if the convention is that all rotations are around FIXED axes
linked to some external coordinate system, the total rotation matrix
for "rotation by alpha around OZ, then by beta around OY, then by
gamma around OZ" is
R(gamma,OZ) R(beta,OY) R(alpha,OZ)
a) if the convention is that all rotations are around the axes linked
to the model and we talk about "NEW axes", the total rotation matrix
for "rotation by alpha around OZ, then by beta around NEW OY, then by
gamma around NEW OZ" is inverted
R(alpha,OZ) R(beta,OY) R(gamma,OZ)
====== END OF THE STORY ====
I hope this TOO LONG mail (sorry, I failed to make it shorted) makes
a useful reminder to those who are concerned by the problem. If
something is still unclear to any of you, please to not hesitate to
write me directly.
Best regards,
Sacha