Anoop M N (anoop++at++cair.res.in)
Thu, 15 Oct 1998 10:37:21 -0500
I read your question in the perf. mailing list. Well, I am not
part of the list, but have some experience working with the FOB. So if
you have any further questions, mail it to my address.
The story of the rotation matrix :
The matrix returned by the F-o-B system is R(-x) . R(-y) . R(-z)
where R(-x) is the rotation matrix corresponding to a rotation of -x
about X axis (where x is the angle that would have been returned by
the angle command).
This is the same as the transpose of the matrix R(z).R(y).R(x)
which is the same as the R(yaw).R(pitch).R(roll) matrix in the
bird's local coordinate system. This matrix returned by the FOB is
meant for pre-multiplication with the point (p.R). This is the old
convention where points used to be represented as row vectors.
What OpenGL needs is the R(y).R(p).R(r) matrix. If you
postmultiply this matix with coordinate values (R.p), the correct
transformation will take place on the screen. Therefore transpose
the matrix returned by F-o-B system to get the OpenGL matrix.
Note :
The yaw, pitch and roll (azimuth, elevation and roll) are
given by FOB as rotation about the z, y and x axes respectively of
the receiver(bird).
Hope this helps..
Anoop.
------------------------------------------------------------------------
Centre for Artificial Intelligence and Robotics +91 80 226 5609 (Phone)
Raj Bhavan Circle, High Grounds +91 80 225 5615 (Fax)
Bangalore 560 001, INDIA Email: anoop++at++cair.res.in
This archive was generated by hypermail 2.0b2 on Wed Oct 14 1998 - 22:08:53 PDT