Spatial Interaction
Norman I. Badler, Cary B. Phillips, Bonnie Webber · Oxford University Press eBooks · 1993
This chapter describes the basic architecture of the Jack interactive system. The primary tools available to the Jack user involve direct manipulation of the displayed objects and figures on the screen. With articulated figures, movement of one part will naturally affect the position of other parts. Constraints are used to specify these relationships, and an inverse kinematics algorithm is used to achieve constraint satisfaction. As a consequence of user actions, certain global postural manipulations of the entire human figure are performed by the system. This chapter presents the direct spatial manipulations offered in Jack and shows how constraints are defined and maintained. One particular application of the body constraints is included: the generation of the reachable workspace of a chain of joints. 3D direct manipulation is a technique for controlling positions and orientations of geometric objects in a 3D environment in a non-numerical, visual way. It uses the visual structure as a handle on a geometric object. Direct manipulation techniques derive their input from pointing devices and provide a good correspondence between the movement of the physical device and the resulting movement of the object that the device controls. This is kinesthetic correspondence. Much research demonstrates the value of kinesthetically appropriate feedback [Bie87, BLP78, Sch83]. An example of this correspondence in a mouse-based translation operation is that if the user moves the mouse to the left, the object moves in such a way that its image on the screen moves to the left as well. The lack of kinesthetic feedback can make a manipulation system very difficult to use, akin to drawing while looking at your hand through a set of inverting mirrors. Providing this correspondence in two dimensions is fairly straightforward, but in three dimensions it is considerably more complicated. The advantage of the direct manipulation paradigm is that it is intuitive: it should always be clear to the user how to move the input device to cause the object to move in a desired direction. It focuses the user’s attention on the object, and gives the user the impression of manipulating the object itself.