Interactive Reconfiguration Techniques of Reference ... - CiteSeerX

0 downloads 0 Views 1MB Size Report
SEAMS. Stoev et al. propose the Through-the-Lens (TTL) technique [7]. ... parent-child relationships among the coordinate systems [2]. In the prototype system, ...
Interactive Reconfiguration Techniques of Reference Frame Hierarchy in the Multi-viewport Interface + Kiyoshi Kiyokawa*+ and Haruo Takemura*+ Kouichi Hirose* Takefumi Ogawa* *Graduate School of Information Science and Technology, Osaka University + Cybermedia Center, Osaka University [email protected], {ogawa, kiyo, takemura}@ime.cmc.osaka-u.ac.jp

Abstract This paper proposes interaction techniques for interactive reconfiguration of the transformation hierarchy among coordinate systems in the multi-viewport interface, which we have proposed for versatile three-dimensional (3-D) operations. The multi-viewport interface provides an arbitrary number of secondary views in window frames placed in a virtual environment, each showing the same or different virtual scenes from different perspectives. Using the multi-viewport interface, the user can seamlessly perform a variety of object manipulation and user navigation operations between multiple virtual scenes. The relationships among the reference frames of a window frame, the primary view outside the frame, the secondary view inside the frame, and the user define the characteristics and usability of a virtual environment; however, our former framework supports limited types of relationships and does not support interactive reconfiguration of the hierarchy. This paper extends our former framework with deeper analysis of combinations of the transformation hierarchy and a set of new interaction techniques for interactive reconfiguration of the hierarchy.

1. Introduction Remote object manipulation and user navigation are both important operations in a large-scale virtual environment. As virtual objects are not always within one’s reach, the system often needs to provide a way to manipulate a distant object without changing the user’s actual location. Mine et al. propose an approach that temporarily scales down the entire scene so that a target object becomes close enough to manipulate directly [3]. Poupyrev et al. propose an approach that uses a non-linearly extendable virtual arm [5], however, if the target object is outside of the user’s view, the user first needs to move to a place from which the target object is in sight. On the other hand, user navigation is another important operation in a large-scale virtual environment. Most virtual reality systems provide a navigation technique to change the viewpoint and viewing direction in real-time. Such techniques include walk-through, fly-through, and the Eyeball-in-Hand [10]; however, moving around a scene and moving between multiple locations tends to be time-consuming and commonly causes disorientation.

To tackle these problems, several interaction techniques have been proposed that employ multiple viewports (rendering areas) for efficient remote object manipulation and user navigation. Pierce et al. propose the Image Plane technique that enables the user to observe and operate multiple scenes simultaneously [4]. Schmalstieg et al. propose the SEAMS approach that aims primarily to provide a hyperlink mechanism in a virtual environment [6]. The user can observe and move to a different scene via SEAMS. Stoev et al. propose the Through-the-Lens (TTL) technique [7]. The TTL technique uses a window frame in a virtual space that shows a scene from another viewpoint. The user can change the viewpoint of the window as with the Eyeball-in-Hand technique and jump into the window to teleport to the scene. The multi-viewport techniques described above are able to treat the viewpoint and the scaling factor of each viewport independently; however, the projection methods and the transformation hierarchy related to the viewports are used in different and limited ways in the above studies. That is, previous studies have explored only a limited number of combinations of the transformation hierarchy that is composed of reference frames of the user, the primary scene, secondary scene, and the window frame. Based on our gesture-based interaction techniques [8], we have extended the multi-viewport interaction framework to support arbitrary types of pairwise parent-child relationships among the coordinate systems [2]. In the prototype system, the user can create an arbitrary number of window frames on demand at arbitrary positions, and simultaneously operate the secondary scenes from multiple viewpoints; however, the transformation hierarchy was not visualized and it was unable to interactively modify the hierarchy. In the present paper, we propose interactive reconfiguration techniques to dynamically modify the transformation hierarchy. The present paper is organized as follows. Section 2 provides an overview of the multi-viewport interface. Section 3 describes pairwise relationships between related reference frames and their characteristics. In Section 4, we describe interaction techniques for the interactive reconfiguration of the transformation hierarchy. Section 5 contains our conclusions and future directions for related research.

