Keep in mind that for the perspective camera, rotation works very differently.  I implemented yaw() a while back, but I don't think that the others work yet.  For the perspective camera, you need to specify the center of rotation.

Looking at the new VR interface, it looks like this was not ported over to that yet.  I'm still struggling to get basic images with the new interface, but once I get past that, I'll look into the rotation for the perspective camera.

On Sun, Jul 5, 2015 at 1:59 PM, Cameron Hummels <> wrote:
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

yt-dev mailing list

Michael Zingale
Associate Professor

Dept. of Physics & Astronomy • Stony Brook University • Stony Brook, NY 11794-3800
phone:  631-632-8225