Free-space user interface and control using virtual constructs
First Claim
Patent Images
1. A computer-implemented method for controlling a user interface via free-space motions of a control object, the method comprising:
- receiving motion information indicating positions of a control object being tracked in a region of free space; and
using a processor;
(i) defining a plurality of virtual control constructs, including at least a first virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding first portion of the control object;
whereby the first virtual control construct is positioned proximate to the first portion of the control object, and a second virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding second portion of the control object;
whereby the second virtual control construct is positioned proximate to the second portion of the control object;
(ii) determining an input gesture made by the control object based on a first portion state determined for the first portion of the control object and including any change in spatial position of the first portion of the control object relative to the first virtual control construct and a second portion state determined for the second portion of the control object and including any change in spatial position of the second portion of the control object relative to the second virtual control construct; and
(iii) switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon interpreting the input gesture determined from the first portion state and the second portion state.
9 Assignments
0 Petitions
Accused Products
Abstract
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 position of the virtual control construct can be updated, continuously or from time to time, based on the control object'"'"'s location.
-
Citations
26 Claims
-
1. A computer-implemented method for controlling a user interface via free-space motions of a control object, the method comprising:
-
receiving motion information indicating positions of a control object being tracked in a region of free space; and using a processor; (i) defining a plurality of virtual control constructs, including at least a first virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding first portion of the control object;
whereby the first virtual control construct is positioned proximate to the first portion of the control object, and a second virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding second portion of the control object;
whereby the second virtual control construct is positioned proximate to the second portion of the control object;(ii) determining an input gesture made by the control object based on a first portion state determined for the first portion of the control object and including any change in spatial position of the first portion of the control object relative to the first virtual control construct and a second portion state determined for the second portion of the control object and including any change in spatial position of the second portion of the control object relative to the second virtual control construct; and (iii) switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon interpreting the input gesture determined from the first portion state and the second portion state. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system including one or more processors coupled to memory, the memory loaded with computer instructions to control a user interface via free-space motions of a control object, the instructions, when executed on the processors, implement actions comprising:
-
receiving motion information indicating positions of a control object being tracked in a region of free space; defining a plurality of virtual control constructs, including at least a first virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding first portion of the control object;
whereby the first virtual control construct is positioned proximate to the first portion of the control object, and a second virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding second portion of the control object;
whereby the second virtual control construct is positioned proximate to the second portion of the control object;determining an input gesture made by the control object based on a first portion state determined for the first portion of the control object and including any change in spatial position of the first portion of the control object relative to the first virtual control construct and a second portion state determined for the second portion of the control object and including any change in spatial position of the second portion of the control object relative to the second virtual control construct; and switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon interpreting the input gesture determined from the first portion state and the second portion state.
-
-
26. A non-transitory computer readable storage medium impressed with computer program instructions to control a user interface via free-space motions of a control object, the instructions, when executed on a processor, implement a method comprising:
-
receiving motion information indicating positions of a control object being tracked in a region of free space; defining a plurality of virtual control constructs, including at least a first virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding first portion of the control object;
whereby the first virtual control construct is positioned proximate to the first portion of the control object, and a second virtual control construct defined at a spatial position determined based at least in part on the motion information for a corresponding second portion of the control object;
whereby the second virtual control construct is positioned proximate to the second portion of the control object;determining an input gesture made by the control object based on a first portion state determined for the first portion of the control object and including any change in spatial position of the first portion of the control object relative to the first virtual control construct and a second portion state determined for the second portion of the control object and including any change in spatial position of the second portion of the control object relative to the second virtual control construct; and switching from conducting control of a user interface in a first mode to conducting control of the user interface in a second mode based at least in part upon interpreting the input gesture determined from the first portion state and the second portion state.
-
Specification