FlameDuck: 91,0,0 gives me a Quanternion ( w,x,y,z ) of (0.7009093,0.7132505,0,0)
Yup. That sounds about right. My example returns ( -88.999988943948296 , 0.00000000000000000 , 0.00000000000000000 ). Here is the code:w! = 0.7009093 x! = 0.7132505 y! = 0 z! = 0 ex! = ATan( (2!* (w*x + y*z )) / (1-2*(x^2 + y^2))) ey! = ASin( 2!* (w*y - z*x)) ez! = ATan( (2!* (w*z + x*y )) / (1-2*(y^2 + z^2))) Print ex Print ey Print ez
or something similar, as FlameDuck points out, there are multiple ways to represent the same angle
It's not really a matter of multiple ways to represent angles, so much as a limit to what range of degrees ATan / ATan2 returns (-90..90). I'm pretty sure my best bet will be to forget this and just handle all math in quaternions.
Unquestionable.