Patent ID: 8629869
Filing Date: 2014-01-14
Classification: G06F,G06T

Abstract:
1. A computer-implemented method of enabling visual navigation through a three-dimensional data set on a multi-touch display device that includes a touch surface, the method comprising: accessing a three-dimensional data set from a computer memory storage device; defining a two-dimensional planar bounded surface that intersects the three-dimensional data set, that defines a two-dimensional data set within the three-dimensional data set, and that divides the three-dimensional data set into first and second subsets of the three-dimensional data set, the two-dimensional bounded surface having a normal defining positive and negative directions relative to the two-dimensional bounded surface, the first and second subsets of the three-dimensional data set being distinct and corresponding to points located on opposing sides of the two-dimensional bounded surface, the first subset of the three-dimensional data set including data from the three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface, the second subset of the three-dimensional data set including data from the three-dimensional data set that is in the negative direction relative to the two-dimensional bounded surface, and the two-dimensional data set including data from the three-dimensional data set that is intersected by the two-dimensional bounded surface; rendering, on a multi-touch display device, a three-dimensional view of the three-dimensional data set while also rendering the two-dimensional bounded surface intersecting the three-dimensional data set, wherein at least a portion of the first subset of the three-dimensional data set is excluded from the three-dimensional view of the three-dimensional data set and at least a portion of the two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set; providing a first control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface in three dimensions about a point on the two-dimensional bounded surface, where the first control is displayed on the multi-touch display device as a handle coupled to an end of a vector displayed on the multi-touch surface, where the vector is displayed on the multi-touch surface as a vector normal to the two-dimensional bounded surface originating at the point on the two-dimensional bounded surface and extending away from the two-dimensional bounded surface to the end of the vector at the handle, the first control being configured to perform operations comprising: providing a second control based on contact at substantially any point along the vector displayed on the multi-touch display device that enables a user of the multi-touch display device to translate the two-dimensional bounded surface along the vector displayed on the multi-touch display device along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set, the normal being neither parallel nor perpendicular to a plane of the touch surface of the multi-touch display device, the second control being configured to perform operations comprising: detecting concurrent engagement: (1) of a point on the multi-touch display device corresponding to the first control by a first input mechanism; and (2) of a point on the multi-touch display device corresponding to the second control by a second input mechanism; tracking movements of the first input mechanism and the second input mechanism while the first input mechanism and second input mechanism remain concurrently engaged with the multi-touch display device; rotating the two-dimensional bounded surface in three dimensions about the point on the two-dimensional bounded surface from which the vector displayed on multi-touch surface originates as a function of the tracked movement of the first input mechanism; translating the two-dimensional bounded surface along the vector displayed on the multi-touch display device to a new position within the three-dimensional data set as a function of the tracked movement of the second input mechanism; updating the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to concurrently reflect both the rotation of the two-dimensional bounded surface in three dimensions about the point on the two-dimensional bounded surface as a function of the tracked movement of the first input mechanism and the translation of the two-dimensional bounded surface along the normal to the two-dimensional bounded surface to the new position within the three-dimensional data set as a function of the tracked movement of the second input mechanism.