A device and software system with input and output capability for
manipulating real and virtual objects in 3-dimensional space. The device
consists of a six degree-of-freedom mechanical armature that has sensors
to determine the location and orientation of a stylus and planar surface.
In the input mode, manipulation of the physical armature will result in a
corresponding two-dimensional, virtual image of the stylus and surface on
a computer screen. The armature also has motors to automatically change
the armature location and orientation in order to generate a physical
representation in the real world of the location and orientation of a
virtual object. The armature is built so that it maintains balance at any
location and orientation to statically maintain the armature location and
orientation without drifting to a null rest position.