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.