×

Screen-space formulation to facilitate manipulations of 2D and 3D structures through interactions relating to 2D manifestations of those structures

  • US 8,451,268 B1
  • Filed: 04/01/2010
  • Issued: 05/28/2013
  • 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:

  • accessing a three-dimensional object-space data set from a computer memory storage device, the three-dimensional object-space data set representing a three-dimensional object in object-space and specifying points on a surface of the three dimensional object in three dimensions in object-space;

    accessing an initial object transformation vector that specifies at least a location and a rotational orientation of the three-dimensional object in world-space;

    determining, using at least one computer processor, a three-dimensional world-space data set by applying the initial object transformation vector to the three-dimensional object-space data set, the three-dimensional world-space data set representing the three dimensional object in world-space and specifying points on the surface of the three dimensional object in three dimensions in world-space;

    accessing, from the computer memory storage device, data representing an image plane in world-space;

    determining a two-dimensional screen-space data set corresponding to a three-dimensional view of the three-dimensional object by projecting the three-dimensional world-space data set onto the image plane based on the data representing the image plane, the two-dimensional screen-space data set specifying points on the surface of the three dimensional object as viewed on the image plane in two dimensions in screen-space;

    rendering, on the multi-touch display device, the three-dimensional view of the three-dimensional object based on the two-dimensional screen-space data set;

    detecting touching by one or more input mechanisms of a first touch point, a second touch point, and a third touch point on the multi-touch display device, the first touch point being located at a first initial screen-space location, the second touch point being located at a second initial screen-space location, and the third touch point being located at a third initial screen-space location;

    matching the first touch point to a first contact point on the surface of the three-dimensional object, the first contact point being a point on the surface of the three dimensional object in object-space that, when transformed into world-space using the initial object transformation vector and then projected onto the image plane for rendering, is displayed by the multi-touch display device at the first initial screen-space location of the first touch point;

    matching the second touch point to a second contact point on the surface of the three-dimensional object, the second contact point being a point on the surface of the three dimensional object in object-space that, when transformed into world-space using the initial object transformation vector and then projected onto the image plane for rendering, is displayed by the multi-touch display device at the second initial screen-space location of the second touch point;

    matching the third touch point to a third contact point on the surface of the three-dimensional object, the third contact point being a point on the surface of the three dimensional object in object-space that, when transformed into world-space using the initial object transformation vector and then projected onto the image plane for rendering, is displayed by the multi-touch display device at the third initial screen-space location of the third touch point;

    tracking, 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 screen-space location to a first final screen-space location;

    determining a new object transformation vector that, when applied to the three-dimensional object-space data set, results in a new three-dimensional world-space data set that when projected onto the image plane results in a new two-dimensional screen-space data set corresponding to a new view of the three dimensional object, the new two dimensional screen-space data set satisfying the following constraints when rendered for display;

    (i) the first contact point, when transformed into world-space using the new object transformation vector and then projected onto the image plane for rendering, is displayed substantially at the first final screen-space location,(ii) the second contact point, when transformed into world-space using the new object transformation vector and then projected onto the image plane for rendering, is displayed substantially at the second initial screen-space location, and(iii) the third contact point, when transformed into world-space using the new object transformation vector and then projected onto the image plane for rendering, is displayed substantially at the third initial screen-space location; and

    rendering, on the multi-touch display device, the new three-dimensional view of the three-dimensional object based on the new two-dimensional screen-space data set, the new three dimensional view being a view of the three-dimensional object wherein each contact point remains displayed by the multi-touch display device substantially underneath its corresponding touch point.

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