4. Software
3D mouse without good software would be only a dead
piece of plastic, so several programs were developed. All software was
written for free Unix clone - Linux and graphics was done with help of
the Mesa library (free OpenGL clone). Software consists of these programs
:
-
Mouse "driver" - it's main task is communication with hardware. The term
driver is little inappropriate, because it is a user-space task, actually
a separate thread of execution. Besides communication, it provides the
application with calculated and filtered coordinates of the moving transmitter.
-
Calibrator - it serves as a mean to standardize each installation
of the 3D locator. It calculates normalization matrix, which is used to
convert calculated coordinates of the 3D mouse (transmitter) to the unified
cube.
-
Simple metaballs modeller - this is a demonstration application, which
shows some capabilities of the 3D mouse. The modeller is actually very
simple, allows limited count of spherical primitives only. Displaying of
metaballs is done by the "Marching Cubes" algorithm, which was adopted
from [5] and calculations needed were taken from [1] and [2]. User
interface of the modeller was influenced mostly by [6], [8]. It is actually
very simple and was not designed with serious work in mind. It cannot even
save the modelled object into the file ... Figures 3 and 4 show the
modeller "in action".