Part assembly and scene layout are basic tasks in 3D design in Desktop Virtual Environment (DVE) systems as well as Computer Aided Design (CAD) systems. 2D input devices such as a mouse or a stylus are still the most common input devices for such systems. With such devices, a notably difficult problem is to provide an efficient and predictable object motion in 3D based on their 2D motion. This paper presents a new technique to move objects in CAD/DVE using 2D input devices.
The technique presented in this paper utilizes the fact that people easily recognize the depth-order of shapes based on occlusions. In the presented technique, the object position follows the mouse cursor position, while the object slides on various surfaces in the scene. In contrast to existing techniques, the movement surface and the relative object position is determined using the whole area of overlap of the moving object with the static scene. The resulting object movement is visually smooth and predictable, while avoiding undesirable collisions. The proposed technique makes use of the framebuffer for efficiency and runs in real-time. Finally, the evaluation of the new technique with a user study shows that it compares very favorably to conventional techniques.