<div dir="ltr"><div>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.  </div><div><br></div><div>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:</div><div><br></div><div>* `pitch()` rotates up/down pivoting on the horizontal vector going through focus point</div><div>* `yaw()` rotates left/right pivoting on the vertical vector going through focus point</div><div>* `roll()` rotates clockwise/counterclockwise pivoting on the normal vector connecting the camera to the focus point</div><div><br></div><div>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?</div><div><br></div><div>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.</div><div><br></div><div>What do people think about this?</div><div><br></div><div>Cameron</div><div><br></div>-- <br><div class="gmail_signature">Cameron Hummels<div>Postdoctoral Researcher</div><div>Steward Observatory</div><div>University of Arizona</div><div><a href="http://chummels.org" target="_blank">http://chummels.org</a></div></div>
</div>