FREE-SPACE USER INTERFACE AND CONTROL USING VIRTUAL CONSTRUCTS
During control of a user interface via free-space motions of a hand or other suitable control object, switching between control modes can be facilitated by tracking the control object's movements relative to, and its penetration of, a virtual control construct (such as a virtual surface construct). The technology disclosed includes determining from the motion information whether a motion of the control object with respect to the virtual control construct is an engagement gesture, such as a virtual mouse click or other control device operation. The position of the virtual control construct can be updated, continuously or from time to time, based on the control object's location.
1 . A method comprising:
determining, from motion information related to an object, that a motion of the object is an occurrence of an interaction applied to at least one virtual surface;
determining a control to which the interaction is applicable; and
manipulating the control based, at least in part, on the motion information.
2 . The method of claim 1 , comprising:
determining that an intersection occurred between the object and the at least one virtual surface.
3 . The method of claim 1 , comprising:
determining that an intersection occurred between the object and the at least one virtual surface; and
determining from the motion information that the interaction includes continued motion after the intersection.
4 . The method of claim 1 , comprising:
determining that a dis-intersection of the object from the at least one virtual surface has occurred.
5 . The method of claim 1 , comprising:
determining that the motion of the object occurred relative to the at least one virtual surface.
6 . The method of claim 1 , comprising:
determining, based, at least in part, on the motion information, one or more engagement attributes defining the interaction.
7 . The method of claim 6 , comprising:
determining a potential energy from the motion information.
8 . The method of claim 1 , comprising:
identifying the interaction based, at least in part, on correlating motion information to at least one interaction, the correlation based, at least in part, on at least one of:
motion of the object, occurrence of any of an intersection of the object with the at least one virtual surface, a dis-intersection of the object with the at least one virtual surface, a non-intersection of the object with the at least one virtual surface, or a set of engagement attributes.
9 . The method of claim 1 , comprising determining that the control is associated with at least one of: an application, an operating environment, or a special control.
10 . The method of claim 1 , comprising:
controlling a user interface in at least one of a first mode or a second mode different from the first mode.
11 . The method of claim 1 , comprising:
updating at least a spatial position of the at least one virtual surface based, at least in part, on a spatial position of the object.
12 . The method of claim 1 , wherein the at least one virtual surface comprises at least one of:
a plane, a curved open surface, a closed surface, a bounded open surface, or a predefined multi-dimensional virtual surface defined in two or three dimensions.
13 . The method of claim 1 , wherein the at least one virtual surface includes at least one of:
a virtual linear construct, a virtual curvilinear construct, a virtual point construct, or a virtual solid construct.
14 . The method of claim 13 , wherein the virtual linear construct comprises at least one of:
a one-dimensional virtual line, or a predefined line segment defined in one, two, or three dimensions.
15 . The method of claim 13 , wherein the virtual curvilinear construct comprises at least one of:
a curve, or a predefined curve segment defined in one, two, or three dimensions.
16 . The method of claim 13 , wherein the virtual point construct comprises:
a predefined zero-dimensional virtual point defined in one, two, or three dimensions.
17 . The method of claim 13 , wherein the virtual solid construct comprises at least one of:
a sphere, a cylinder, a cube, or a predefined three-dimensional virtual solid defined in three dimensions.
18 . The method of claim 1 , wherein the at least one virtual surface is defined within a field of view of an image capturing device.
19 . A system comprising:
a processor; and
memory storing:
(i) motion information for an object, and
(ii) processor-executable instructions that cause the processor to:
determine from the motion information that a motion of the object is an occurrence of an interaction applied to at least one virtual surface;
determine a control to which the interaction is applicable; and
manipulate the control based, at least in part, on the motion information.
20 . A non-transitory machine-readable medium storing one or more instructions which, when executed by one or more processors, cause the one or more processors to:
determine from motion information related to an object that a motion of the object is an occurrence of an interaction applied to at least one virtual surface;
determine a control to which the interaction is applicable; and
manipulate the control based, at least in part, on the motion information.