3D Interfaces in a Distributed Modelling Environment

3D Devices, Interaction and Visualization Techniques

André Stork
Brian Anderson
Fraunhofer-Institut für Graphische Datenverarbeitung (IGD)
Abteilung Industrielle Anwendungen
Wilhelminenstr. 7
D-64283 Darmstadt

Email: stork@igd.fhg.de
URL: http://www.igd.fhg.de/~stork

Email: anderson@igd.fhg.de
URL: http://www.igd.fhg.de/~anderson

Abstract

This paper discusses an environment for modelling industrial designs which addresses desktop input and output devices, 3D interaction techniques, and cooperative work through distributed virtual worlds. We introduce the ARCADE modelling system which responds to the demands of industrial designers with natural interaction techniques and high quality presentation throughout the construction process. It supports rapid prototyping through quick 3D sketching, followed by revisions adding more detail. We elaborate the hardware considerations of input and output devices for the ARCADE system, evaluating the use of VR devices in a desktop environment. ARCADE is placed within a distributed visualization environment that supports cooperative work and the integration of applications through shared 3D virtual worlds.

CR Descriptors: I.3.1 [Computer Graphics]: Hardware Architecture - Input devices; Three-dimensional displays; I.3.2 [Computer Graphics]: Graphics Systems - Distributed/networked graphics; I.3.5 [Computer Graphics]: Computational Geometry and Object Modeling - Modeling packages; I.3.6 [Computer Graphics]: Methodology and Techniques - Ergonomics; Interaction techniques; J.6 [Computer Applications]: Computer-Aided Engineering - Computer-aided design (CAD)

1 Introduction

Today's CAD and modelling systems are burdened with the discrepancy between the two-dimensional input and output devices (2D mouse and display) and the three-dimensional virtual scene. This hampers the user's orientation, placement and navigation, leaving the full potential of 3D CAD systems unrealized. This and the fact that most systems have a huge and confusing set of functionality are reasons for the relative small market penetration of 3D CAD.

Intuitive and direct manipulative 3D interfaces are required, especially in the early design phase where users need to have quick and high quality visual feedback for a realistic impression of the object's shape. To realize this, 3D input devices should be introduced to render the interaction more natural and to avoid the 2D to 3D mapping of input. Also 3D output devices should be brought into 3D CAD to enhance the visual impression of depth. Moreover, these devices should be combined with appropriate interaction and visualization techniques to completely realize their capabilities.

In this paper we present ARCADE (Advanced Realism Computer Aided Design Environment) a 3D modelling system that provides a high degree of realism in the presentation of design objects and natural interaction during construction by

thus supporting Special emphasis is given to ergonomic considerations and the acceptance of applied 3D devices in the CAD field. Current trends in this field are also taken into account.

We also describe how ARCADE relates to its surrounding distributed visualization environment, allowing concurrent cooperative designing [SK93],[JKS*94], [JKQ*95]. Different applications communicate the 3D objects in their scenes, joining all of the objects into one shared virtual world. Multiple views can be opened into the same virtual world, so that several users can simultaneously work on one industrial design.

2 Related Work

Soon after the availibility of the first 3D input devices, their application for modelling tasks was explored [Cla76], but the technology was very expensive and scarcely accepted by designers. Certainly, one reason for the resistance was the state of the workstations, graphics and CAD systems 20 years ago.

In the last years there has been increasing activity in this field, driven by the experience made in Virtual Reality [SRS91], [BDH*92], [LG94], which could show that introducing 3D devices can considerably speed up the design process, esp. in the sketching phase. Further developed technology, decreasing hardware costs, and powerful workstations and graphics systems are working their way into the 3D CAD field. It is also worth mentioning that the 3D CAD field is not that old and well established.

In comparison to JDCAD [LG94], ARCADE shows the following major differences: the virtual scene is surrounded by a traditional 2D user interface, supporting multi-modal dialogues; a space mouse is used as input device, ensuring precise and comfortable work; the models can be presented in stereo using shutter glasses; a complete range of modelling capabilities are provided by employing ACIS [Spa94] as the modelling kernel; an object-oriented database is linked to access STEP-conformant [ISO94] data via SDAI [ISO95] for standardized data access and exchange.

