Graphics Reference
In-Depth Information
direction, and say that this categorization must be done in the first 0.1 sec to avoid
disturbing the user.) An initially horizontal motion introduces a camera translation
in a direction parallel to the film plane in such a way that the hit point remains
beneath the cursor. Thus, a click and drag to the right causes the camera to move
to the left in the scene so that the hit point moves the appropriate distance to the
right in the resultant image.
Inline Exercise 21.4: How would a user move the scene up and down rather
than left and right?
An initially vertical cursor motion indicates a different mode of interac-
tion. Left-right motion continues to act as before, performing film-plane-parallel
motion to the left or right, but vertical motion translates the camera along the
ray from the camera to the hit point. The authors make an interesting choice for
how cursor motion is converted to translation toward the object: The conversion is
linear, with a motion from the bottom to the top of the interaction window corre-
sponding to the distance from the camera to the hit point. This makes it impossi-
ble to “overshoot” the hit point, but makes it easy to approach the hit point with a
kind of logarithmic interaction: Multiple half-screen vertical cursor motions each
divide the distance to the hit point by two.
The assignment of vertical cursor motion to dollying is an apparently arbitrary
choice; the authors could have chosen to use horizontal motion. But they report
that users find the vertical motion far more natural, perhaps because we are famil-
iar with scenes like that shown in Figure 21.10, in which the horizontal layout
of the terrain makes the correspondence between vertical position and distance
obvious. (Try to think of a situation in which there's a similarly strong relation-
ship between horizontal position and distance; is it a commonplace or familiar
situation?)
Figure 21.10: Vertical position,
in this scene, corresponds to dis-
tance from the viewer.
21.5.2 Rotation
While there are three rotational degrees of freedom, such rotations must have a
center of rotation. (A rotation about one center can be converted, by a translation,
into a rotation about any other center, but we need a particular center to start from.)
The camera location itself is one possible center of rotation, and it corresponds
well to our physical structure, in which you can bend your neck to look up or
down, and can rotate it to look left and right. But when your attention is focused
on some object, “orbiting” around the object feels more natural than turning your
head and then stepping to the side to bring the object back into view. In Unicam,
a click and release on a scene object places a small blue sphere (the focus dot )
at the hit point, and subsequent rotations are all interpreted as rotations about this
focus dot.
Alternatively, the user can click in the border area to invoke rotation about
the view center, a point on the ray from the camera through the center of the
view. The distance along that view ray is determined by the current hit point:
The perpendicular projection of the hit point onto the view ray is the view
center.
In the case of a focus dot, a subsequent click and drag anywhere on the view
begins a rotation; in the case of a view-centered rotation, the initial click in the
border area initiates the rotation, and subsequent drags determine the amount
 
 
Search WWH ::




Custom Search