Como derivar rotações “padrão” de three.js ao usar quaternions?

Participante newbie stackoverflow, novato programador 3D, e longe de ser um math wiz ... então vou tentar enquadrar esta questão tão claramente quanto possível, esperando que faça sentido, e esperando por uma resposta que não seja uma milha acima da minha cabeça.

Eu escrevi um aplicativo muito legal usando three.js que permite ao usuário voar pelo espaço 3D e explorar um sistema solar. O modelo de voo é vagamente baseado no exemplo / extensão Fly.Controller no pacote three.js, que me ensinou a usar quaternions para manter todas as rotações do eixo sensatas uma em relação à outra. A parte voadora tudo funciona muito bem.

Aqui está o meu dilema: ao usar quatérnios, como eu deduzo os valores de rotação "normais" (não sei o que mais chamar) para determinar que direção estou enfrentando? Ao usar quatérnios, a estrutura de "rotação" dentro do objeto da câmera fica em 0,0,0. Então, enquanto eu posso voar livremente pelo espaço em qualquer ângulo, não consigo descobrir como determinar em que direção estou realmente enfrentando. Existe um construído em três.js função, ou outra maneira fácil de converter isso?

Eu encontrei alguns ponteiros semelhantes e confusos na web, mas nada que eu possa decifrar e usar em three.js. Obrigado.