History: Abrantes and Tost's Undergraduate Project

Contributions


We concluded the implementation of the third bi-dimensional selection mode: Pick All, which delivers all pick ray cursor hit elements.


Two algorithms for 3D direct manipulation were included: 3D Picking for convex elements and 3D Snapping.



We reorganized the architecture of MTK in order to providing a clean interface to the input devices. Particularly, we specialized one input device to the Labtec Spaceball 3003. Several of its features are included into MTK, including different kinds of movements such as Null Region and Exponetial movements.



A rearrange in the Display List Module was considered, each element has it's own display list, implementing the hierarchical display list concept. Thus only the modified elements have their vertex computed, speeding up the visualization process.

We reorganize the library code, following the abstract factory design pattern, provinding a better organization to facilitate maintenance and future implementations.



A new feature was added: the tesselation. Thus concave polygons may now be renderized correctly.
As an extension of this feature, a new kind of geometry is now supported by our library, the non-simple-polygons.



New representations for the 3D Cursor were designed, besides the possibility of a user defined cursor representation.


Web Site development.


Some Animated Demonstrations

The videos were both made for the article Picking and Snapping for 3D Input Devices presentation in the XVI Brasilian Simposium on Computer Graphics and Image Processing (Sibgrapi 2003).
Video 1: Cube Matching Game
Video 2: 3D Snapping
We would like to thank Professor José Mario de Martino for providing technical support, helping in the video production.