A tangible computer-readable storage device storing instructions that, when executed by a computing system, cause the computing system to:
- access a three-dimensional data set from a computer memory storage device;
- define 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;
- render, on a multi-touch display device that includes a touch surface, 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;
- provide a first control that enables a user of the multi-touch display device to translate the two-dimensional bounded surface along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set, the first control being configured to:
- display the first control on the multi-touch display device, the first control including an orientation widget with an axis that is substantially perpendicular to the two-dimensional bounded surface,
- detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the first control,
- track movements of the input mechanism while the input mechanism remains engaged with the multi-touch display device,
- translate the two-dimensional bounded surface along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set as a function of the tracked movement of the input mechanism to cause the two-dimensional bounded surface to intersect a new two-dimensional data set within the three-dimensional data set and to divide the three-dimensional data set into new first and second subsets of the three-dimensional data set, the new first and second subsets of the three-dimensional data set being distinct and corresponding to points located on opposing sides of the newly-positioned two-dimensional bounded surface, the new 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 new position of the two-dimensional bounded surface, and the new 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 new position of the two-dimensional bounded surface, and
- update the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to reflect the translation of the two-dimensional bounded surface along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set as a function of the tracked movement of the input mechanism, causing at least a portion of the new first subset of the three-dimensional data set to be excluded from the updated three-dimensional view of the three-dimensional data set and at least a portion of the new two-dimensional data set to be displayed within the three-dimensional view of the three-dimensional data set;
- provide a second control that enables a user of the multi-touch display device to translate the two-dimensional bounded surface on a plane that contains and is parallel to the two-dimensional bounded surface to a new position within the three-dimensional data set, the plane being distinct from and not parallel to a plane of the touch surface of the multi-touch display device and the second control being configured to:
- display the second control on the multi-touch display device, the second control including a view frame superimposed over the two-dimensional bounded surface,
- detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the second control,
- track movements of the input mechanism while the input mechanism remains engaged with the multi-touch display device,
- translate the two-dimensional bounded surface on the plane that contains and is parallel to the two-dimensional bounded surface to a new position within the three-dimensional data set as a function of the tracked movement of the input mechanism to cause the two-dimensional bounded surface to intersect a new two-dimensional data set within the three-dimensional data set, and
- update the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to reflect the translation of the two-dimensional bounded surface on the plane that contains and is parallel to the two-dimensional bounded surface to a new position within the three-dimensional data set as a function of the tracked movement of the input mechanism, causing at least a portion of the first subset of the three-dimensional data set to be excluded from the updated three-dimensional view of the three-dimensional data set and at least a portion of the new two-dimensional data set to be displayed within the three-dimensional view of the three-dimensional data set;
- detect concurrent engagement of:
- (1) a point on the multi-touch display device corresponding to the first control by a first input mechanism, and (2) a point on the multi-touch display device corresponding to the second control by a second input mechanism;
- track 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;
- translate the two-dimensional bounded surface along the normal to the two-dimensional bounded surface within the three-dimensional data set as a function of the tracked movement of the first input mechanism;
- translate the two-dimensional bounded surface on the plane that contains and is parallel to the two-dimensional bounded surface within the three-dimensional data set as a function of the tracked movement of the second input mechanism;
- and
- update the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to concurrently reflect both the translation of the two-dimensional bounded surface along the normal to 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 on the plane that contains and is parallel to the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism.