×

Controlling distribution of error in 2D and 3D manipulation

  • US 8,289,316 B1
  • Filed: 04/01/2010
  • Issued: 10/16/2012
  • Est. Priority Date: 04/01/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method of manipulating 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, 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 multiple touch points on the multi-touch display device, the multiple touch points including a first touch point, a second touch point and a third touch point on the multi-touch display device;

    determining a first initial two-dimensional location of the first touch point on the multi-touch display device;

    determining a second initial two-dimensional location of the second touch point on the multi-touch display device;

    determining a third initial two-dimensional location of the third touch point on the multi-touch display device;

    matching the first touch point to a first three-dimensional contact point on a surface of the three-dimensional object, the first three-dimensional contact point being displayed at the first initial two-dimensional location of the first touch point when the first three-dimensional contact point is projected for display onto the image plane;

    matching the second touch point to a second three-dimensional contact point on the surface of the three-dimensional object, the second three-dimensional contact point being displayed at the second initial two-dimensional location of the second touch point when the second three-dimensional contact point is projected for display onto the image plane;

    matching the third touch point to a third three-dimensional contact point on the surface of the three-dimensional object, the third three-dimensional contact point being displayed at the third initial two-dimensional location of the third touch point when the third three-dimensional contact point is projected for display onto the image plane;

    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 the first touch point from the first initial two-dimensional location to a first final two-dimensional location;

    using a solver to calculate a three-dimensional transformation of the three-dimensional object that specifies at least one of a new three-dimensional rotational orientation 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 a projected two-dimensional location of the first three-dimensional contact point and the first final two-dimensional location of the first touch point, a projected two-dimensional location of the second three-dimensional contact point and the second initial two-dimensional location of the second touch point, and a projected two-dimensional location of the third three-dimensional contact point and the third initial two-dimensional location of the third touch point, and the solver, in calculating the three-dimensional transformation, assigns weighting values to the multiple touch points to distribute an aggregate amount of deviation calculated by the solver among the multiple touch points, including among the first touch point, the second touch point and the third touch point such that a magnitude of the deviation between the projected two-dimensional location of the first three-dimensional contact point and the first final two-dimensional location of the first touch point is different than a magnitude of the deviation between the projected two-dimensional location of the second three-dimensional contact point and the second initial two-dimensional location of the second touch point;

    transforming, using at least one computer processor, the three-dimensional object using the 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 rotational orientation; and

    displaying the transformed three-dimensional object on the multi-touch display device by projecting the transformed three-dimensional object onto the image plane.

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