Availability of technology as well as impractical costs held back the development and application of virtual environments until the 1980s.
Since then, further research and technological advancements have allowed new doors to be opened to application in various other areas such as education, entertainment, and manufacturing.
In 3D interaction, users carry out their tasks and perform functions by exchanging information with computer systems in 3D space.
The tasks that users perform have been classified as selection and manipulation of objects in virtual space, navigation, and system control.
A consistent and efficient mapping between techniques and interaction devices must be made in order for the system to be usable and effective.
Currently, users still have difficulty in interpreting 3D space visuals and understanding how interaction occurs.
Also, even though scenes in virtual space appear three-dimensional, they are still displayed on a 2D surface so some inconsistencies in depth perception will still exist.
To that effect, special input and output devices have been developed to support this type of interaction.
Both the user and the system do not have the same type of language, therefore to make possible the communication process, the interfaces must serve as intermediaries or translators between them.
Another way to characterize these devices is according to the different categories of depth perception cues used to achieve that the user can understand the three-dimensional information.
These devices use the sense of touch to simulate the physical interaction between the user and a virtual object.
Classical interface components (such as mouse and keyboards and arguably touchscreen) are often inappropriate for non 2D interaction needs.
Nonetheless, many studies have questioned the appropriateness of desktop interface components for 3D interaction [1][4][5] though this is still debated.
Trackers detect or monitor head, hand or body movements and send that information to the computer.
A simple 2D mouse may be considered a navigation device if it allows the user to move to a different location in a virtual 3D space.
Navigation devices such as the treadmill and bicycle make use of the natural ways that humans travel in the real world.
In the case of navigation devices, the information passed on to the machine is the user's location and movements in virtual space.
For the full development of a 3D User Interaction system, is required to have access to a few basic parameters, all this technology-based system should know, or at least partially, as the relative position of the user, the absolute position, angular velocity, rotation data, orientation or height.
The collection of these data is achieved through systems of space tracking and sensors in multiple forms, as well as the use of different techniques to obtain.
The implementation of these systems can be achieved by using various technologies, such as electromagnetic fields, optical, or ultrasonically tracking, but all share the main limitation, they should have a fixed external reference, either a base, an array of cameras, or a set of visible markers, so this single system can be carried out in prepared areas.
Inertial tracking systems do not require external reference such as those based on movement, are based on the collection of data using accelerometers, gyroscopes, or video cameras, without a fixed reference mandatory, in the majority of cases, the main problem of this system, is based on not obtaining the absolute position, since not part of any pre-set external reference point so it always gets the relative position of the user, aspect that causes cumulative errors in the process of sampling data.
The goal to achieve in a 3D tracking system would be based on obtaining a system of 6-DOF able to get absolute positioning and precision of movement and orientation, with a precision and an uncut space very high, a good example of a rough situation would be a mobile phone, since it has all the motion capture sensors and also GPS tracking of latitude, but currently these systems are not so accurate to capture data with a precision of centimeters and therefore would be invalid.
This type of device can be affected by external references of infra-red light bulbs or candles, causing errors in the accuracy of the position.
It uses computer vision and internal sensors (like gyroscopes) to enable mobile devices, such as smartphones and tablets, to detect their position relative to the world around them without using GPS or other external signals.
Instead of basing its operation on sensors, this is based on a structured light scanner, located in a bar, which allows tracking of the entire body through the detection of about 20 spatial points, of which 3 different degrees of freedom are measured to obtain position, velocity and rotation of each point.
It is a small device that connects via USB to a computer, and used two cameras with infra-red light LED, allowing the analysis of a hemispheric area about 1 meter on its surface, thus recording responses from 300 frames per second, information is sent to the computer to be processed by the specific software company.
In virtual space it is different and more difficult to do than in the real world because synthetic environments are often missing perceptual cues and movement constraints.
3D widgets can be used to put controls on objects: these are usually called 3D Gizmos or Manipulators (a good example are the ones from Blender).
Most 3D datasets/environments are severed by occlusion problems,[12] so the first step of finding the target relies on manipulation of the viewpoint or of the 3D data itself in order to properly identify the object or volume of interest.
This task allows the user to enter and/or edit, for example, text, making it possible to annotate 3D scenes or 3D objects.