[yt-dev] VR camera movement

Cameron Hummels chummels at gmail.com
Sun Jul 5 10:59:19 PDT 2015


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

-- 
Cameron Hummels
Postdoctoral Researcher
Steward Observatory
University of Arizona
http://chummels.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20150705/3869c55f/attachment.htm>


More information about the yt-dev mailing list