View Full Version : eye coordinates from modelview matrix

10-19-2003, 07:36 AM
I use gluLookAt()...How can I extract the x,y,z coordinates (the first 3 parameters of gluLookAt) from the MODELVIEW matrix??

10-19-2003, 09:06 AM

10-20-2003, 03:50 AM
Ok! I found it by myself looking at the gluLookAt() code!
that article was a bit different from what I needed http://www.opengl.org/discussion_boards/ubb/wink.gif ... anyway the 4th column of the modelview matrix does not contain the coordinate of the observer, infact if you use gluLookAt() the matrix you'll have is the result of:
(x0 x1 x2 0) (1 0 0 ex)
(y0 y1 y2 0) (0 1 0 ey)
(z0 z1 z2 0) X (0 0 1 ez)
(0 0 0 1) (0 0 0 1 )

where ex,ey,ez are coordinates of the eye.

so the element of the 4th column will be:
A = x0*ex+x1*ey+x2*ez
B = y0*yx+y1*ey+y2*ez
C = z0*ex+z1*ey+z2*ez
D = 1

to re-obtain ex,ey,ez you have just to solve this equation-system: you can use the Kramer's rule remembering that the following matrix should be orthonormal (=> DET=1)

(x0 x1 x2)
det (y0 y1 y2) = 1
(z0 z1 z2)

10-20-2003, 03:52 AM
sorry for writing bad all the matrices http://www.opengl.org/discussion_boards/ubb/frown.gif