¿Cómo funciona este código de rotación Quaternion?

Estoy tratando de entender cómo funcionan las rotaciones de cuaterniones, encontré este mini tutorialhttp: //www.julapy.com/blog/2008/12/22/quaternion-rotation pero hace algunas suposiciones que no puedo entrenar, como cómo puedo hacer "describa los vectores de rotación alrededor de cada eje, simplemente girando el vector alrededor de un eje. "y ¿cómo calcula el ángulo de grados X, ángulo de grados Y y ángulo de grados Z?

¿Alguien puede proporcionar un ejemplo de trabajo o una explicación?

Respuestas a la pregunta(2)

Su respuesta a la pregunta