A tangible computer-readable storage device storing instructions that, when executed by a computing system, cause the computing system to perform operations comprising:
- accessing a three-dimensional data set from a computer memory storage device;
- defining a two-dimensional planar bounded surface that falls within a region defined by an engageable view frame configured to provide a control based on physical contact with a touch surface that is superimposed over the two-dimensional 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 having the 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;
- providing a 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 based on a distance between first and second input mechanisms, the normal being neither parallel nor perpendicular to a plane of the touch surface of the multi-touch display device, the control being configured to perform operations comprising:
- detecting concurrent engagement by first and second input mechanisms of corresponding first and second points on the multi-touch display device corresponding to the three-dimensional view of the three-dimensional data set with the two-dimensional bounded surface intersecting the three-dimensional data set,
- tracking movements of the first and second input mechanisms while the first and second input mechanisms remain engaged with the multi-touch display device,
- translating the two-dimensional bounded surface in the negative direction along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set 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 when tracking movements of the first and second input mechanisms reveals that a distance between the first and second input mechanisms has decreased as a result of the tracked movements of the first and second input mechanisms,
- translating the two-dimensional bounded surface in the positive direction along the normal to the two-dimensional bounded surface to a new position within the three-dimensional data set 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 when tracking movements of the first and second input mechanisms reveals that a distance between the first and second input mechanisms has increased as a result of the tracked movements of the first and second input mechanisms,
- controlling a velocity of the two-dimensional bounded surface translation based on the distance between the first and second input mechanisms, and
- updating the rendering in substantially real-time, 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 first and second input mechanisms, 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;
- detecting concurrent engagement of first and second points on the multi-touch display device corresponding to the three-dimensional view of the three-dimensional data set with the two-dimensional bounded surface intersecting the three-dimensional data set by corresponding first and second input mechanisms;
- tracking movements of the first and second input mechanisms while the first and second input mechanisms remain concurrently engaged with the multi-touch display device;
- translating 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 movements of the first and second input mechanisms;
- updating the rendering in substantially real-time, 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 as a function of the tracked movements of the first and second input mechanisms.