How to calculate dihedral (not torsion) angles?

Antonio osrisfol at
Wed Mar 17 09:08:34 EST 1999

islam wrote <36EFA663.41C6 at>...
>The definition of a torsion angle between 4 points,
>does not require them to be bonded ! The dihedral angle
>is simply the angle between the two planes ABC and BCD
>(in fact the torsion angle is the complement of the dihedral angle
>i.e. torsion = 180.0 - dihedral ). You can simply calculate
>the plane for ABC (or 1-3-5 below) & BCD (or 1-2-3 below) and then
>the angle between them.

Thank you for your message,

I'm aware that the four points need not to be bonded, of course.
But I tried to consider them bonded, so as to apply the expressions
reported. Indeed, I already tried to do as you suggest: first calculate
the versor normal to the 1-3-5 plane (r13 x r15/|r13 x r15|) and
the versor normal to the plane 1-2-3 (r12 x r23/|r12 x r23|);
then their dot product should give cos(phi), but the problem is that
at this point you can't simply take the acos(cos(phi)), because
some sign problems arise: indeed, in all programs which calculate
torsional angles one must also obtain sin(phi) and then take the atan, as
in the expressions reported in my previous message.
The calculation of sin(phi) is direct when a common bond does exist
between the atoms, because such common vector enters the formula
for sin(phi):
        sin(phi)=rc.(r13 x r15)x(r12 x r23)/(|rc||r13 x r15||r12 x r23|)
where rc is the common vector.
But now I haven't such a common vector, then what rc vector should I use in
the expression for sin(phi)?
                       osrisfol at

More information about the Xtal-log mailing list