(a)

(a)

(d)

(b)

(e)

(b)

(c)

(f)

(c)

Figure 1. Operation examples of object manipulation and user navigation.

Figure 2. Tunnel-window operations.

2. Multi-viewport Interface In this section, as a basis for further discussion in the following sections, we briefly introduce basic interaction techniques and coordinate systems used in the our current multi-viewport interface.

2.1 Interaction techniques for manipulation and user navigation

object

Figure 1 shows a number of operation examples of object manipulation and user navigation [8]. Each virtual object in the scene is set as either fixed to the scene or movable. By grabbing and moving a movable object directly, the object is easily manipulated (e.g., the cube in Figure 1a). By grabbing and moving a fixed object, the user can change his or her viewpoint (e.g., the floor in Figure 1b). For a target object that is out of reach, the user can select a distant object by shooting a string (a line segment), as with a ray-casting technique (Figure 1c), and can change the distance between the user and the target object, by using beckoning and waving away gestures (Figures 1d, 1e). The user can also move and rotate the hooked object about the user by grabbing and swinging the string (Figure 1f).

2.2 Tunnel window The interaction techniques described above enable the user to manipulate a remote object without changing the user’s location, however, these techniques are only available when the target object is in user’s view. To resolve this

problem, we previously proposed a tunnel-window technique [2]. A tunnel-window is a window frame in a virtual environment through which another scene can be observed and manipulated. Although the tunnel-window technique is similar to the TTL technique, it allows a user to create an arbitrary number of viewing windows at arbitrary positions and delete them on demand. The user can grab and move a window frame, manipulate any objects observed in the frame, and independently change the viewpoints inside the frame (a secondary scene) and outside the frame (a primary scene). If a grabbed or hooked object passes through the window frame, it is instantly moved between scenes (Figure 2a). By using this teleportation operation sequentially, an object can even be seamlessly moved between multiple remote scenes without changing the user’s actual location (Figure 2b). If the user passes through the window frame, he or she can teleport to the secondary scene observed in the frame (Figure 2c).

2.3 Coordinate systems To handle the primary and secondary scenes equivalently in terms of both object manipulation and user navigation, each coordinate system is defined based on the world (physical) coordinate system. In addition to the primary and (multiple) secondary scenes, the user and each window frame also have their own coordinate systems. Therefore, the five main coordinate systems related to the tunnel-window technique and typical belonging objects can be summarized as follows.

(a) F(P)

(b) U(F)

(c) P(F)

(d) U(S)

(e) P(S)

(f) F(S)

Figure 3. Examples of pairwise relationship of coordinate systems. - World coordinates (W): Most real objects. - User coordinates (U): User’s hand, grabbed objects. - Primary scene’s coordinates (P): Objects in the primary scene. - Window frame’s coordinates (F): The window frame. - Secondary scene’s coordinates (S): Objects in the secondary scene. Our system mainly exploits four types of transformation matrices: U (the user coordinates), P (the primary scene’s coordinates), F (the window frame’s coordinates), and S (the secondary scene’s coordinates). The entire transformation hierarchy is primarily composed of U, P, F and S with the world coordinate system W at its root. By using these transformation matrices, a variety of operations are described in a simple notation. For example, by using a transformation matrix MUW from W to U, a position XU in U is described as XW = MWUXU = MUW-1XU in W.

3. Characteristics of Pairwise Relationships between Coordinate Systems In the initial condition, all of U, P, F, and S are direct children of the root (W). In this condition, movement of the user (locomotion in the real environment), the primary scene (navigation), the window frame (relocation), and the secondary scene (navigation) has no effect on the location of other entities; however, a variety of combinations of transformation matrices in the hierarchy are conceivable, with each having different impacts on user interface design. In this section we provide a thorough discussion of variations in the transformation hierarchy, including the characteristics and application scenarios for typical matrix combinations. In the following discussion, we extend the former framework [2] in terms of multiple window frames, multiple secondary scenes, and interlocked relationships.

