Patent ID: 8405653
Filing Date: 2013-03-26
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, 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 planar 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, 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 by rendering, within the three-dimensional view of the three-dimensional data set, a visual indication of a boundary of the three-dimensional view, the first control enabling a user of the multi-touch display device to rotate the three-dimensional view of the three-dimensional data set, the first control being configured to: providing a second 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, the second control being configured to: detecting concurrent engagement: (1) of one or more points on the multi-touch display device corresponding to the first control by at least 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 the second input mechanism remain concurrently engaged with the multi-touch display device; enabling independent simultaneous rotation of the three-dimensional data set and the two-dimensional bounded surface by (1) rotating the three-dimensional data set about an axis defined through the three-dimensional data set as a function of the tracked movement of the first input mechanism, and (2) concurrent with rotation of the three-dimensional data set, rotating the two-dimensional bounded surface in three dimensions about a point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism; and 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 three-dimensional data set about the axis defined through the three-dimensional data set as a function of the tracked movement of the first input mechanism and the rotation of the two-dimensional bounded surface about the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism.