US 5276785 Moving viewpoint with respect to a target in a three-dimensional workspace
ABSTRACT – Images are presented on a display to produce the perception of viewpoint motion in a three-dimensional workspace. The user can indicate a point of interest (POI) or other region on a surface in an image and request viewpoint motion. In response, another image is presented from a viewpoint that is displaced as requested. The user can request viewpoint motion radially toward or away from the POI, and can also request viewpoint motion laterally toward a normal of the surface at the POI. Radial and lateral viewpoint motion can be combined. The orientation of the viewpoint can be shifted during lateral motion to keep the POI in the field of view, and can also be shifted to bring the POI toward the center of the field of view. In a sequence of steps of viewpoint motion, the radial viewpoint displacement in each step can be a proportion of the distance to the POI so that the radial displacements follow a logarithmic function and define an asymptotic path that approaches but does not reach the POI. While requesting viewpoint motion with a keyboard, the user can independently request POI motion with the mouse. In response, the POI moves within the bounds of the surface that includes the POI, and a shape within the image indicates the POI position.
BACKGROUND OF THE INVENTION
The present invention relates to techniques for producing the perception of a moving viewpoint within a three-dimensional space presented on a display.
Fairchild, K. M., Poltrock, S. E., and Furnas, G. W., “SemNet: Three-Dimensional Graphic Representations of Large Knowledge Bases,” in Guindon, R., ed., Cognitive Science and its Applications for Human-Computer Interaction, Lawrence Erlbaum, Hillsdale, N.J., 1988, pp. 201-233, describe SemNet, a three-dimensional graphical interface. SemNet provides semantic navigation techniques such as relative movement, absolute movement, and teleportation. Section 5 discusses navigation and browsing, including viewpoint movement techniques such as moving the viewpoint close to an element that the user needs to inspect. Section 5.2 describes methods for moving the viewpoint to determine the portion of a knowledge base that is displayed. Section 5.2.1 describes relative movement, with independent controls for three orthogonal rotations of the viewpoint and movement forward and backward along the line of sight. Tools for adjusting the velocity of movement and rotation are provided, but relative movement is slow and awkward to use. Section 5.2.2 describes absolute movement in which the user can point to a desired viewpoint location on a map of the three-dimensional knowledge space. The map can have two or three two-dimensional parts, with each part representing a coordinate plane in the space, and the user can manipulate the position of the viewpoint by moving an asterisk in one plane at a time using the mouse. A filter ensures that the viewpoint moves smoothly, retaining the experience of travel through a three-dimensional space. Although absolute movement is quicker and easier to use than relative movement, it is not very accurate and moving the viewpoint in more than one map is confusing. Section 5.2.3 describes teleportation, in which a user can pick a recently visited knowledge element from a menu and instantly move to the location of the knowledge element. Section 5.2.4 describes hyperspace movement, in which the nodes connected to a selected knowledge element are temporarily moved to positions around it, and then snap back to their original positions after a new node is selected.
Burton, R. R., Sketch: A Drawing Program for Interlisp-D, Xerox Corporation, Palo Alto Research Center. ISL-14, August 1985, pp. 44-49, describes techniques for changing the part of a sketch seen in a window. A sketch is a collection of elements such as lines and text. The sketch has a world coordinate space and the position of each element is given by values in this space. A sketch is viewed and edited inside a window, which shows a region of the coordinate space of a sketch and displays any of the elements that are in the region. The region is determined by the window’s scale, its size, and the values of its left and bottom coordinate. As illustrated in FIGS. 59-62, a window’s scale can be changed by the Move view command or the Autozoom command. The user can select the Move view command from the command menu and then use the cursor to specify a new portion of the sketch that is to appear in the window by depressing a mouse button at one corner and sweeping the cursor to the other corner; the specified region is scaled to fill the sketch window. The user can select the Autozoom command from the command menu, then move the cursor to the point in the sketch around which zooming will occur, then press one of two buttons to indicate whether to zoom in or zoom out; zooming in makes the image larger but with the point under the cursor in the same location, while zooming out makes the image smaller with the point under the cursor in the same location. The image continues to grow or shrink around the position of the cursor as long as either button is down.
SUMMARY OF THE INVENTION
The present invention provides techniques for operating a system to produce the perception of a moving viewpoint within a three-dimensional workspace. When the user indicates a point of interest on an object, the viewpoint can approach the point of interest asymptotically, with both radial and lateral motion. The orientation of the viewpoint can rotate to keep the point of interest in the field of view. The field of view can also be centered about the point of interest by rotating the viewpoint.
One aspect of the invention is based on the recognition of a basic problem in moving viewpoint in a three-dimensional workspace. It is frequently desirable to move the viewpoint closer to a specific target. For example, a user may wish to examine a detail of an object at close range. Conventional techniques do not provide an easy way for the user to obtain such viewpoint motion.
This aspect is further based on the discovery of a user interface technique that solves this problem. The user can indicate a target region and, in response, the viewpoint moves to an appropriate viewing position.
This technique can be implemented with a pointing device such as a mouse. The user can click a mouse button to indicate a region on the surface of the object to which the pointer is currently pointing. The user can also provide a signal requesting viewpoint motion toward an indicated point in the region, referred to as the “point of interest” or “POI”. When the user requests viewpoint motion toward the POI, referred to as a “POI approach”, the system can provide animated motion so that object constancy is preserved.
A related aspect of the invention is based on the recognition of a problem in performing POI approach. If viewpoint motion is rapid, the user has difficulty controlling the motion so that it stops at an appropriate position. But if viewpoint motion is slow, it requires too much time. Conventional viewpoint motion techniques do not handle this conflict satisfactorily.
This aspect is further based on the discovery that this problem can be solved by performing POI approach asymptotically based on coordinate data indicating the positions of the viewpoint and the POI in the three-dimensional workspace. For example, the viewpoint can move toward the POI along a ray in successively smaller increments that approach a final viewing position asymptotically.
This solution can be implemented with a logarithmic motion function. During each cycle of animation, the x-, y-, and z- displacements between the current viewpoint position and the POI can be reduced by the same proportional amount, referred to as an approach proportionality constant. As a result, a target object appears to grow at a constant rate of proportionality, making it easy to predict when the viewpoint will reach a desired position. This provides rapid motion initially, then progressively slower motion, allowing the user to control the motion more efficiently by repositioning the POI as the viewpoint nears the target. Also, this implementation provides the perception of natural movement in the three-dimensional workspace. POI approach can be constrained so that the viewpoint does not come too close to the POI.
Several closely related aspects of the invention are based on the recognition that POI approach does not meet all the viewpoint movement needs of a typical user.
One problem with simple POI approach is that it does not orient the viewpoint appropriately. This problem can be solved by adjusting the viewpoint, either during POI approach or independent of approach. One way to adjust the viewpoint is to move the viewpoint laterally toward the surface normal at the POI. Another is to rotate the viewpoint to keep the POI at the same position in the field of view or to move it toward the center of the field of view.
Lateral viewpoint motion has the incidental effect in many cases of moving the POI away from the center of the field of view. This problem can be solved with compensating viewpoint rotation. If the viewpoint is rotated through an angle equal to the angle subtended by lateral viewpoint motion, the POI will stay at the same position in the field of view.
In many cases, viewpoint motion as described above will nonetheless leave the POI at a substantial distance from the center of the field of view. This problem can be solved with centering viewpoint rotation. At each step, the viewpoint can be rotated up to a maximum viewpoint rotation in order to center the POI. This centering can be performed in addition to viewpoint rotation to compensate for lateral viewpoint motion.
If these and other types of viewpoint motion are provided in an inappropriate manner, the resulting motion may be awkward and confusing. Specifically, if the user must control too many degrees of freedom, the user may have difficulty obtaining a desired viewpoint motion.
Another technique is based on the discovery that different types of viewpoint motion can be integrated if the displacement between two steps is a function of distance between the viewpoint and the POI. With this approach, the displacement for each type of viewpoint motion from a given point can be independent of previous viewpoint motion and can be determined with a function that is compatible with other types of viewpoint motion from the same point.
One example of this approach is the integration of POI approach with viewpoint motion away from the POI, referred to herein as “POI retreat.” As described above, POI approach can follow a logarithmic function with an approach proportionality constant. For symmetry between POI approach and retreat, the POI retreat function can be a logarithmic function with a retreat proportionality constant such that each retreating step between two points is equal in length to an approaching step in the opposite direction between the same two points.
Lateral viewpoint motion can also be integrated with POI approach and retreat to provide motion toward the surface normal at the POI. During each animation cycle, the displacement from POI approach or retreat is used to obtain an intermediate viewpoint; a vector normal to the POI is obtained and a lateral position point on the vector normal is found at a distance equal to the distance from the POI to the intermediate viewpoint; and the ending viewpoint is then found along a line from the intermediate viewpoint to the lateral position point. The line can be an arc or a chord. The displacement from the intermediate viewpoint to the ending viewpoint can be a proportion of the line, found using a lateral proportionality constant. To integrate this lateral motion with POI approach, the lateral proportionality constant should be sufficiently larger than the approach proportionality constant that the viewpoint comes close to the normal before reaching an appropriate distance for viewing the POI.
Another aspect of the invention is based on the recognition of an underlying problem in viewpoint motion relative to a POI. As viewpoint motion progresses, the user may wish to adjust the POI position, especially during POI approach in which the POI and the surrounding area become progressively larger on the display. The user could adjust POI position by ending viewpoint motion relative to the current POI and by then indicating a new POI and requesting viewpoint motion relative to the new POI. But this would produce an awkward sequence of viewpoint movements.
This aspect is further based on the discovery of a technique that adjusts POI position without interrupting viewpoint motion. With this technique, the user can produce a desired viewpoint motion while independently adjusting POI position. The user can control viewpoint motion by using keys to select from a few simple choices, such as moving the viewpoint toward the POI, moving the viewpoint away from the POI, or keeping the viewpoint at the previous position; in a lateral mode, each type of radial viewpoint motion can be combined with lateral viewpoint motion, with an additional choice for moving the viewpoint laterally without moving it toward or away from the POI. The user can control POI position using a user input device such as a mouse to indicate changes in position. Independently requesting viewpoint motion and POI position adjustment is especially effective because a typical user can readily make both types of requests at the same time without confusion. For example, the user can use one hand to request viewpoint motion and the other hand to control POI position.
A closely related aspect of the invention is based on the recognition that POI position adjustment can inadvertently lead to a jump of the POI from one object to another. This problem can be solved by constraining the POI to stay on the same object’s surface during a viewpoint movement. This solution can be implemented by presenting a circle or other shape on the object’s surface, centered on the POI, to assist the user in positioning the POI. When the user adjusts the POI’s position, such as by operating a mouse, another circle is presented at the adjusted position, perceptible as a moved continuation of the previous circle.
The following description, the drawings and the claims further set forth these and other objects, features and advantages of the invention.