I’m using gluLookAt to focus the viewpoint on a dynamic (moving) object in my scene. Now, I would like the user to be able to move towards\away from the focal point (easy to do) or rotate around it. The problem is, I need to know the position of the observer in order to use gluLookAt, but as the position relative to the focal point is changing, I cannot store an Angle value for rotation around the target, as this changes when the focal point moves.
Basically, I can build a vector to the focus, make it unit length, but then how to rotate it in a given plane by x degrees, without knowing the total rotation?
In other words: how do you rotate a vector around a point, in a plane, incrementally, by x degrees.