I've been thinking about the `rotate()`, `pitch()`, `yaw()`, and `roll()` camera functions in the new volume rendering PR, and I wanted to bounce something off of people.  

Right now, `rotate()` rotates the camera position about the pivot point of the focus point of the camera--it can make that rotation with respect to three vectors all centered on the focus point:

* `pitch()` rotates up/down pivoting on the horizontal vector going through focus point
* `yaw()` rotates left/right pivoting on the vertical vector going through focus point
* `roll()` rotates clockwise/counterclockwise pivoting on the normal vector connecting the camera to the focus point

In many cases, this addresses most of the basic functionality people want, which is to rotate the camera position in any arbitrary way *around* a given focus point.  However, we currently have no explicit way for a user to manipulate the camera's pointing angle *in place* by rotating the camera normal_vector while pivoting on the camera itself and keeping the camera fixed in position.  I suppose this is effectively changing the focus point of the camera for any such rotation, since the camera will be looking at something different after such a function is called.  I am starting to work on the complex camera movement stuff, and I think rotating the camera in place is required functionality that I'm happy to develop.  But the question I have is what should be the naming convention that we use for such actions?

We currently already have `rotate()`, `pitch()`, `yaw()` and `roll()` for describing the motion of the camera around the focus point.  Shall these remain untouched or be changed to `rotate_around_focus()`, `pitch_around_focus()`, ...?  and the new functions which rotate the camera in place be `rotate_camera()`, `pitch_camera()`, ...?  I'm just trying to come up with a descriptive and consistent function naming convention that is accurate and doesn't confuse users and I fear that `rotate()`, `pitch()`, ... is potentially too vague as we enable the new, more flexible camera.

What do people think about this?


Cameron Hummels
Postdoctoral Researcher
Steward Observatory
University of Arizona