[SRS91] mainly address the creation of free-form surfaces. They apply 3D input devices for "drawing" directly in 3D. In contrast, ARCADE focuses on solid modelling, how shapes can be easily created and manipulated and how the semantics of the shapes can be maintained by the interaction technique and how the interaction technique can be parameterized by the semantics.

Both, [SRS91] and [LG94] do not address any cooperative work and distribution aspects combining several users with possibly different input devices in one shared 3D environment. There are many other approaches, some considering only object movement [WJ88], others developing new devices for object deformation [Mur95] and again others evaluating different 3D interaction metaphors for navigation performance [SS95].

3 Perception of Depth and Shape

One essential topic in 3D CAD to improve orientation, navigation and positioning is the visualization of the objects so that the users get both a good impression of their shape and their relative position. To accomplish this, it is important to consider how depth and shape is perceived by human beings. Depth is perceived by the disparity of the images generated by two slightly displaced eyes. Out of the two images, the brain reconstructs the three dimensional scene [BB82]. Shape is mostly extracted from shading and texture effects, e.g texture compression or the texture element's shape [Nal93].

3.1 Binocular Vision

Only binocular vision ensures real depth perception. Experiments with random dot stereograms [JFG*73] has proven that depth perception is independent from the perception of shape. Although shape information include some depth hints,it is not intrinsic depth information.

