In order to construct a 3d animated scene, users will be required to manipulate objects in 3d space. There has to be sufficient freedom for arbitrary object manipulation, in order to construct scenes as desired by the director. The object manipulation is, however, not completely arbitrary, as characters’ geometry cannot be deformed, for instance.
Object manipulation in 3d environments is a very matured research field. Shoemake presented the effectiveness of the Arcball, which uses quaternions for virtual trackballs [113]. Bade et al. evaluated four different methods to achieve 3d rotation using a mouse [42]. This included the virtual trackball mechanism of Shoemake [113], and two adaptations of the Two Axis Valuator [50]. The Two Axis Valuator was superior for rotation according to their user study. Both studies only required 2DOF rotation control. Kratz et el. [79] used a trackball for 3D rotations and how this can be applied to touch input. Zhao et al. [129] presented tasks requiring full 3d rotation control. Hinckley et al. [71] compared 2d trackball rotation and full 3d input. This user study presented the issue of 3d input for rotation, due to the lack of tactile feedback, making users less aware of the orientation of the object. Scheurich and Stuerzlinger [107] presented a method to rotate objects in 3d, designed specifically for one-handed interactions on tablets and touch screens. Their results suggested that a one-handed rotation technique improves both the accuracy and speed of 3d rotation techniques.
Kruger et al. [80] designed an interaction mechanism that allows integrated rotation and trans- lation. They term this mechanism “Rotate’N Translate” (RNT) as it provides combined control of translation and rotation, using only one finger. One motivation of their approach is that rotation
and translation are inseparable in the real world. The metaphor used to describe RNT is that of a stream against which an object is moved, but the behaviour can also be described with a sheet of paper being moved across a table with friction, and is illustrated in Figure 3.4. When commencing a pull gesture from the central region of the sheet, the object will follow the finger and translate to the updated position continuously, without being reoriented. The central region is termed the “translation only region”. Initiating the same interaction from a point further away from the centre and not in line with the direction of motion, will cause rotation. What makes this particularly useful for this research is that only a single finger is required to perform rotation and translation, without the need to explicitly switch interaction modes. The empirical results obtained in the testing showed that the integrated rotation and translation is more efficient (as quick to do) than a separation of the two, which is was termed “traditional moded” or TM. The system was evaluated with three tasks: precision targeting, document passing, and collaborative document passing. Users found RNT more learnable and preferred using RNT over TM for the second and third tasks.
Figure 3.4: Rotate’N Translate (RNT): When an object is manipulated it can either only be translated(left), only rotated or both rotated and translated (right), depending on the initial contact point and the subsequent direction of motion. Traditional-Moded (TM): An object can be rotated on the spot when grabbed from the corners and it can be moved if the contact point begins anywhere within the object’s area. (a) object is selected through a contact point (b) object is rotated from corner (c) interaction is released (d) object is translated
Another, more relevant approach for touch-based, 3d object manipulation is the Z-technique [86]. This is in contrast to the common technique of utilising multiple viewports (see Section 5.2.2), each viewing the scene along one of the global x, y or z axes, where the fourth viewport presents an arbitrary viewpoint. The other three fixed perspectives are from the front, side-on and top-down perspectives, which are often orthographicBeing able to move objects in any of these 3 fixed perspective viewports ultimately allows for precise, arbitrary object placement. On the other hand, the Z-technique uses a single viewport, where two fingers allow for three degrees of freedom. Touching and dragging an object moves it parallel to the screen in the x-y plane. Adding an additional finger and dragging it up or down moves the object along the depth, (i.e. z-axis) as depicted in Figure 3.5.
Figure 3.5: The Z-technique allows for 3 degrees of freedom with a combination of either one or two fingers. (left) An object can be moved along the x-y-plane with one finger, and adding a second finger allows displacement of the object along the z-axis. (right) This state machine illustrates how the number of touch points affect the degrees of freedom.
Hancock et al. present tabletop interaction techniques to provide control of all kinds of 3d rotation coupled with translation [66]. Their research involves creating three different touch techniques, each created with a tradeoff of simplicity against accuracy.
One-touch input achieves 5DOF by extending the RNT algorithm [80] into the third dimension. Rather than rotating explicitly about the axes (roll, pitch and yaw), the point of contact determines the axis of rotation. Although this technique allows rotating and translating a 3D object to any position and orientation, users often want to perform more restricted rotation and translation. Such constrained transformation can be achieved through dedicated areas for a polygonal object, and for non-polygonal objects a more central area on the surface of an object can be chosen.
Two-touch input can achieve 5DOF or 6DOF, where the first touch point can use the RNT algorithm [80] for translation in x and y, as well as yaw. The second touch point is used to specify pitch and yaw. To move along the z-axis, one can perform a pinch gesture.
Three-touch input can achieve 5DOF or 6DOF, using 6DOF as input. Here the first touch point is used for translation, the second point to specify yaw about the first point, and the third point specifies pitch and yaw about the first point. The order of the touch points is determined either by the order in which they make contact with the device, or in a predefined order, should the source of each touch point be identifiable.
Often systems provide elegant solutions, which are quite robust. The drawback is that these do not always cater for multiple users. In particular, bimanual (two handed) interaction techniques [44] and interaction using 3d input are not suitable for this study, as the aim here is to use a single device and cater for input from as many users as possible. The next section covers applications using touch-tables for multi-user participation.
Chapter Summary
This chapter covered the fundamentals of object manipulation and navigation in 3D virtual environ- ments. This included the basic theory, terminology and common practices for interacting in these environments. The chapter was concluded with previous work, specifically covering multitouch based interaction to interact with virtual environments. The following chapter covers previous work and literature in CSCW and collaboration using multitouch.
Chapter 4
CSCW & Multitouch
This chapter provides a fundamental, technical understanding of the relevant research fields, which is essential for subsequent chapters. Although this research focuses on human computer interfaces (HCI), it is an intersection of several areas in computer science. A considerable amount of work exists in these fields, as shown in the following chapter. These research areas include navigation mechanisms in virtual environments, manipulating objects in these environments, and multitouch-based interaction. Other topics such as user-centred system design (UCSD), underlying rules and guidelines for user interface design, and the supporting collaborative interaction are also presented.