A three-dimensional (3D) mouse is a variation on the traditional two-dimensional (2D) mouse that is designed to make it possible for the user to move a cursor in three dimensions inside an application. The actual design of a 3D mouse can vary from one manufacturer to the next, with some models being nothing more than a 2D mouse that has additional buttons arranged on the unit so that, when pressed, the mouse switches which axis it is controlling. Another style of 3D mouse is used by holding the device in the air and moving and rotating it as if it were a 3D model or camera within the application being used. One of the issues that can be encountered when using a 3D mouse is the issue of resolution, where the movements of the mouse in relation to the cursor in the application are not coordinated well, making it difficult to control. In most cases, a 3D mouse is used for the design and manipulation of 3D objects in a modeling, engineering or scientific visualization program.
The problem a 3D mouse is intended to solve is the issue of maneuvering within a virtual 3D environment. This traditionally is done through a combination of keystrokes and the movements of a normal mouse. This can be problematic and slow, sometimes requiring a designer to constantly rotate the view of a model to access certain faces or to keep several separate windows open simultaneously to work efficiently.
A 3D mouse can operate in a number of ways, but two methods are most common. The first is that whatever mechanism the mouse is using to provide free motion activates a series of keyboard and 2D mouse macros within the 3D program being used. In this instance, the mouse is a convenient way to trigger normal rotations, selections and other movements without requiring multiple keystrokes or a sequence of disparate steps. This has the advantage of working well with nearly any existing program, because it is just triggering existing functionality.
Another method that can be used is to tie the special movements and functionality of the 3D mouse directly into a 3D application so manipulating an object is unique from using a keyboard and 2D mouse. This can greatly increase the efficiency of using a 3D application. One drawback is that the application will need to support advanced plug-ins or otherwise have a way to integrate the mouse motion into the program.
In actual design, a 3D mouse can appear as an elevated sphere on a platform, a cylindrical dial, a standard mouse with multiple buttons, or even as a pen attached to a mechanical arm. Mice that are held and moved through the air can appear as a wand or a curved boomerang-like shape studded with buttons. One unique design places most of the mouse circuitry on a ring that is worn on one hand with a small bank of accessible buttons in the palm of the hand, allowing the user to manipulate objects with hand motions.