IntroductionThe program is written with the idea that different users will represent different 3D environments or objects using it. To this end the programmer must solve the pointing problem while s/he organizes the data in some coordinate system and attempts to guess what kinds of primitives will be needed to build the user's model, and to supply tools which make this easy to do. These tools function by generating data which the program can then use for rendering or other purposes.
The need will arise for the user to control the geometry being created. The control mechanisms, which are partly determined by the type of geometry being created, are also partly determined by the hardware and operating environment in use, and constitute the user interface to the modeling aspects of the program.
Chasing Ghosts and Shadows?Three-dimensional digital model-building is difficult for many people to do. Aside from questions of visualizing space in 3D, one of the reasons for this is that you are constantly working through a 2D representation of the 3D data, not modifying the 3D data directly. About the time you think you've got it right, it turns out you were missing some aspect of the arrangement.
It is something like trying to hug a shadow or close the door on a ghost.
Thus, one of the most important basic elements of 3D model-building is establishing the positions of things in 3D space. Oddly enough, this problem has been exacerbated by the evolution of graphical user interfaces. Before there were mice the only way you could indicate the location of points was with typed coordinates from the keyboard! While cumbersome and slow, you were always in complete control of the values entered.
On the other hand, the seminal "Sketchpad" project, credited with starting interactive computer graphics, used a "light-pen" (similar to a stylus) to point at locations on the screen.
Last updated: April, 2014