A 3D Dynamic Geometry Software

Calques 3D


SpaceNavigator

SpaceNavigator 3Dconnexion's SpaceNavigator is a compact, programmable USB input device designed for 3D applications. It's a six-axis controller that senses tilt and rotation as well as x, y, and z linear motion. The product was released last November.

Although such technology is not new and has been used by 3D artists and CAD designers for a long time, the real treat of the SpaceNavigator is its price: the personal edition (for non-commercial purposes) is priced at $60!

The device does not intend to replace the mouse but to complement it. It only takes a matter of minutes to get accustomed to the controller, and it is infinitely easier to use than a mouse. The only potential source of confusion is the fact that the device is circular, so if it is sitting askew, your hand motions may be off-axis. Subtle ridges placed on the four compass points of the controller are intended to avert such misalignment, but when you are first starting out it requires conscious thought to make sure you point it in the correct direction.

Quite a lot of applications are now supporting the device. And Calques 3D is next!

Installation & Configuration

Install the drivers delivered with the SpaceNavigator (or download the latest version online) and plug the device into one of your free USB port and Calques 3D will do the rest.

3Dconnexion's devices are not configured like typical I/O devices such as keyboards or mouse but rather use the COM (Component Object Model) technology. Basically, the SpaceNavigator continuously fire data streams about rotations and translations operated on the device, streams that need to be intercepted and interpreted in an application.

At launch time, Calques 3D will detect whether a 3D-mouse device is connected and will start intercepting the input streams.

Note that the integration of the SpaceNavigator in Calques 3D is totally transparent and does not require any activation in the software. If you don't have the device, nothing will happen. If you have installed the drivers but the device is not plugged in, you may experience some delays while Calques 3D is launching.

Movements with the SpaceNavigator are operating along 6 axis: roll, tilt, spin, zoom, pan left/right and pan up/down (see table below). Each of these movements are associated with a particular operation in Calques 3D, depending on which view is active in the application, as summarised in the table.

At the moment, only the Universe and OpenGL views support the SpaceNavigator, both of them for changing the point of view of the observer (i.e. rotating and translating the construction). Note that all 6 axes are not yet fully supported, as they imply manipulation of the observer's point of view that is not supported by Calques 3D (as the spin in the Universe view).

I also tried to maintain the same visible behaviour across the two views, resulting in slightly different configurations of the axes. This is due to the difference of modifying the observer's point of view in the Universe view - a rotation along the Z-axis and an elevation from the horizontal plane - and the OpenGL view - the construction is embedded in a virtual track-ball that can be rotated along the X (horizontal),Y (vertical) and Z-axis (toward you).

Axis Universe View OpenGL View Construction & Deformation
Roll Not yet supported Rotate the trackball along the Y-axis (equivalent to dragging the trackball horizontally in the view). Not yet supported
Tilt Modify the elevation of the observer from the horizontal plane (equivalent to using the vertical slider in the window). Rotate the trackball along the X-axis (equivalent to dragging the trackball vertically in the view). Not yet supported
Spin Rotate the observer along the Z-axis (equivalent to using the horizontal slider in the window). Rotate the trackball along the Z-axis (equivalent to rotating the trackball in the view). Not yet supported
Zoom Change the distance of the observer from the center of the universe (only available in perspective mode). Change the distance of the observer from the center of the view (equivalent to modifying the field of view in the OpenGL properties). Not yet supported
Pan Left/Right Translate the centre of the view horizontally in the window. Not yet supported Not yet supported
Pan Up/Down Translate the centre of the view vertically in the window. Not yet supported Not yet supported

Fine-tuning

The SpaceNavigator can be configured more precisely by its control panel. In it, you will find controls for modifying the overall speed of the your device (see snapshot below), for changing the orientation of the zoom, for the activation/desactivation of individual axes and for associating commands to its button (see snapshot below).

Future Developments

The SpaceNavigator is currently used to control the observer's point of view but I am looking at using the device to control the translation in space of the geometrical objects themselves (i.e. free points), as an alternative to the current 2D manipulation with the mouse. Ideally, this will involve a different user interface, where the mouse is used to select a point in the figure and then the SpaceNavigator is used to drag it in three dimensions.

The device also comes with two configurable buttons. By default, the right button opens the SpaceNavigator Control panel (see snapshots above), whereas the left one does nothing! I am looking at offering specific configuration for Calques 3D by associating some of its command with the buttons.

More to come! If you have any suggestion about using SpaceNavigator in a totally different way. please let me know.