Modern human computer interfaces allow a user to directly "manipulate" graphic objects to control the operation of a host computer system. For example, motion of a cursor on a computer display may be guided by an input device operated by a user. The amount of motion of the input device in various directions is measured. The cursor is moved by corresponding amounts in corresponding directions. A user may use the cursor to select items from a menu or press graphical "buttons" displayed on the computer display. The effectiveness and efficiency of direct manipulation depends on providing computer input devices which allow a user to intuitively interact with the graphical objects displayed by the computer system.
Typical direct manipulation devices, including mice, trackballs, joysticks and light pens, provide a spatial compatibility between motor control of a human hand and the resulting movements of graphical objects displayed on a computer display. Mice, in particular, have become standard direct manipulation devices for today's computers. A limitation of conventional computer mice and most other prior art input devices is that they produce only two-dimensional input. For example, in current applications, a mouse is usually used as a pointing device or cursor locator by mapping hand translation movements on a flat surface (having two degrees of freedom) onto two dimensional ("2-D") translation movements of a cursor on a computer display.
There is a need to add a third dimension to direct manipulation devices for human-computer interaction. The third dimensional input "Z" can be combined with two-dimensional inputs "X" and "Y" to facilitate three dimensional ("3-D") direct manipulation, such as 3-D pointing in virtual reality, simultaneous control of object translation and rotation in computer-aided design/computer aided manufacturing ("CAD/CAM") drawings, or zooming while "walking" through a graphic scene. Providing a third dimensional input is also desirable because the third dimension can serve as an independent one-dimensional ("1-D") control over some aspect of a computer display. An independent 1-D direct manipulation of graphic objects can be very useful for tasks such as scrolling a document, zooming in one direction, or surfing between web pages.
It is typically difficult and tedious to use a standard 2-D mouse for 3-D direct manipulation tasks. For a simultaneous 3-D manipulation task, users usually have to first break the task into 1-D or 2-D components and then perform the task one component at a time. For example, in current drawing applications, in order to move a graphic object to a new position which requires the object to be both translated and rotated users must first translate the object to its desired location and then rotate the object about a fixed point. Similarly, when performing 1-D manipulations, such as dragging a scroll box along a scroll bar, with the current 2-D mouse, users have to guide the 2-D mouse carefully so that the cursor remains on the 1-D control.
The prior art includes two types of computer input devices which provide a third dimensional input. One such device is the "dual detector mouse", which consists of two spaced apart 2-D translation detectors, such as rollerballs. One of the detectors serves as a primary detector. The primary detector senses 2-D translation movements of the mouse over a surface and provides X and Y inputs to a host computer system. Inputs from the second detector can be combined with inputs from the primary detector and used to calculate an angle of rotation of the mouse relative to the surface. This angle of rotation can be used as a third dimensional or "Z" input. A dual detector mouse is described, for example, in U.S. Pat. No. 5,512,920.
One major disadvantage of the dual detector mouse is that it is difficult to provide independent 1-D manipulation of a graphic object. The "Z" input is not independent of translations in the other two dimensions. For example, while turning a graphic object around a fixed point, or zooming on a document, it is very hard for the user to rotate a dual detector mouse without translating it at the same time. In addition, the rotation center of the dual detector mouse has to be arbitrarily pre-determined, and the algorithms for calculating rotation angles are not straightforward to the user.
Another type of computer input devices which can produce a third dimensional input is the "thumb wheel mouse" which is described for example in U.S. Pat. No. 5,473,344. A thumb wheel mouse operates in substantially the same way as a conventional mouse but has a small wheel or roller projecting from a top surface of the mouse. The wheel can be turned by a user's thumb or other fingers to provide a third dimensional input. Unlike the dual detector mouse, the thumb wheel mouse allows an independent 1-D direct manipulation for tasks such as one-dimensional zooming and scrolling. However, it is difficult to use a thumb wheel mouse to achieve a simultaneous 3-D direct manipulation. For example, in order to move a graphic object to a location with a specific orientation in CAD/CAM drawings, the user may have to first translate the mouse to cause an object to move to the required location and then rotate the thumb wheel to turn the object to the desired orientation. This procedure is similar to using a current 2-D mouse for the same task and is cumbersome for the user. Further, with the thumb wheel mouse, users may need to exercise careful motor control to coordinate manipulation of the thumb wheel with a finger and movement of the mouse by hand.
Computer software applications may require switching among 1-D, 2-D and 3-D control modes from time to time. For example, in CAD/CAM drawing applications, a user may want to simultaneously translate and rotate a graphic object to match a target location and orientation (3-D manipulation), then zoom in to see details of the graphic object (1-D manipulation), and then make a final adjustment of the object's position by translating the object (2-D manipulation). When surfing on the Internet, a user may want to provide a 1-D input ("Z") for scrolling on web page, a 2-D input (X and Y) for locating a hot link on the displayed portion of a selected web page, and a 3-D input (X, Y and Z together) for simultaneously scrolling the page and locating the hot link. A smooth change of control modes is necessary so as not to interrupt the user's focus on the task.
There is an increasing need for a computer input device which can provide 1-D, 2-D and 3-D direct manipulation of graphic objects and can be switched easily between 1-D, 2-D and 3-D modes.