next up previous
Next: Remote selection Up: Selection and grabbing techniques Previous: Selection and grabbing techniques


Direct selection

In this selection mode, object are selected by contact of cursor (typically, cursor is user's hand) and object or it's close neighbourhood, which can be eg. bounding volume that is used as the first approximation for collision detection. In this case it is not necessary to confirm selection because visible collision between cursor and object can be regarded as unambiguous confirmation of selection.

If we work with object in virtual world in natural manner, we can interact easily only with objects, which are located within user's arm reach. Problem is coming up when user wants to interact with remote object. It happens when distance between object and user is larger than the (physical) length of user's arm. Under circumstances we must move more closely to object and grab it. Problem is solved using techniques, which are stated in literature as arm-extension or local selection techniques. These techniques use non-realistic selection when user's virtual arm is able to dynamically grow to desired length (opposite to user's physical arm). Thus the selection of remote object can be made by virtual hand that is always long enough. The technique with visual feedback provides natural mapping (though nonlinear) of physical movement to virtual movement of arm. Basically, we can say, that arm-extension technique makes remote objects manipulation simpler and faster, because we may interact with them by natural hand and arm motions.

One of these techniques is Go-Go technique (Figure 3) that was published in [4]. Around user there is defined a local region with perimeter $D$. Until the user's hand stays in this region the virtual hand moves in one to one correspondence with physical hand (using some linear mapping). If the physical hand leaves local region then the virtual hand begins to move outwards faster than the physical hand. Go-Go technique allows the user to interact with remote objects (without precise manipulation) and in a local region it allows delicate manipulation. Length of virtual arm $R_v$ is calculated using non-linear mapping function $F$ (see Figure 2), eg. that is explained in [4]:


\begin{displaymath}R_v = F(R_r) = \left\{
\begin{array}{ll}
R_r & if R_r < D \\
R_r+k(R_r-D)^2 & otherwise
\end{array} \right.
,
\end{displaymath}

where $R_r$ is length of physical arm, $R_v$ is length of virtual arm and $D$ is distance where a linear part of function is applied This function is designed to ensure smooth transition between linear and non-linear part.

Figure 2: Example of mapping function $F$, for Go-Go technique. Reproduced from [4].

Figure 3: Go-Go technique. Right hand miniature denotes the position that users hand would take in real-world. Virtual hand takes the position computed with non-linear function $F$ applied to real-world coordinates of real hand.

Modified version of previous method is technique "fast" Go-Go [2], which has no local region and more rapidly growing mapping function. However, Go-Go technique has a finite range still, which is defined by mapping function. Then for various VEs we must correct function $F$ so that it would be possible to grab most of the objects in scene. This disadvantage is solved using other modification, which is called "stretch" Go-Go, that divides area surrounding user into three concentric regions. In the inner region, arm length is retracted, in the middle region it remains the same and in the outermost region arm stretches out with constant speed. The next modification can be the installation of signal, which allows to stretch and retract arm length (eg. using two buttons). This technique is called indirect stretch Go-Go.


next up previous
Next: Remote selection Up: Selection and grabbing techniques Previous: Selection and grabbing techniques
Jan Flasar 2000-04-03