temp

TAPESTRY: The Art of Representation and Abstraction

Pointing Problem - Object Snaps


Easy 3D Pointing with Existing Data

Recall that part of the pointing problem relates to the ambiguous nature of the relationship between the screen and 3D space: each point on the screen corresponds to any of an infinite number of points in space, each of which projects to that same point in the image.

The ambiguity is substantially reduced or eliminated if we want to indicate a point in the image that is established by existing 3D data. As points are projected to the 2D image plane to create the image, their original 3D coordinates can be stored along with their 2D screen coordinates. Given a mouse click at some (u,v) screen position, it's easy to search the 2D image coodinates, locate the closest 2D point, and then extract (backtrack) the associated 3D position. In effect, we can "point at" the end of a line anywhere in 3D space, whether it lies in the construction plane or not.

The 2D image of the 3D data provides context for the "act of pointing" that makes the meaning unambiguous (assuming two image locations do not represent overlapping 3D data points, etc.) Even then an unambiguous choice might be possible by systematically choosing the nearest, or furthest, candidate point.

The generic name for this behavior is snap–the cursor is said to "snap to" the endpoint of the line. In fact most drafting and modeling programs offer a wide range of snaps, including endpoint, midpoint, intersection, near point on line, and so on.


Last updated: April, 2014

Valid HTML 4.01 Transitional Valid CSS! [report bug]