Abstract:
A two-joystick interface for use with an information processing system having a 3D virtual reality module implements a bulldozer control metaphor permitting movement in three orthogonal directions—forward-backward, up-down, left-right—and turning about a vertical axis. The pointing interface includes mode switching permitting use of the joysticks for the cursor positioning and page scrolling functions of the information processing system. The pointing system includes a frame-of-reference conversion module for transforming the pointing devices software interface to a four-degree-of-freedom three-dimensional interface, an interface with a virtual reality module including a display function. Ergonomic embodiments of the interface include locating the joysticks, e.g., two IBM TrackPoints™ along the bottom row of keys of a standard keyboard, and, alternatively, placing the joysticks and related momentary switches in a wristpad.

Description:
BACKGROUND 
     1. Field of the Invention 
     The invention relates to information processing and multi-media systems, and in particular to a two-joystick, bulldozer-like interface for navigating in a virtual three-dimensional space. 
     2. Background of the Invention 
     Some Preliminary Definitions 
     FIG. 1 is a graph illustrating a 3D notation convention used in this patent application. The convention is designated generally by the numeral  10  and includes a left-right horizontal X axis  12 , a vertical Y axis  14 , a point-of-view Z axis  16 , and rotation  18  about the Y axis is designated by the symbol Θ. The X axis  12  is from the viewer&#39;s left side to the right side. The Y axis  14  is from the bottom toward the top, and the Z axis  16  is in the direction the viewer is facing. Pitch is rotation about the X axis, yaw is rotation about the Y axis, designated by the symbol Θ, and roll is rotation about the Z axis. 
     Isometric devices have constant location and infinite resistance to displacement. Isotonic devices have constant resistance (e.g., zero) to displacement. Elastic devices have resistance force proportional to displacement. 
     We live in a three-dimensional (3D) world. Technological advances in computer graphics hardware, software and display systems will soon make real time 3D capabilities available to all mainstream computer systems. Furthermore, 3D technology is also beginning to be integrated into the Internet technology, making it possible for designers and users on various platforms to escape from the flatland of 2D HTML pages to share 3D information across the world. Virtual Reality Modeling Language (VRML), a language for modeling three-dimensional scenes and scripting animation on the World-Wide-Web (WWW), is an emerging standard for such a purpose. Using VRML, web designers can construct 3D “worlds” in which a remote user can navigate. 
     However, disorientation and difficulty of knowing how to move in current 3D interfaces are intolerably inhibiting the widespread applications of 3D technologies. Designing effective navigation interfaces is both a difficult challenge and an opportunity to the human factors community. First, it is a rare opportunity. As if we could move back in time to have the chance to design interfaces for aircraft and motor vehicles, we are now at the beginning of a new era when it is not (yet) too late. Furthermore, the “virtual navigation craft” does not impose on us any mechanic or dynamic constraint as in aircraft and motor vehicles. The only fundamental constraints to virtual 3D navigation interface lies in accommodating human capabilities and limitations. In other words, designing virtual world navigation interfaces is less like designing motor vehicles but more like searching for the “magic carpet” in the virtual world. A magic carpet takes us where we want to go without our having to worry about the mechanical details of getting there. 
     Although few fundamental constraints exist to designing virtual 3D navigation interfaces, there are many practical requirements for a navigation interface to gain rapid acceptance. Particularly, we have to consider the following: 
     integration with the existing GUI interfaces and tasks. Like any new interface technology, 3D navigation is in a bootstrap situation: not enough application and content may make it unjustified to have a special interaction device and lack of a usable interface and user population make developing 3D content less attractive. The solution lies in seamless integration of the 3D navigation devices with the existing GUI interfaces; 
     low cost, for the same reason as above; and 
     both novice and expert “friendly”. An acceptable navigation interface should be easy to learn in a few minutes while offering high performance to expert users. 
     Although there are many VRML browsers available today, the user interfaces of these browsers are very similar to each other. The basic interface design was set in Silicon Graphics&#39; WebSpace™ (later known as CosmoPlayer™), the first commercially available VRML browser, which in turn was based on the 3D user interface work previous to VRML, see Zeleznik, R. C. et al., An Interactive 3D Toolkit For Constructing 3D Widgets, Proc. ACM SIGGRAPH &#39;93, pp. 81-84, 1993. 
     With these existing browsers, 3D navigation is done by mapping 2 degrees of freedom (DOF) mouse cursor movements onto various translation and rotation degrees of freedom, according to the selected mode. For example, the WorldView™ browser, see WorldView™ VRML 2.0 Browser, Intervista Inc., at “http://www.intervista.com”, has the following modes: walk (Z translation and Y rotation in rate control), pan (X and Y translation in rate control: FIG.  2 ), turn (X and Y rotation in rate control), roll (Z rotation in rate control), study (X and Y rotation of the world, instead of self, in position control) and goto (FIG.  3 ). A user can switch between these different mapping schemes by clicking on appropriate buttons. Some browsers also provide a restore mode to readjust the Y coordinate of the view coordinates with that of the world coordinates. Much effort had been spent on fine-tuning the mapping transfer functions in various modes. 
     When navigating in VRML worlds with the current browsers, users typically find themselves off their targets, facing upside-down, or lose their locations in the world. Multiple factors, such as low frame rate that delays the control feedback and sometimes badly designed “cueless” worlds themselves contribute to the “lost in virtual world” problem. One of the most critical factors lies in the mouse mapping navigation technique itself. Among the many drawbacks of this technique, the following are the most noticeable: 
     Mode switching. It is known that mode switching in user interface in general should be avoided. 
     Mode switching causes inconsistent response to the same input. For the same mouse movement, the results are different depending on the current mode. It is well known that when consistent mapping exists, human information processing behavior tends to become an “automatic process” which requires little central capacity, attention, or effort. In contrast, when consistent mapping is absent, human behavior tends to be a “controlled processes” which requires effort, attentional resource, and central capacity. 
     In many of these modes, cursor motions are mapped to movement “speed”. The farther one moves the cursor from the initial click position, the faster the movement is. In other words, the cursor displacement is used for rate control, which is well suited for navigation where smooth and controllable speed is desirable. Experiments have shown that effective rate control requires self-centering mechanisms in devices such as isometric or elastic joysticks. Isotonic devices such as the mouse are poor in rate control tasks. Note that when one uses a rate controlled joystick (such as the TrackPoint™ by IBM) to move the cursor which is in turn mapped onto movement speed, the self-centering effect in the joystick is not utilized, since the self-centering variable (e.g., force) is not directly mapped onto the movement speed. 
     Visual information provided by the mouse pointer is counter-intuitive. Typically, when users want to approach an object in the world, they tend to bring the mouse pointer onto the object. However, due to the mapping function of the mouse (both speed and direction), such an action may cause unexpected results in which users tend to overshoot position and orientation. 
     Clearly a need exists for different devices and techniques to replace the status-quo interface. One apparent choice is the six degree-of-freedom hand controllers such as the “Spaceball” (see Zhai, S., Human Performance in Six Degree-of-Freedom Input Control, Ph.D. Thesis, University of Toronto, for a review of six degree-of-freedom devices, available at “http://vered.rose.toronto.edu/people/shumin_dir/publications.html”). 
     Several reasons make this option difficult. First, these devices have been relatively expensive due to the small market size and they are not integrated with the general GUI interface (e.g., pointing), thus preventing a critical mass of user population to overcome the bootstrap problem. More importantly, these devices are designed primarily as “manipulation”, not as “navigation” devices. Although both manipulation and navigation require multiple-degrees-of-freedom controllability, and they are mathematically equivalent problems, they may differ significantly in the human factors. When we manipulate objects, the multiple degrees of freedom tend to be integrated. On the other hand when we move (navigate) in the real world, we rarely use six degrees-of-freedom simultaneously. We primarily stay on a 2D surface, move in a given direction (X and Z translation) or turn around (Y rotation). We may move up and down (Y translation) when proper means are available. Pitch (X rotation) and roll (Z rotation) rarely happen to our body. The difficulties in learning to control a real six degree-of-freedom vehicle like a helicopter are legendary. Using an integrated six degree-of-freedom joystick for navigation in a virtual world can also be difficult to learn. One may spend much energy in finding one&#39;s orientation. 
     SUMMARY OF THE INVENTION 
     Based on these observations and the problems outlined above, we developed the bulldozer interface for VRML navigation. 
     The bulldozer interface is based on two TrackPoint™ isometric joysticks. There are currently two ergonomic embodiments to dual TrackPoint™ input. One is to integrate two TrackPoints™ into the keyboard control surface. Putting the TrackPoint™ below the C, V and M, N keys allows the TrackPoints™ to be touched with either forefinger and also to be out of the way of typing. The second embodiment is a wristpad instrumented with two TrackPoints™ (FIG.  2 ). Either of the two TrackPoints™ can be used as a pointing device and the other for scrolling. 
     While navigating in 3D worlds, the two TrackPoints™ are operated in an extended, flyable bulldozer metaphor. A total of four degrees of freedom were made available to the user (x, y, z translation and yaw). Pushing both TrackPoints™ forward the user moves forward in the 3D world. Pulling both TrackPoints™ moves the user backward. Pulling the left and pushing the right turns the user to the left and vice versa. Pushing both the TrackPoints™ horizontally in the same direction slides the user sideways. Pushing them in opposite directions moves the user up (outwards) and down (inwards). 
     Comparing against the criteria we outlined in the introduction, the bulldozer interface offers much promise: 
     Integration with existing GUI interfaces and applications. The bulldozer wristpad offers multiple functions. It is first a keyboard wristpad or keyboard itself, the TrackPoint™ and buttons are ergonomically designed to avoid accidental operation when a user rests her hands on it. Secondly, it offers the usual pointing function. Third, the TrackPoint™ on the non-dominant hand can be used for scrolling, eliminating the need of using the scroll bar. Studies have shown such a dual stream pointing and scrolling interface offers significant advantages in document (e.g. web) browsing tasks. Fourth, the dual TrackPoint™ can also be used for two-handed menu operation or two-handed graphical manipulation. 
     Low production costs due to the large quantity of TrackPoints™ produced for the Notebook computers 
     A generic software solution has been developed that requires no change to the VRML browser. 
     The bulldozer interface offers higher navigation performance than the status quo. 
     The last point was a hypothesis based on the following analyses: 
     The bulldozer interface is modeless. 
     It works in rate control scheme that is well suited for navigation. 
     It offers more degrees of freedom, and the integration and separation of these degrees of freedom were designed according to the nature of human navigation. 
     It is based on an intuitive physical metaphor, not an artificial mapping of control motions. For all of the degrees of freedom, there is an isomorphic mapping between control and effect, except moving up and down. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     For a further understanding of the objects, features and advantages of the present invention, reference should be had to the following description of the preferred embodiment, taken in conjunction with the accompanying drawing, in which like parts are given like reference numerals and wherein: 
     FIG. 1 is a graph illustrating a 3-D notation convention used in this application. 
     FIG. 2 is a schematic diagram illustrating one aspect of a prior art 3-D navigating method. 
     FIG. 3 is a schematic diagram illustrating another aspect of a prior art 3-D navigating method. 
     FIG. 4 is a schematic diagram showing one embodiment of the present invention. 
     FIG. 5 is a schematic diagram which illustrates using two joysticks to command forward movement according to the present invention. 
     FIG. 6 is a schematic diagram which illustrates commanding upward movement. 
     FIG. 7 is a schematic diagram which illustrates commanding downward movement. 
     FIG. 8 is a schematic diagram which illustrates commanding a left turn. 
     FIG. 9 is a schematic diagram which illustrates commanding a sideways movement to the right. 
     FIG. 10 is a schematic diagram which illustrates commanding a simultaneous forward movement and left turn. 
     FIG. 11 is a plan view showing a portion of a keyboard having a pair of isometric pointing devices located below the bottom row of keys. 
     FIG. 12 is a plan view showing a keyboard wristpad including a pair of isometric pointing devices and four manually operated momentary switches. 
     FIG. 13 is a graph which illustrates an input threshold and sensitivity relation according to several aspects of the invention. 
     FIG. 14 is a schematic diagram which illustrates another embodiment of the invention. 
     FIG. 15 is a schematic diagram which illustrates a conversion between two pointer inputs and a 4-degree of freedom in a 3-D space output. 
     FIG. 16 is a schematic diagram which illustrates the conversion of FIG. 15 preceded by a threshold function. 
     FIG. 17 is a schematic diagram which illustrates the conversion and threshold functions of FIG. 16 and a rate sensitive function. 
     FIG. 18 is a schematic diagram which adds a compound motion constraint function to the functions of FIG.  17 . 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     With reference to FIG. 4, there is shown a schematic diagram which illustrates a specific embodiment of a three-dimensional pointing system for use with an information processing system (not shown). The pointing system is designated generally by the numeral  20  and includes a pair of pointing devices  22 ,  24 , a threshold function  26 , and a conversion function  28 . 
     Each pointing device  22 ,  24  provides a pair of orthogonal output signals, X 1   30 , Z 1   32 , X 2   34 , and Z 2   36 , respectively. In this application reference to “signals” also includes other representations, e.g., digital representations. In a specific embodiment, the pointing devices  22 ,  24  include software drivers which are part of the information processing system. The output signal pairs (X 1 , Z 1 ), (X 2 , Z 2 ) each represent a displacement of the pointing device from a neutral position. 
     Experiments conducted with actual users teaches that navigation in a three-dimensional virtual reality is more readily learned and fewer mistakes are made when the pointing device output signal pairs  30 - 36  are treated as rates of change of position, rather than as absolute position. 
     In a specific embodiment of the invention, the pointing devices are isometric devices such as the finger-tip operated TrackPoint™ from IBM, Corp. In the case of the TrackPoint™, the output pairs of the device drivers are proportional to the pressure applied by a finger tip via a control lever. In another specific embodiment of the invention, the pointing devices are elastic joysticks. The device driver output pairs in the case of the joysticks are proportional to an absolute displacement from a neutral position. 
     In another specific embodiment of the invention, the device driver output pairs (X 1 , Z 1 ), (X 2 , Z 2 ) are applied directly (not shown) to the conversion function  28 . In another specific embodiment, the device driver output pairs are applied to the threshold function  26 , and the outputs of the threshold function TX 1   38 , TZ 1   40 , TX 2   42 , TZ 2   44  are applied to the conversion function  28 , as illustrated in FIG.  4 . 
     The purpose of the threshold function  26  is to require inputs from the pointing devices to exceed some threshold, typically 30% to 50% of a maximum value, before producing a noticeable change at the output pairs (TX 1 , TZ 1 ), (TX 2 , TZ 2 ). This not only reduces the effects of input noise, but experiments with actual users has shown that it improves navigation in the three-dimensional virtual reality. 
     The conversion function  28  uses known linear transformations to convert the rate information received from the device drivers on lines  30 - 36  to translation along the three orthogonal axes X, Y and Z (FIG. 1) and turning about the Y axis, denoted by the symbol Θ. In a specific embodiment, the conversion function  28  provides four output signals X  46 , Y  48 , Z  50 , and Θ  52 . In one specific embodiment, the signals (X, Y, Z, Θ) represent rates of change rather than absolute linear and angular displacement. In another specific embodiment, the signals (X, Y, Z, Θ) represent absolute linear and angular displacements. The signals (X, Y, Z, Θ) define a three-dimensional space (FIG.  1 ). 
     Experiments with various virtual reality navigational methods have also taught that the two elastic joystick interface (also the two isometric pointing device interface) is easy to learn and use when the system implements a “tractor” or “bulldozer” metaphor. 
     FIGS. 5-10 are schematic diagrams which illustrate a specific bulldozer metaphor. In each of these diagrams two circles  54 ,  56  represent the two joysticks, while the arrows from each joystick represent a displacement away from a neutral position. The length of the joystick arrows is approximately proportional to the displacement of the joystick from the neutral position (proportional to the pressure applied to the lever of an isometric pointing device). The additional lines represent displacement along a specific axis, and rotation about one axis (FIG.  1 ). 
     In FIG. 5, pushing forward on both sticks  54 ,  56  produces movement forward along a Z axis ( 16  FIG.  1 ), just as in controlling a bulldozer. The greater the forward displacement on both sticks  54 ,  56 , the greater the velocity in the forward direction. Releasing the sticks (bringing them back to the neutral position) slows and then stops the forward motion. 
     In FIG. 6, pushing the two sticks  54 ,  56  away from each other, the left stick  54  pushed to the left, the right stick  56  pushed to the right, causes movement upward in a vertical direction along a Y axis ( 14  FIG.  1 ). The greater the displacement on both sticks away from each other, the greater the velocity in the upward direction. Releasing the sticks slows and then stops the upward motion. 
     In FIG. 7, pushing the two sticks  54 ,  56  toward each other, the left stick  54  pushed to the right, the right stick  56  pushed to the left, causes movement downward in a vertical direction along the Y axis ( 14  FIG.  1 ). 
     In FIG. 8, pushing one stick forward and the other stick rearward results in turning (Θ  18  of FIG. 1) in the direction of the rearward stick, also just as in controlling a bulldozer. The rate of turning is proportional to the difference between the two stick displacements. 
     In FIG. 9, pushing both sticks  54 ,  56  to the same side produces movement to the side (unlike a bulldozer) in the direction of the sticks. The sideways speed is proportional to the sum of the two stick displacements. In FIG. 9, both sticks are pushed to the right side, producing movement to the right along an X axis ( 12  FIG.  1 ). 
     Finally, in FIG. 10, a compound movement and turning are illustrated. The left stick  54  is pushed forward while the right stick  56  is also pushed forward but by a greater amount than the left stick (as indicated by the relative length of the arrows). This combination produces movement forward along the Z axis ( 16 FIG. 1) and turning (Θ  18  of FIG. 1) to the left in a counter clockwise direction about the Y axis. The speed in the forward direction is proportional to the sum of the stick displacements, while the turning rate is proportional to the difference between the stick displacements. 
     FIG. 11 is a partial plan view illustrating several keys of a typical keyboard including a pair of embedded isometric pointing devices, such as the IBM TrackPoint™. The illustrated keyboard portion is designated generally by the numeral  60 , and includes the standard keys C  62 , V  64 , N  66 , and M  68 . The keyboard also includes a left pointing device  70  and a right pointing device  72 . The left pointing device is shown located below and halfway between the C and the V keys. The right pointing device is shown located below and halfway between the N and the M keys. This position for the two pointing devices defines one specific embodiment of the invention and provides for convenient manipulation of the pointing devices by fingers and thumbs of opposite hands. 
     In another specific embodiment of the invention, the pointing devices and several manually operated momentary switches are located for convenient manipulation in a wrist pad which is located below the keyboard. This embodiment is illustrated in FIG. 12, a plan view of a wrist pad, designated generally by the numeral  80 . The wrist pad  80  includes a left pointing device  82 , a right pointing device  84 , and momentary switches  86 ,  88 ,  90  and  92 . Again, the pointing devices  82 ,  84  and the switches  86 - 92  are located for convenient manipulation by the fingers and thumbs of both hands. 
     FIG. 13 is a graph which illustrates the operation of the threshold function  26  of FIG.  4 . Displacement of a pointing device away from its neutral position is indicated by a displacement along a horizontal axis  100  of FIG.  13 . The greater the displacement of the pointing device in one direction, the greater the displacement from the center  102  along the horizontal axis  100 . Displacement of the pointing device in an opposite direction corresponds to a displacement in the opposite direction from the center  102  along the axis  100 . The vertical axis  104  corresponds to a pointing device driver output signal, e.g., X 1   30  of FIG.  4 . The function represented by the graph of FIG. 13 illustrates that when a pointing device is displaced from the neutral position by less than a threshold amount (±30% in FIG.  13 ), the output is zero. It is only when the displacement of the pointing device, as indicated by displacement along the horizontal axis  100  of FIG. 13, exceeds the threshold in either direction that a non-zero output is produced. Such a non-zero output is indicated by the sloping lines  106 ,  108 . So long as the displacement is less than ±30% of a maximum possible displacement, the output is zero. 
     The angle that the sloping lines  106 ,  108  make with the horizontal axis  100  corresponds to a sensitivity  110  of the output, e.g., X 1   30  of FIG. 4, with respect to a displacement which exceeds the threshold ±30%. In a specific embodiment the sensitivity of each pointing device driver signal (X 1 , Z 1 ), (X 2 , Z 2 ) is adjustable. 
     Experiment has shown that an optimum sensitivity is associated with each type of movement in a three-dimensional virtual reality space. Typically the optimum sensitivity is greatest in the Z direction ( 16  of FIG.  1 ), less in X and Y directions ( 12 ,  14  of FIG. 1) and least in the turning movements (Θ  18  of FIG.  1 ). Experiment has also shown that a threshold of approximately ±30% is optimum for translation movements in the X, Y and Z directions, and that a threshold of approximately ±50% is optimum for turning movements Θ. 
     FIG. 14 is a schematic diagram represents another embodiment which illustrates additional aspects of the present invention. FIG. 14 illustrates a multi-purpose pointing system for use with an information processing system, including a three-dimensional virtual reality component. The embodiment is designated generally by the numeral  120 , and includes a pair of pointing devices, both designated by the single numeral  122 , pointing device drivers  124 , a conversion function  126 , a virtual reality component  128 , and a display  130 . Also shown is the information processing system  132 , of which the other elements of the embodiment are a part. 
     Output signal pairs (X 1 , Z 1 ), (X 2 , Z 2 )  134  from the pointing device drivers  124  are converted by the conversion function  126  to the signals (X, Y, Z, Θ)  136  as previously described. 
     The pointing devices  122  are used for maneuvering in a three-dimensional virtual reality space created by the virtual reality component  128  and displayed on the display  130 . In a specific embodiment, the pointing device drivers  124  are implemented as software components and provide a software interface between the information processing system  132  and the pointing devices  122 . The conversion function  126  is responsive to the software drivers for transforming the pointing devices software interface to a four-degree-of-freedom three-dimensional interface. Finally, the virtual reality component is responsive to the four-degree-of-freedom interface for defining and maneuvering a point-of-view in a three-dimensional virtual reality displayed on the display  130 . 
     The phrase “point-of-view” means a three-dimensional representation as seen by a viewer in which the Z axis ( 16 FIG. 1) represents the direction in which the viewer is facing, the Y axis ( 14 FIG. 1) represents a viewer vertical axis and the X axis ( 12 FIG. 1) represents a viewer horizontal axis. Turning from the point-of-view of the viewer is limited in a specific embodiment to rotation (Θ  18 FIG. 1) about the viewer vertical axis. 
     In a specific embodiment the pointing devices are isometric devices such as the IBM TrackPoint™ devices illustrated in FIGS. 11 and 12. In another specific embodiment, the pointing devices are the elastic joysticks described above. In a specific embodiment, the device driver outputs  134  and the conversion function outputs  136  represent speed of movement and turning rather than absolute translation and rotation. 
     In another specific embodiment, the pointing devices drivers provide a compatible software interface  134  between the information processing system  132  and the pointing devices  122 . In this mode of operation, one pointing device is used for standard cursor positioning and selecting and activation, while the other pointing device is used for scrolling a displayed document without the need to use a scroll bar. 
     FIGS. 15,  16 ,  17  and  18  are schematic diagrams which illustrate various specific embodiments of the conversion function  126  of FIG. 14 (indicated in FIGS. 15-18 by the broken line  126 ). As in FIG. 14, the inputs to the conversion function  126  are the device driver outputs (X 1 , Z 1 ), (X 2 , Z 2 )  134 , and the output of the conversion function  126  are the signals (Y, Y, Z, Θ)  136 . Both the input signals  134  and the output signals  136  represent rates of change, as described above. 
     In FIG. 15 the conversion function  126  includes only a function  140  for converting the inputs  134  to the outputs  136 , as previously described with respect to FIG.  4 . The function  140  of FIG. 15 corresponds to the conversion function  28  of FIG.  4 . 
     In FIG. 16 the conversion function  126  includes a threshold function  142  which performs the functions described with respect to FIG.  13  and the element  26  of FIG.  4 . For FIG. 16 the conversion function  126  is equivalent to the combined functions  26  and  28  of FIG. 4 (shown enclosed by the broken line  144  of FIG.  4 ). 
     In FIG. 16 the conversion function  126  includes a sensitivity function  146  as described above with respect to FIG.  13 . 
     In FIG. 18 the conversion function  126  includes a function  148  used to constrain specific compound movements within a virtual three-dimensional space. The constraint function  148  is necessary because the bulldozer metaphor described above with respect to FIGS. 5-10 permits various degrees of freedom of motion and turning to be combined without limit. Yet, experiments have shown that many users quickly become disoriented while navigating a virtual reality three-dimensional space when all possible combinations are permitted. In a specific embodiment, the function  148  will disregard any commanded motion and turning which exceeds the input thresholds (FIG. 13) except for the combination movement to the side while turning. This particular combination has been found useful because it permits the user to circle about an object in virtual space while coordinating a turn for keeping the object in view directly ahead. 
     In a specific embodiment, the function  148  is programmable to permit and to inhibit predetermined combinations of movement and turning. 
     Another specific embodiment of the invention defines a method for navigating with four degrees of freedom in a three-dimensional virtual reality. The method includes the steps of providing a pair of joystick pointing devices and compatible device drivers each providing a pair of orthogonal outputs (e.g.,  122  of FIG.  4 ). The method continues with a steps of transforming the device driver outputs to a three-dimensional, four-degree-of-freedom set of transformed outputs, and providing the transformed outputs for navigating within a three-dimensional virtual reality system. Additional embodiments of the method provide steps for creating thresholding and sensitivity functions as described with respect to FIG. 13, and a compound motion constraint function as described with respect to FIG.  18 . 
     The bulldozer interface was experimentally tested against the status-quo mouse-mapping navigation interface (FIGS. 2,  3 ). The purpose of the experiment was to estimate user performance and preference of a bulldozer interface. The experimental tasks were chosen to represent typical maneuvers in 3D navigation. A total of 12 subjects participated in the experiment. All twelve subjects were regular users of the mouse. Eight of them used the TrackPoint™ regularly, three subjects had little experience and one had no previous experience with the TrackPoint™. Each subject was tested on both the bulldozer and the mouse interface. 
     The experiment results showed that the bulldozer interface provided a clear and substantial amount of advantage over the status quo mouse-mapping interface, both in terms of navigation performance and in terms of user&#39;s preference. Although all of the subjects had more experience with mouse, their mean navigation performance was faster with the bulldozer interface in all conditions. 
     The bulldozer interface made four degrees of freedom available to the user without requiring explicit mode switching. However, as discussed earlier, some degrees of freedom should be integrated (simultaneously activating) and others should be separated (de-coupled) by means of mutual prohibition or thresholding. For instance, pilot tests showed that it was preferable to have forward movements (Z translation) and turns (Y rotation) separated so that it is easier to move straight ahead. On the other hand, we allowed simultaneous side translation and rotation. We observed that subjects quickly made use of such a capability and performed circular movement facing the center of the circle by simultaneously moving sideways (X translation) and turning (Y rotation). This style of navigation proved to be very useful in free flying tasks in which the users could move themselves while keeping a target object in view. 
     While the invention has been described in relation to the embodiments shown in the accompanying Drawing figures, other embodiments, alternatives and modifications will be apparent to those skilled in the art. It is intended that the Specification be only exemplary, and that the true scope and spirit of the invention be indicated by the following claims.