¿Cómo derivar rotaciones "estándar" de three.js cuando se usan cuaterniones?

Participante de Newbie Stackoverflow, programador de 3D nuevo, y lejos de ser un experto en matemáticas ... así que intentaré encuadrar esta pregunta tan claramente como pueda, esperando que tenga sentido, y esperando una respuesta que no esté a una milla de mi cabeza.

He escrito una aplicación muy buena con three.js que le permite al usuario volar a través del espacio 3D y explorar un sistema solar. El modelo de vuelo se basa libremente en el ejemplo / extensión de Fly.Controller en el paquete three.js, que me enseñó a usar los cuaterniones para mantener todas las rotaciones de los ejes sensibles entre sí. La parte voladora todo funciona muy bien.

Aquí está mi dilema: Cuando uso los cuaterniones, ¿cómo deduzco los valores de rotación "normal" (no sé cómo llamarlo) para determinar en qué dirección estoy mirando? Cuando se usan cuaterniones, la estructura de "rotación" dentro del objeto de la cámara se mantiene en 0,0,0. Entonces, aunque puedo volar libremente a través del espacio en cualquier ángulo, no puedo averiguar cómo determinar qué dirección estoy mirando en realidad. ¿Existe una función three.js incorporada u otra forma fácil de convertir esto?

He encontrado algunos punteros similares, confusos, en la web, pero nada que pueda descifrar y poner en uso en three.js. Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta