Addressing rotational exhaustion in 3D manipulation
First Claim
1. A computer-implemented method of detecting and suppressing abrupt movement of a three-dimensional object displayed in a multi-touch display device, the method comprising:
- displaying a three-dimensional object in two dimensions on the multi-touch display device by projecting the three-dimensional object onto an image plane of a camera, the three-dimensional object having an initial three-dimensional location and an initial three-dimensional rotational orientation;
detecting touching by one or more input mechanisms of one or more touch points on the multi-touch display device;
determining, for each touch point, a first two-dimensional location of the touch point on the multi-touch display device;
determining, for each touch point, a three-dimensional contact point on a surface of the three-dimensional object that is projected for display onto the image plane of the camera at the first two-dimensional location of the touch point;
detecting, based on movement of the one or more input mechanisms while the one or more input mechanisms remain touching the multi-touch display device, movement of at least one of the touch points from its first two-dimensional location to a second two-dimensional location;
using a solver to calculate an initial three-dimensional transformation of the three-dimensional object that specifies at least one of a new three-dimensional rotation and a new three-dimensional location for the three-dimensional object, the three-dimensional transformation being calculated by the solver using an algorithm that reduces deviation between projected two-dimensional locations of the three-dimensional contact points after object transformation and two dimensional locations of their respective touch points;
initially transforming the three-dimensional object using the initial three-dimensional transformation such that the transformed three-dimensional object is positioned and rotated in accordance with the at least one of the new three-dimensional location and the new three-dimensional rotation;
determining whether the initially transformed three-dimensional object corresponds to a rotational exhaustion situation;
if the initially transformed three-dimensional object does not correspond to a rotational exhaustion situation, displaying the initially transformed three-dimensional object on the multi-touch display device by projecting the initially transformed three-dimensional object onto the image plane of the camera; and
if the initially transformed three-dimensional object corresponds to a rotational exhaustion situation,using the solver to calculate a corrected three-dimensional transformation of the three-dimensional object that specifies at least one of a corrected new three-dimensional rotation and a corrected new three-dimensional location for the three-dimensional object, the corrected three-dimensional transformation being calculated by the solver using the algorithm to reduce deviation between projected two-dimensional locations of the three-dimensional contact points after object transformation and two dimensional locations of their respective touch points while fixing at least one degree of freedom of object orientation to a value corresponding to an orientation of the three-dimensional object prior to the detected movement of the at least one touch point,transforming the three-dimensional object using the corrected three-dimensional transformation such that the transformed three-dimensional object is positioned and rotated in accordance with the at least one of the corrected new three-dimensional location and the corrected new three-dimensional rotation, anddisplaying the transformed three-dimensional object on the multi-touch display device by projecting the transformed three-dimensional object onto the image plane of the camera.
3 Assignments
0 Petitions
Accused Products
Abstract
A three-dimensional object is initially transformed using an initial three-dimensional transformation in response to the detected movement of at least one touch point of a set of touch points placed on a multi-touch display device, each touch point in the set being matched with a contact point on the surface of the object. If the initially transformed object does not correspond to a rotational exhaustion situation, displaying the initially transformed object on the multi-touch display device. If the initially transformed object corresponds to a rotational exhaustion situation, calculating a corrected three-dimensional transformation of the object by using an algorithm that fixes at least one degree of freedom of object orientation to a value corresponding to an orientation of the object prior to the detected movement of the at least one touch point. Transforming the object using the corrected three-dimensional transformation and displaying the transformed object.
47 Citations
1 Claim
-
1. A computer-implemented method of detecting and suppressing abrupt movement of a three-dimensional object displayed in a multi-touch display device, the method comprising:
-
displaying a three-dimensional object in two dimensions on the multi-touch display device by projecting the three-dimensional object onto an image plane of a camera, the three-dimensional object having an initial three-dimensional location and an initial three-dimensional rotational orientation; detecting touching by one or more input mechanisms of one or more touch points on the multi-touch display device; determining, for each touch point, a first two-dimensional location of the touch point on the multi-touch display device; determining, for each touch point, a three-dimensional contact point on a surface of the three-dimensional object that is projected for display onto the image plane of the camera at the first two-dimensional location of the touch point; detecting, based on movement of the one or more input mechanisms while the one or more input mechanisms remain touching the multi-touch display device, movement of at least one of the touch points from its first two-dimensional location to a second two-dimensional location; using a solver to calculate an initial three-dimensional transformation of the three-dimensional object that specifies at least one of a new three-dimensional rotation and a new three-dimensional location for the three-dimensional object, the three-dimensional transformation being calculated by the solver using an algorithm that reduces deviation between projected two-dimensional locations of the three-dimensional contact points after object transformation and two dimensional locations of their respective touch points; initially transforming the three-dimensional object using the initial three-dimensional transformation such that the transformed three-dimensional object is positioned and rotated in accordance with the at least one of the new three-dimensional location and the new three-dimensional rotation; determining whether the initially transformed three-dimensional object corresponds to a rotational exhaustion situation; if the initially transformed three-dimensional object does not correspond to a rotational exhaustion situation, displaying the initially transformed three-dimensional object on the multi-touch display device by projecting the initially transformed three-dimensional object onto the image plane of the camera; and if the initially transformed three-dimensional object corresponds to a rotational exhaustion situation, using the solver to calculate a corrected three-dimensional transformation of the three-dimensional object that specifies at least one of a corrected new three-dimensional rotation and a corrected new three-dimensional location for the three-dimensional object, the corrected three-dimensional transformation being calculated by the solver using the algorithm to reduce deviation between projected two-dimensional locations of the three-dimensional contact points after object transformation and two dimensional locations of their respective touch points while fixing at least one degree of freedom of object orientation to a value corresponding to an orientation of the three-dimensional object prior to the detected movement of the at least one touch point, transforming the three-dimensional object using the corrected three-dimensional transformation such that the transformed three-dimensional object is positioned and rotated in accordance with the at least one of the corrected new three-dimensional location and the corrected new three-dimensional rotation, and displaying the transformed three-dimensional object on the multi-touch display device by projecting the transformed three-dimensional object onto the image plane of the camera.
-
Specification