Edit QuaternionTeapot . py to use a quaternion as a rotation in place of our method that used Euler angles like this:
teapot $=$ object ("Teapot")
teapot.add_component (Transform())
teapot.add_component (LoadMesh (GL_LINE_LOOP,
"models/teapotSM.obj"))
trans: Transform = teapot.get_component (Transform)
trans.rotate_axis (pygame.Vector3 $(0,1,0), 90$ )
trans. update_position (pygame. $\operatorname{Vector} 3(0,-2,-3))$