3.1. Parent-child relationship In the following text, we describe the characteristics and usability of each parent-child relationship between the five coordinate systems. There are 20 patterns of parent-child relationships between the coordinate systems, however, we consider only 16 patterns because the world coordinate system is always the parent. As the user can create an arbitrary number of tunnel-windows, it is also necessary to consider pairwise relationships between multiple window frames and multiple secondary scenes. A pairwise relationship is denoted by a form with parentheses. For example W(U) indicates that the world coordinate system is a parent, and the user is its child in the transformation hierarchy.

3.1.1. The user The user coordinate system can only become a child of the world coordinate system, as denoted by W(U). Other combinations such as P(U), F(U), and S(U) are rarely useful unless we consider a multi-user setup. For example, in the case of P(U), the user is moved in the same way as the primary scene when it is moved by another user.

3.1.2. The primary scene The primary scene’s coordinate system can become a child of any of the four coordinate systems W, U, F, and S, as detailed below. W(P): The primary scene is a child of the world coordinate system. In this case, the primary scene stays in the physical environment. This is normal for a VR system to provide presence in an immersive environment. U(P): The primary scene is a child of the user coordinate system. This condition is rarely useful because user motion in the physical environment does not affect views of the primary scene. If we consider a wearable system, this condition has meaning because the user can carry the scene in the real world.

F(P): The primary scene is a child of the frame’s coordinate system. In this condition, the World-In-Hand (WIH) technique is available. In this case, as shown in Figure 3a, the window frame functions as a handle of the primary scene. The user is able to change his or her viewpoint of the primary scene by manipulating the window frame without changing the viewpoint in the secondary scene. S(P): The primary scene is a child of the secondary scene’s coordinate system. In this case, the primary scene is anchored to the secondary scene, but not vice versa. This condition is rarely useful because the user can easily get lost in the primary scene when changing the viewpoint in the secondary scene.

3.1.3. The window frame The window frame’s coordinate system can become a child of any of the five coordinate systems, as described below. W(F): The window frame is a child of the world coordinate system. In this case, the window frame stays in the physical environment regardless of any other virtual objects. This means that the user can layout a virtual multi-screen display around the user to build a 3D user interface. U(F): The window frame is a child of the user coordinate system. The window frame stays in the same position relative to the user regardless of the user’s motion and navigation (Figure 3b). The user can carry the window frame without the need for grabbing it. P(F): The window frame is a child of the primary scene’s coordinate system. The window frame stays in the same position in the primary scene (Figure 3c). This condition is useful when the user wants to associate the window frame with a certain location in the primary scene. F(F): The window frame is a child of another window frame’s coordinate system. If the user manipulates a window frame, the other window frame is manipulated in the same way. S(F): The window frame is a child of the secondary scene’s coordinate system. The window frame stays in the same position in the secondary scene. This condition is rarely useful. As the user changes the viewpoint of the secondary scene, the window frame and those portions of the secondary scene that are visible through the window frame are also significantly moved. This makes it very difficult for the user to confirm the operation.

3.1.4. The secondary scene The secondary scene coordinate system can become a child of any of the five coordinate systems, as detailed below. W(S): The secondary scene is a child of the world coordinate system. The secondary scene stays in the physical environment regardless of the positions of the user and the window frame. The window frame can be used as a looking glass into the secondary scene. U(S): The secondary scene is a child of the user coordinate system. This condition is similar to W(S) in that the user is able to maintain a largely unchanging view of the secondary scene while navigating in the primary scene.

