Question 1) : You are trying to retrieve the Euler angles (i.e.
rotation about X,Y,Z in some order) from a matrix. You can google for
"Euler" and Matrix; alternatively start here:<br>
<br>
<a href="http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToEuler/index.htm">http://www.euclideanspace.com/maths/geometry/rotations/conversions/matrixToEuler/index.htm</a><br>
<br>
Question 2) : As mentioned in previous replies, the translation
retrieved will incorporate the lookDistance of the camera; hence you
need to store and control the lookDistance of the camera - this is a
bit similar to the idea of "zoom" on the trackball.<br>
<br>
For what it's worth, I do this with a combination of distance =
(eye-centre).length(),  trackball->setDistance(distance), and
also retrieve the matrix with
trackball->getInverseMatrix().getLookAt(eye,look,up,distance).<br>
<br>
David<br>
<br>
<br><br>