• Q: For the physics teleporting part of the assignment, how do I get the global angle to the global x, y, and z axes of a model given a rotation matrix or the individual model angles?
    A: use a getmatrix call to obtain the transformation of your original pen coordinates to the current pen coordinates.
    apply that transform to get the BB-coefficients of a quadratic as follows.
    start point = pen tip,
    tangent = orientation of pen follow it some length to set the 2nd BB-coefficient
    use symmetry and intersection with the grid to determine the 3rd BB-coefficient of the degree 2 "frowny" quadratic.
    glGetFloatv(GL_MODELVIEW_MATRIX, m)a is useful. Get the Rotation R of the pen and the matrix Q so that Q R = M.
    Use the pen at the origin. Define two BB-coefficients are b0 := (0,0,0) and b1 := R(0,1,0)*scale.
    Then the Bezier coefficients you want are Q*c0 and Q*c1 and c2:= the reflection of Q*c0 across (0,1,0) attached to Q*c1.