Figure 4. State transition diagram of the hierarchy reconfiguration. When the user moves in the real world, W(S) gives different views whereas U(S) provides the same view of the secondary scene (Figure 3d). P(S): The secondary scene is a child of the primary scene’s coordinate system. This condition is useful when the user wants to adjust the position of the secondary scene relative to the primary scene. As shown in Figure 3e, the relative position is kept constant regardless of user navigation of the primary scene. F(S): The secondary scene is a child of the window frame’s coordinate system. This condition is useful when the user wants to access the same area of the secondary scene because the window frame shows the same view of the secondary scene regardless of the position of the window frame (Figure 3f). S(S): The secondary scene is a child of another secondary scene’s coordinate system. For example, this condition is useful to observe and compare multiple secondary scenes from the same azimuth.

3.2. Interlocked relationships In addition to the parent-child relationships discussed in the previous section, some of the pairwise coordinate systems can be fixed to each other, although not the world coordinate system. Such interlocked relationships have similar characteristics to two parent-child relationships at the same time, with one being a parent and the other being a child and vice versa. We denote an interlocked relationship using an equality sign, e.g. P=F. In the following text, we omit considering the P=U, F=U, and S=U conditions because they are rarely useful. P=F: The primary scene and the window frame are interlocked. In this case, the window frame is fixed in the primary scene as well as functioning as a handle of the primary scene.. P=S: The primary and secondary scenes are interlocked. In this case, the relative positions between the two scenes are fixed and a tunnel-window functions as a 3D Magic Lens [1][9]. For example, in a history education scenario,

children can compare modern and ancient city models at the same location. F=F: Multiple window frames are interlocked. This is useful when the user wants to group a number of window frames and manipulate them like a single object. F=S: The window frame and the secondary scene are interlocked. The user can always see the same view of the secondary scene through the window frame. Similar to the case of S(F), this condition is rarely useful. S=S : Multiple secondary scenes are interlocked. This is useful as in the case of S(S).

3.3. Transformation hierarchy Based on the discussion presented in Sections 3.1 and 3.2, a variety of patterns of transformation hierarchy of the entire environment can be composed. First, we consider the transformation hierarchy composed of 16 patterns of pairwise relationships described in Section 3.1 (excluding F(F) and S(S), which need to be considered only when multiple window frames exist). Theoretically, the hierarchy has as many as 125 patterns: 1, 12, 48, and 64 patterns for those patterns that have four, three, two, and one direct root’s children, respectively. Here, a tree structure of the transformation hierarchy is denoted by a form with commas and parentheses. For example, W(U,P,F,S) represents a situation where all of the entities are direct children of the world coordinate system, while W(U(F(S)),P) represents a situation where the secondary scene is anchored to the window frame, which is itself anchored to the user. Of all of 16 patterns of pairwise relationships, U(P), P(U), F(U), and S(U) are omitted because they are relatively less useful. Table 1 shows the remaining 25 patterns of the transformation hierarchy composed of the 12 patterns of pairwise relationships. Table 2 shows the 13 patterns that include interlocked relationships. For multiple window frames, we also need to consider the F(F), S(S), F=F, and S=S relationships. Now that we have considered all meaningful transformation hierarchy patterns, any pattern used in previous work can be found in Tables 1 and 2. For example, the SEAMS technique defines a static hyperlink connecting Table 1. Twenty-five patterns of transformation hierarchy composed of parent-child relationships. W(U,P,F,S) W(U,P,S(F)) W(U(F),S(P)) W(U,F(P(S))) W(U(S),P(F))

W(U,F(P),S) W(U(S),P,F) W(U,S(P(F))) W(U,F(S(P))) W(U(F(S)),P)

W(U,F,S(P)) W(U,P(S),F) W(U,S(F(P))) W(U(F,S),P) W(U(S(F)),P)

W(U(F),P,S) W(U,P,F(S)) W(U,F(P,S)) W(U,P(F,S)) W(U,P(F(S)))

W(U,P(F),S) W(U,S(P,F)) W(U(S),F(P)) W(U(F),P(S)) W(U,P(S(F)))

