×

Resolving ambiguous rotations in 3D manipulation

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

1. A computer-implemented method of resolving ambiguous rotations when 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 three 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;

    matching each touch point to a three-dimensional contact point on a surface of the three-dimensional object, the three-dimensional contact point being displayed at the first two-dimensional location of its matching touch point when the contact point is projected for display onto the image plane of the camera, the three-dimensional contact points matched to the touch points being located at substantially the same depth along a Z-axis away from 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 at least one of the touch points from its first two-dimensional location to a second two-dimensional location, the movement of the at least one of the touch points to its second two-dimensional location resulting in a Euclidean distance between at least two of the touch points decreasing;

    using a solver to calculate a three-dimensional transformation of the three-dimensional object that specifies at least a new three-dimensional rotational orientation 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, the algorithm being biased to generate a three-dimensional transformation that preferentially rotates the object in one direction over an opposite direction when all three-dimensional contact points are located at substantially the same depth along a Z-axis away from the image plane of the camera and transformation is triggered by touch points moving such that a Euclidean distance between at least two of the touch points decreases;

    transforming, using at least one computer processor, the three-dimensional object using the three-dimensional transformation such that the transformed three-dimensional object is rotated in accordance with the 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.

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