I hope I am not getting too confused here (!), but why
can you not simply use the torsion angle calculation.
Bonding does not matter, only the order of the 4 points
which you consider. This will give you a correct sign.
The sign is the sign of the volume formed by the
4 points. Angle between planes do not have a sign (handedness),
becuse there are an infinite number of ways to order 4 points
on the 2 planes.
What are you trying to consider e.g. twist within a ring, pucker ?
>> islam wrote <36EFA663.41C6 at icrf.icnet.uk>...
> >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 ssmain.uniss.it