A graphical user interface system may position and orient a user interface
element to be displayed on an optically-sensitive display surface. The
position of the object may be based on the position of a point of contact
that an object (e.g., a person's finger, a block of wood, etc.) makes
against the display surface. The orientation of the object may be
determined using the shadow cast by the object on the surface. An axis
may be determined between the shadow and the point of contact, and the
axis may be used as a frame of reference (e.g., a vertical axis) for the
orientation of the interface element. Further movement of the object
and/or shadow can either result in further movement/reorientation of the
interface, or as an actual input to the interface. If used for an actual
input, the interface may be fixed at its initial position and orientation
to allow the additional movement to be interpreted.