Stereoscopic perception of computer generated scenes can be realized by using stereo output devices, such as stereo glasses, head mounted displays (HMDs), and BOOMSs [ABF*94]. There are also stereo-capable monitors in development to avoid 'wearing' devices [Kr#95] which might help overcome existing acceptance problems in the field of CAD workplaces.

3.2 Monocular Vision

Even if natural scenes are usually perceived stereoscopically, the visual system is able to extract depth information from a monoscopic image, due to: 3D CAD systems rarely provide such information to enhance the visual realism on 2D output. Sometimes the necessary information is just not available, such as texture, or its appropriateness is questionable, like atmospheric effects. Even shading is often not apparent, because a wireframe rendering style is used to increase performance.

In real scenes the visual system also uses the accomodation of an eye to estimate the distance of the object. Since the eye always accomodates to the screen of the CRT display, this effect cannot be used here. Additionally, the relative velocity of different objects in a moving scene contains important depth information. By rotating the camera around the scene, this can also be used in a modelling system.

3.3 Applied Depth and Shape Hints

Our system combines several visualization techniques with stereoscopic output to come close to real scenes that usually contain shading, shadows and textures. In the shared environment different users can have different output devices. This stresses the need for appropriate visualization techniques on 2D displays.

The objects in the scene are shaded and rendered using a perspective projection, so occlusions and perspective distortions are apparent. Additionally, objects farther away from the camera are darker than the nearer ones (depth cueing). Kjelldahl [KP95] has compared wireframe and shaded rendering concerning the contained depth information. These experiments found that shading alone is less advantageous than expected. Therefore, we use shadows of the objects projected onto virtual walls surrounding the scene. By making the shadows transparent one can also derive shape information, because concavities of the objects yield darker portions in a shadow.

We intend to evaluate atmospheric effects, textures and shadows between objects and examine what is the most appropriate technique with and without stereo output. Of course, the introduction of all these rendering facilities will entail high performance requirements. Thus, techniques to reduce the complexity of the scene and the shadows, such as different levels of detail, are needed.

4 3D Hardware considerations

As already stated, there is a strong need for 3D devices in order to render the modelling task in 3D more efficiently. Not only on the side of the output device, but also on the side of the input. The graphics hardware itself is beyond the scope of the paper.

Most 3D devices stem from virtual reality (VR) research systems. In contrast to VR, the purpose of a CAD system is object creation and modification. The construction of objects is usually not carried out in virtual reality. Nonetheless, the developed technology and interaction techniques from VR can be considered as a basis for CAD. The CAD field places specific requirements on the devices as well as the interaction and visualization techniques. What is adequate for a short term presentation in VR, can become unacceptable in the day-to-day routine of a designer.

4.1 The Choice of the Input Device

It was decided to use a space mouse as input device. It is comparably precise and comfortable to use since it is placed on the desk, so that the user's arm can rest on it without getting tired. It can be slightly translated and rotated so that the user receives a feedback for his action and it is rather inexpensive compared to the CAD software and hardware. The space mouse can be used similarly to a usual 2D mouse, thus a high degree of acceptance from designers can be expected.

In contrast to that, gloves do not meet the specific requirements, they are not precise enough, they often need to be calibrated, they require different interaction techniques, including gesture recognition [BHV92], and force feedback is still an unsolved problem. Flying devices tend to fatique the user, because the bats have to be carried and moved around through space.

4.2 The Choice of the Output Device

As long as Sutherland's comfortable, see-through head mounted display (HMD) [Sut65] is still wishful thinking, we have to choose the best compromise out of the available devices.

Stereo glasses were chosen for the output of stereoscopic images. They are comfortable to use due to their light weight. They offer high image quality and are transparent if the user turns his head away from the monitor, for instance to take a look at a drawing. And they are also relatively inexpensive.

Although HMDs can render high quality images, they were rejected because they are heavy and expensive. Furthermore, they do not allow for seeing the surroundings, thus they are judged inadequate for the daily use of a CAD user.

Figure 1: System Configuration including the chosen 3D devices

4.3 The problem of controlling the camera

Usually the user has to toggle between two modes; either his input device controls the cursor or it controls the camera. A head tracker can solve this problem in some cases, but not generally. The problem is how to map the rotation angle of the user's head to the camera. If there is a 1:1 mapping, how can one look at the object from the backside? If it is a non-linear mapping, how should it be controlled? If one cannot set the mapping inactive, what happens if the designer wants to take a look on a drawing lying beside the keyboard? Will each small position modification of the user's head be mapped to the camera? If so, how can smooth movement be ensured and jitter avoided? Although there are solutions for some of these questions, it is quite obvious that there is still a necessity for controlling the camera with the input device.

5 System architecture

ARCADE is built upon the ACIS [Spa94] modelling kernel which is encapsulated by the Modeller, allowing the replacement by another modelling kernel. The connection to a commercial, object-oriented database (Versant) allows STEP-conformant [ISO94] data access through SDAI [ISO95]. The graphical input and output is based on OpenInventor1 1Currently OpenInventor is under discussion as basis for the successor of CGM and in the context of WWW as VRML. This graphics system could become an equivatent for 3D interfaces to what X/Motif is today for 2D. [Wer94]. Interactions are handled locally by the GraphI/OManager, enabling direct manipulation. Only after finishing a manipulation is the modification propagated through the system by the ObjectManager. The ObjectManager handles all design objects and takes care of the consistency of their different representations. The user interface is realized with X/Motif [HF94]. The UIManager is responsible for the static layout of the interface (described in UIL [Bre93]) and the dialogue handling, whereas the UILayouter realizes user interface configuration functionality [ES95]. Using these tools and (de-facto) standards, the practical relevance of ARCADE is ensured. Furthermore, through its open, modular architecture, it can be used as a basis for other applications. For instance, a Feature-based modeller [Vie95] has been implemented using ARCADE.

Figure 2: System Architecture

The system architecture of ARCADE conforms with the one of the CAD Reference Model [Abe94] and its development is partly done within that project.

6 3D interaction

Within 3D CAD systems the users want to create and manipulate the design objects directly in the virtual design space. We use manipulators as the 3D interaction paradigm to accomplish this. Manipulators (often called "handles" in 2D systems) are small graphic elements in 3D which the user can click and drag, causing changes in the corresponding object. They reduce the amount of interactions by presenting manipulation functionality within the 3D scene so that the user does not have to leave and reenter the graphical window to carry out the modification. If 2D input devices are used, manipulators can perform the necessary mapping of the 2D events to 3D interactions. Although this mapping is not needed when using 3D input devices, we still apply manipulators as the common paradigm for giving the user an idea of what manipulations are possible on a specific object and to show a visual feedback during the interaction, as well as for other reasons mentioned later.

OpenInventor has some built-in manipulators but we found that they are not sufficient for our modelling application context. In our modelling application we distinguish between several solid primitives (cubes, rectangular prisms, circular versus elliptical cylinder/cones, truncated pyramids, etc.). These primitives require specialized manipulators to modify the entire shape (transform) or specific parameters (height, radius, etc.).

6.1 Constrained Manipulators

For each parameter of a solid primitive, a parameter dragger is applied, which can be constrained with regards to the supported parameter range. Additionally, intervals or a discrete set of allowed values can be specified.

Similarly, transformation manipulators can be constrained depending on the semantics of the objects, especially in a feature-based modelling application [SBV95]. Depending on the interrelationships of the features, certain manipulation possibilities are restricted and only the valid ones are visualized (see Figure 8). Constraints on the transformation possibilities can be visualized as done for the parameter draggers. For instance, if a hole is placed in a face of a block, it is not only restricted to a certain size, but also its translation is limited to the boundary of the face considering the radius of the hole. So, showing the valid positions with a bound transparent face and limiting the translation to this face is one possibility to give the user a visual feedback of the allowed manipulation (see Figure 9).

6.2 Handling 3D Events

When using a 3D input device such as a SpaceMouse, the manipulators are no longer needed to do the 2D/3D mapping of the mouse events. Nonetheless, they can still be used to restrict the 3D events if a constrained movement is desired.

The built-in manipulators (draggers) in OpenInventor do not recognize any 3D events. One solution is to let the application register for 3D events, interpret them and set the fields of a manipulator explicitly. Another possibility is to extend the facilities of the draggers to respond to 3D events. We are currently researching these alternatives.

7 Distributed visualization and design

The ARCADE system runs in a distributed visualization environment based on the sharing of a 3D scene between applications. Within this environment, multiple applications may contribute objects to one shared scene. When opening a view into the shared virtual world, the user sees and can interact with the complete set of objects. There are two main benefits that result from this distributed architecture: multiple users can simultaneously work on the same design, and the visualization tasks can be distributed among smaller, more specialized programs.

Through the use of 3D manipulators for interaction, the objects in the scene encapsulate not only appearance, but also behavior. The shape of the design and the methods for transforming it are both represented by three-dimensional objects. This property eases the distribution of modelling tasks, because when the scene is shared, then both the geometry and interaction techniques are shared.

When an ARCADE program starts, it creates a virtual world of design objects and manipulators. Other applications can connect to this world, and add other objects to this virtual environment or manipulate the already existing objects. When an additional user participates in this shared 3D environment, the shape of the design objects and their manipulators are communicated to this user through the network. Events from this new user are sent to the program that controls the object with which the user is interacting. The 3D manipulators turn these events into transformations on the 3D objects. In this way, two users, on different platforms, can cooperate on the design of a single 3D model.

7.1 Cooperative work scenario

Suppose a designer using ARCADE, with the 3D input and output devices described above wants to discuss an aspect of his design with his supervisor. The supervisor opens a view into the environment created by the modeller, and a 3D pointer program is started that also participates in the environment. Both the designer and supervisor now have views of the same model. They can maintain independent cameras, or decide to share the same camera position in order to see the same view. The designer uses a 3D pointer to explain the problem. The supervisor creates and moves another pointer to help convey her opinion. Though the supervisor is working on a 2D desktop environment and the designer is using a 3D input device, the extended draggers in the pointers can respond to either a 2D or 3D input event. The designer transforms the aspect of the model under discussion through a specialized type of manipulator. Perhaps the supervisor disagrees and uses the same manipulator to alter the model differently. When the discussion is over, the supervisor quits the shared environment and the designer continues his work.

7.2 Shared 3D Environment Architecture

The objects in a 3D scene can be represented by a hierarchical graph structure. In a shared 3D environment, the scene graph is divided among the participating applications. Each application is responsible for its portion of the scene graph and broadcasts changes to the other applications. Events on a specific object are sent to the application that controls that object, which decides how it reacts to this event.

The applications that participate in a shared 3D environment can be grouped into three categories: the base program, augmenting programs, and browsing programs.

Figure 3: Organization of application groups participating in a shared 3D virtual world

The base program could be an industrial design modeller, a visualization program, or a VRML viewer; it decides the context for this shared 3D environment. The augmenting programs add objects to the 3D scene to enhance the environment but do not open views into the scene. Augmenting programs may, for instance, control networked 3D pointers or annotations. The browsing programs represent additional users; they maintain different camera views of the scene and broadcast events to the other applications.

This modularized architecture allows flexible plug-and-play functionality between applications. For instance, by adding an augmenting program to the shared 3D environment, the user can make and display annotations within an ARCADE modelling session without any code for annotations having to be added to the ARCADE program. In addition, the annotation program could be used with a different base program, for instance a physical simulation, simply by running it in a different shared 3D environment.

7.3 Realization of Shared 3D Environments

When using OpenInventor, an application constructs its scene graph and then attaches the graph to a viewer object to display it. For the shared 3D environment model, we have extended OpenInventor by creating a new node class that implements the connection to the shared environment. An instance of such a node is placed between the application's scene graph and the viewer.

Figure 4: Joining two scene graphs with the networked node

This networked node handles the communication and joins the scene graphs from various applications. When receiving messages from other applications, this networked node creates local copies of the remote scene graphs. Since the viewer is placed above the networked node, the user sees the objects from the local and remote scene graphs joined together into one scene. When events from the user are sent from the viewer to the scene graph, the networked node decides in which portion of the scene graph the event is occurring. If the event is occurring on an object in one of the remote scene graphs, the event is sent to the application responsible for this section of the scene graph. Because the networked functionality of the shared 3D environment can be encapsulated into this networked node, the program code can be placed into a library, making it easier to add it to existing OpenInventor applications.

There are three message types that communicate changes in a scene graph: a whole scene graph change, a change in a subgraph, and changes in the fields of a single node. When an application first connects to the shared environment, it receives whole graph messages from the already participating applications. When a change occurs in a local scene graph, either a subgraph or a single node message is sent, depending on the number of nodes affected.

Events can be sent as keyboard, 2D mouse or 3D events. Along with the cursor position and the button states, the current camera position and window size are sent. The event can then be reconstructed in an application as if the remote user was actually sending events to this application's viewer. In this way, different users can have different camera positions and still interact with the same scene.

At connection time, applications communicate which types of messages they want to receive. Changes in a scene graph will not be sent to an application unless this application says that it is interested in the shared scene graph. Likewise, an application can register interest in 2D and/or 3D events, shared camera positions and light source positions. Network traffic is reduced by sending messages only to the applications that are interested.

8 Examples

We begin our examples section with an image showing ARCADE including its 2D interface and a model generated with it. The shadows on the virtual walls can be seen in the background.

Figure 5: ARCADE showing a model (color image see color tables)

The next image compares two simple models, one is rendered with depth cueing the other without. Assuming the same material for both objects, it is obvious which is the nearer one.

Figure 6: Models rendered with (left) and without (right) depth cueing

The following figure shows the constrained parameter dragger with the upper and lower bounds visualized as flat cylinders. The current parameter value is displayed directly in the scene. The text can be edited by selecting it and typing in a new value. Hitting return causes the dragger to take the value.

Figure 7: Constrained parameter dragger

The next example is taken from feature based modelling, the object transformation of a slot in a cube is restricted by the semantics of the feature. Thus, it only can be rotated around the local z-axis, otherwise it would contradict the definition of a slot. If the interrelationship was not considered, the slot would be a rectangular prism that could be rotated arbitrarily in space.

Figure 8: Constrained rotation manipulator

The last example is also taken from feature based modelling, it shows a constrained translation manipulator which only allows translation within a certain bound face. This face is determined considering the shape of the hole and of the object on which it is placed. The valid positions are visualized as a transparent face.

Figure 9: Constrained translation manipulator

9 Conclusions

We have shown how techniques stemming from VR can be introduced to the field of modelling and CAD to render the design process more efficiently. We pointed out the major drawbacks of todays CAD systems on the interface level and the special requirements that have to be taken into consideration when applying 3D input and output devices.

We introduced our system, ARCADE, which uses state-of-the-art visualization techniques to enhance the visual realism of the presented design objects for improving depth and shape information in the presentation easing orientation, navigation and positioning. ARCADE also provides specialized manipulators as interaction technique that maintain the objects' semantics and can be parameterized based on information derived from a Feature-based modelling approach.

The use of 3D interaction objects within a distributed visualization environment permits the use of specialized programs that are smaller and therefore easier to update and debug. These applications can be flexibly combined in a shared 3D environment according to the needs of a particular modelling session to support concurrent engineering within open architectures.

10 Further work

There is a strong need for evaluation and acceptance studies of 3D devices for daily use in a CAD environment. We intend to increase our system towards a broader free-form modelling functionality. Methods for direct-manipulative sweeping and blending have also to be developed, which place special requirements on the modelling kernel. The point of how to control the camera position most appropriately and efficiently also leaves some question open for further activities.

We would like to expand the types of augmenting programs used in shared 3D environments. Currently being developed is a program that would add geometry to a shared scene, representing shadows cast from one object to another. We are also exploring ways to move the functionality from the 2D interface into the 3D scene. These include 3D icons that activate callbacks when clicked and 3D menus. Access rights to the shared environment and to the objects within also need to be considered.

Acknowledgements

The authors want to thank Prof. J. L. Encarna##o and Dr. J. Rix for their guidance and help and for making this work possible.

We also want to thank our students: M. Maidhof, T. Richter and I. Siedermann for helping with the implementation of the ideas.

References

[Abe94] ABELN, O. (Hrsg.): CAD-Referenzmodell, Teubner, Stuttgart, 1994.

[ABF*94] ASTHEIMER, P., B#HM, K., FELGER, W., G#BEL, M., M#LLER, S.: Die Virtuelle Umgebung - Eine neue Epoche in der Mensch-Maschine-Kommunikation. Teil I: Einordnung, Begriffe und Ger#te, Informatik-Spektrum, pp. 281 - 290, Springer Verlag, 1994.

[BB82] BALLARD, D., BROWN, C.: Computer Vision, Prentice Hall, 1982.

[BDH*92] BUTTERWORTH, J., DAVIDSON, A., HENCH, S., OLANO, T. M.: 3DM: A Three Dimensional Modeler Using a Head-Mounted Display, Proc. 1992 Symposium on Interactive 3D Graphics, Cambridge, Massachusetts, pp. 135 - 138, March 29 - April 1 1992.

[BHV92] B#HM, K., H#BNER, W., V##N#NEN, K.: GIVEN: Gesture Driven Interactions in Virtual Environments. A Toolkit Approach to 3D Interactions, Proc Informatique 92: Interface to Real and Virtual Worlds, pp. 243 - 254, 1992.

[Bre93] BRENNAN, D.: UIL: File format, data types, functions. In P. M. Ferguson, editor, Motif Reference Manual, pp. 755-824. O'Reilly Associates, Inc., 1993.

[Cla76] CLARK, J. H.: Designing Surfaces in 3-D, Communications of the ACM, 19, 8, pp. 454 - 460, 1976.

[ES95] ENCARNA##O, M., STORK, A.: Adaptionsm#glichkeiten in modernen CAD-Systemen: Bewertung, Konzeption und Realisierung, to appear in Proc. CAD96.

[HF94] HELLER, D., FERGUSON, P. M.: OSF/Motif Programming Manual, 2nd edition, OSF, 1994.

[ISO94] ISO 10303-1: Industrial automation systems and integration - Product data representation and exchange - Part 1: Overview and fundamental principles., International Organization for Standardization, Geneva, Switzerland, 1994.

[ISO95] ISO DIS 10303-22: Industrial automation systems and integration - Product data representation and exchange - Part 22: Implementation methods: Standard data access interface specification, ISO TC184/SC4. National Institute of Standards and Technology, Gaithersburg, MD, USA, 1995.

[JFG*73] JULESZ, B., FRISCH, H. L., GILBERT, E. L., SHEPP, L. A.: Inability of Humans to Discriminate between Visual Textures that Agree in Second-Order Statistics - Revisited, Perception, Vol. 2, pp. 391 - 405, 1973.

[JKS*94] JASNOCH, U., KRESS, H., SCHROEDER, K., UNGERER, M.: CoConut: Computer Support for Concurrent Design using STEP, Proc. 3rd IEEE Workshop on Enabling Technologies: Infrastructure for Collaborative Interprises (WET-ICE) April 17-19, IEEE Compuer Society Press, 1994.

[JKQ*95] JASNOCH, U., KRESS, H., QUESTER, R., STORK, A.: Eine plattform#bergreifende Umgebung zur kooperativen Produktentwicklung, to appear in Proc. CAD96.

[KP95] KJELLDAHL, L., PRIME, M.: A study on how depth perception is affected by different presentation methods of 3D objects on a 2D display, Comput. & Graphics, Vol. 19, No. 2, pp. 199-202, Elsevier, 1995.

[Kr#95] KR#TZSCHMAR, J.: 3D ins Auge, c't, Nr. 4, Heise Verlag, pp. 56, 1995.

[LG94] LIANG, J., GREEN, M.: JDCAD: A Highly Interactive 3D Modelling System, Computers and Graphics, Vol. 18, No. 4, pp. 499 - 506, 1994.

[Mur95] MURAKAMI, T.: Direct and intuitive input device for 3D shape design, DE-Vol. 83, 1995 Design Engineering Technical Conferences, Vol. 2, pp. 695-701, ASME, 1995.

[Nal93] NALWA, V.: A guided tour of computer vision, Addison Wesley, 1993.

[SBV95] STORK, A., BRUNETTI, G., VIEIRA, S.: Intuitive Semantically Constrained Interaction in Feature Based Parametric Modelling, to appear in Proc. CAD96.

[SK93] SCHROEDER, K., KRESS, H.: Distributed Conferencing Tools for Product Design, Proc. IFIP Workshop on Interfaces in Industrial Systems for Production and Engineering, Elsevier, March 15-17, 1993.

[Spa94] SPATIAL TECHNOLOGY INC.: ACIS Geometric Modeler Programmer's Reference, Boulder, Colorado, 1994.

[SRS91] SACHS, E., ROBERTS, A., STOOPS, D.: 3Draw: A Tool for Designing 3D Shapes, IEEE Computer Graphics and Applications, 11, pp. 18-24., 1991.

[SS95] STEED, A., SLATER, M.: 3D Interactions with the Desktop Bat, Computer Graphics Forum, Vol. 14, No. 2, pp 97-104, Blackwell, 1995.

[Sut65] SUTHERLAND, I. E.: SKETCHPAD: a man-machine graphical communication system, MIT Lincoln Laboratory, Lexington, MA. Technical Report TR-296, 1965.

[Vie95] VIEIRA, A. S.: Consistency management in feature-based parametric design, Computer-Integrated Concurrent Design, Symposium of the Design Technical Conferences of the American Society of Mechanical Engineers ASME, Boston, MA, September 17-21, 1995.

[Wer94] J. WERNECKE and Open Inventor Architecture Group: The Inventor Mentor: Programming Object-Oriented 3D Graphics with Open Inventor, Release 2. Addison-Wesley, 1994.

[WJ88] WARE, C., JESSOME, D. R.: Using the Bat: A Six-Dimensional Mouse for Object Placement, CG&A, No. 11, pp. 65-70, IEEE, 1988.