Table 2. Thirteen patterns of transformation hierarchy that include interlocked relationships. W(U,P=F,S) W(U,P,F=S) W(U,P=S,F) W(U,P=F=S) W(U,S(P=F)) W(U,P(F=S)) W(U,F(P=S)) W(U(S),P=F) W(U(F=S),P) W(U(F),P=S) W(U,P=F(S)) W(U,F=S(P)) W(U,P=S(F))

two scenes; this is expressed by W(U,P=F=S). The Image Plane technique enables operations in the image shown at hand, and is therefore expressed as W(U,P,F(S)). The TTL technique supports six patterns of pairwise combinations: W(F), U(F), P(F), U(S), P(S), and W(S); this is expressed by nine different patterns of transformation hierarchy, such as W(U(F),P(S)). Tables 1 and 2 suggest many new possibilities of transformation hierarchy which previous techniques have not explored. Even in such situations, we can easily understand their characteristics and appropriate applications based on the discussions in Sections 3.1 and 3.2.

4. Interactive Reconfiguration Techniques of the Transformation Hierarchy As mentioned in Section 3, different patterns of transformation hierarchy are suitable for different situations and tasks. It is therefore very useful to be able to reconfigure the relationships between those coordinate systems on demand. First, 3-D interaction researchers can easily and efficiently explore new interaction techniques if interactive reconfiguration is allowed. Second, end users can also benefit from the reconfiguration technique in many situations. For instance, when a user wants to take photographs of a virtual town and exhibit them at a virtual museum, reconfiguration of the hierarchy is necessary. In this scenario, the user first needs to take photographs, carries them with him or her, and then places them on the walls of the virtual museum. At first, W(U,P=S,F) is useful to determine the best frame position. Once the frame is positioned, W(P,U,F(S)) is useful to maintain the view in the frame. To carry the view in the frame with him or her, W(P,U(F(S))) is useful. Finally, the user needs to change the hierarchy to W(U,P(F(S))) to fixate the view to the primary scene. In this section, we propose two types of interaction techniques for the interactive and dynamic reconfiguration of the hierarchy.

4.1. Reconfiguration in the scene In some situations, an entity that represents a particular coordinate system is obvious and within reach. For example, the window frame is clearly represents the window frame’s coordinates. In such a situation, an intuitive way to reconfigure the hierarchy is an interaction technique that directly uses those entities in the virtual environment. In this regard, we have implemented a gesture-based interaction technique that enables the user to specify a parent-child relationship by pointing to the two entities in the order of the child and the parent. The two pointed entities are connected by a line segment to visualize the relationship. Figure 4 provides a state transition diagram of reconfiguring the hierarchy of the coordinate systems, which shows following four status.

(a)

(a)

(b)

(b) Figure 5. Interactive hierarchy reconfiguration in the scene.

(c)

(c)

(d)

Figure 6. Gestures and icons used in the reconfiguration interface. - Start:The child coordinate system has been decided. - Search:The parent coordinate system is being searched. - Select:A coordinate system is selected as a candidate of the parent. - Decide:The parent coordinate system has been decided. The user can select a coordinate system as a child by touching a belonging virtual object or a window frame (a source object) in space with a pointing gesture (Figure 6a). Figure 5b shows the situation where the child coordinate system has been decided by touching the left wall. If the user keeps the pointing gesture and moves the hand away from the source object, the state changes from Start (Figure 4a) to Search (Figure 4b). In the Start and Search states, if the user releases the gesture, the state reverts to the initial state and the current operation is canceled (Figure 4c). In the Search state, if the user touches another object in a different coordinate system (a destination object), the state changes to Select (Figure 4d). In the Select state, if the user releases the gesture, the state changes to Decide and the parent coordinate system is decided (Figures 4f and 4g), however if the user keeps the gesture and moves the hand away from the destination object, the state changes to Search once again (Figure 4e). Figure 5a shows a Select status where the destination object is the window frame. Figure 5c shows another Select status where the destination object is a floor in the secondary scene. As mentioned in Section 3, a number of patterns of the transformation hierarchy are not very useful. When the user selects an inappropriate parent coordinate system, the

