I'm rotating a teapot according to an axis of rotation given the user click. The axis is calculated as the perpendicular line to the line from the clicked point to the origin. All of this is happening in the xy plane and z = 0.
The first rotation, everything works perfectly, but in the next rotations the perpendicularity to the point it's not kept, as the axes rotated. How could I maintain this functionality?