×

Addressing rotational exhaustion in 3D manipulation

  • US 8,462,148 B1
  • Filed: 04/01/2010
  • Issued: 06/11/2013
  • Est. Priority Date: 04/01/2009
  • Status: Active Grant
First Claim
Patent Images

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.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×