Figure 7. The coordinate tree. operation is canceled and the state reverts to the initial state (Figure 4h). When the user wants to maintain the sub-tree structure of the child, another gesture (Figure 6b) can be used instead of the pointing gesture (Figure 6a). In the Search state, as shown in Figure 5, a line segment is drawn between the user’s hand and the source object to help the user visually understand the relationship; however, the world coordinate system and the user himself or herself are not explicitly visible in the scene. To visualize the world and user coordinate systems, special virtual objects are drawn only in the Search and Select status that are fixed in the user’s view. An anchor object (Figure 6c) represents the world coordinates, while an avatar object (Figure 6d) represents the user coordinates.

4.2.Reconfiguration using icons 4.2.1. Visualization of the hierarchy While the use of a direct operation in the scene described in the previous section is easy to understand, those entities are not necessarily in view if a window frame is created or deleted, or if the user teleports to the secondary scene. In such a situation, it is difficult to understand the entire hierarchy. Our second interaction technique for reconfiguration uses a set of icons to visualize a tree structure of the entire hierarchy (Figure 7). In the following

(a) Moving a single node.

(b) Moving a sub-tree. Figure 8. Interactive hierarchy reconfiguration using the coordinate tree. text, we term this visualized tree structure the coordinate tree. By using the coordinate tree, the user can not only visually understand the hierarchy structure, but also directly grab and move the icons in the tree to reconfigure the hierarchy. The coordinate tree is shown within reach in the upper left corner in the user’s view (Figure 5). Each node (icon) and edge (line segment) in the coordinate tree represents a coordinate system and a parent-children relationship, respectively. The world coordinate system is always a root of the coordinate tree. The coordinate tree is updated in real-time and it always shows the latest status of the entire hierarchy, reflecting the reconfiguration operations that have been performed. For example, if a new window frame is created, nodes of both the window frame and the secondary scene are added as children of the world coordinate system, if a window frame is deleted, these nodes are also deleted. In this case, the child node of the deleted node is directly set to a child of its grandparent node. Because our technique allows a user to create an arbitrary number of tunnel windows, a unique identifier is given to each window frame and its corresponding secondary scene. The identifier is drawn on the node icon of the window frame and the remote scene (Figure 7). One problem of the coordinate tree is that it occupies a large screen space, and the occupied space increases as the

number of window frames increases. To alleviate this problem, it may be necessary to dynamically scale down the coordinate tree to maintain the entire apparent size, or to limit the depth of the tree displayed at any time.

4.2.2. Manipulation of the hierarchy The user can reconfigure the transformation hierarchy by manipulating the nodes of the coordinate tree. First, the user selects a coordinate system as a child by touching a node with a pointing gesture (Figure 6a). The selected icon will then follow the hand so that the user can visually identify the target coordinate system. Next, when the user touches another node and releases the pointing gesture, the node of the parent coordinate system is decided. In this operation, the state transition diagram is the same as the one illustrated in Figure 4. Figure 8a illustrates an example operation that changes the hierarchy from W(U,P(F(S))) to W(U(F),P(S)). The coordinate tree makes it easy for a user to understand the transformation hierarchy of the entire scene and enables the user to reconfigure the coordinate systems even when their entities are out of view. Similar to the interaction technique described in Section 4.1, another gesture (Figure 6b) can be used when the user wants to move a sub-tree instead of a single node. Figure 8b illustrates an example of this operation where the hierarchy is changed from W(U,P(F(S))) to W(U(F(S)),P).

4.3. Synchronization between the scene and the coordinate tree The entire transformation hierarchy can be visualized in the scene using multiple line segments, with each indicating a pairwise relationship between two coordinate systems; however, this approach has a number of limitations. For example, when there are many window frames, it is difficult to identify the line segments and their connected coordinate systems. A line segment that connects the primary and the secondary scene does not necessarily pass through the corresponding window frame, which is very confusing for the user. Instead of displaying many line segments in the scene, direct operations in the scene are reflected in the coordinate tree in real-time. As shown in Figure 5, the source node and target node in the coordinate tree are highlighted in different colors according to direct operations in the scene.

5. Conclusions and Future Work In this paper we propose a number of interaction techniques for interactively and dynamically reconfiguring the transformation hierarchy of the coordinate systems related to our multi-viewport interface, the tunnel-window. Using our techniques, the user can easily change the transformation hierarchy by directly operating virtual objects or window frames in the scene according to the task objectives. In addition, the tree structure of the transformation hierarchy is visualized in the user’s view so that the user can understand and change the transformation hierarchy by directly operating the tree nodes. These two types of operations are synchronized in real-time, and an operation in one form is immediately reflected to the other with a variety of visual feedback. When there are many window frames, it is difficult to understand the entire transformation hierarchy, and the screen space of the coordinate tree becomes large. Current interaction techniques do not support the interlocked relationships described in Section 3.2. Future work therefore involves designing a reasonable visualization method of the transformation hierarchy in the scene, and the implementation of several functions such as controlling of the coordinate tree in terms of size, position, and visibility. In addition, we intend to exploit two-handed interactions, to support multi-users and to build practical applications using our proposed techniques. Providing a set of typical pre-configured hierarchies will also be beneficial for end users to easily change behaviors of the virtual space, which we also intend to explore.

References [1] E. Bier, M. Stone, K. Pier, W. Buxton and T. DeRose, “Toolglass and Magic Lenses: The See-Through Interface,” Proc. of SIGGRAPH 1993, pp.73-80, 1993. [2] K. Kiyokawa and H. Takemura, “A Tunnel Window and Its Variations: Seamless Teleportation Techniques in a Virtual Environment,” Proc. of the 11th Int'l Conf. on

[3] [4]

[5]

[6]

[7]

[8]

[9] [10]

Human-Computer Interaction (HCI International 2005), 2005. M. Mine, F. Brooks and C. Sequin, “Moving Objects in Spaces: Exploiting Proprioception in Virtual- Environment Interaction,” Proc. of SIGGRAPH 1997, pp.19-27, 1997. J. Pierce, A. Forsberg, M. Conway, S. Hong, R. Zeleznik and M. Mine, “Image Plane Interaction Techniques In 3D Immersive Environments,” Proc. of the ACM Symposium on Interactive 3D Graphics, pp.39-43, 1997. I. Poupyrev, M. Billinghurst, S. Weghorst, and T. Ichikawa, “The Go-Go Interaction Technique: Non-Liner Mapping for Direct Manipulation in VR,” Proc. of the ACM Symposium on User Interface Software and Technology, pp.79-80, 1996. D. Schmalstieg and G. Schaufler, “Sewing Worlds Together With SEAMS: A Mechanism To Construct Complex Virtual Environments,” MIT Press Presence - Teleoperators and Virtual Environments, 8(4), pp.449-461, 1999. S. Stoev and D. Schmalstieg, “Application and Taxonomy of Through-the-Lens Techniques,” Proc. of the ACM Symposium on Virtual Reality Software and Technology, pp.57-64, 2002. Y. Tomozoe, T Machida, K Kiyokawa, H Takemura, “Unified gesture-based interaction techniques for object manipulation and navigation in a large-scale virtual environment,” Proc. of IEEE Virtual Reality, 259-260, 2004. J. Viega, M. Conway, G. Williams and R. Pausch, “3D Magic Lenses,” Proc. of the ACM Symposium on User Interface Software and Technology, pp.51-58, 1996. C. Ware, and S. Osborne, “Exploration and Virtual Camera Control in Virtual Three Dimensional Environments,” Proc. of the ACM Symposium on Interactive 3D Graphics 1990, Special Issue of Computer Graphics, Vol. 24, pp.175-183, 1990.