Volumetric data exploration using multi-point input controls
First Claim
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;
detect engagement by one or more input mechanisms of one or more points on the multi-touch display device corresponding to the visual indications of the boundaries of the three-dimensional view of the three-dimensional data set,track movements of the one or more input mechanisms while the one or more input mechanisms remain engaged with the multi-touch display device,rotate the three-dimensional data set about an axis defined through the three-dimensional data set as a function of the tracked movement of the one or more input mechanisms, causing the two-dimensional bounded surface to intersect a new two-dimensional data set within the three-dimensional data set and causing the two-dimensional bounded surface 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 two-dimensional bounded surface, the new first subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface, and the new second subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the negative direction relative to the two-dimensional bounded surface, andupdate the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to reflect 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 one or more input mechanisms to cause 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;
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;
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,rotate 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 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 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 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 two-dimensional bounded surface, andupdate the rendering, on the multi-touch display device, of the three-dimensional view of the three-dimensional data set to reflect 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 input mechanism to cause 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;
(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.
3 Assignments
0 Petitions
Accused Products
Abstract
A three-dimensional data set is accessed. A two-dimensional plane is defined that intersects a space defined by the three-dimensional data set. The two-dimensional plane defines a two-dimensional data set within the three-dimensional data set and divides the three-dimensional data set into first and second subsets. A three-dimensional view based on the three-dimensional data set is rendered on such that at least a portion of the first subset of the three-dimensional data set is removed and at least a portion of the two-dimensional data set is displayed. A two-dimensional view of a first subset of the two-dimensional data set also is rendered. Controls are provided that enable visual navigation through the three-dimensional data set by engaging points on the multi-touch display device that correspond to either the three-dimensional view based on the three-dimensional data set and/or the two-dimensional view of the first subset of the two-dimensional data set.
24 Citations
29 Claims
-
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; detect engagement by one or more input mechanisms of one or more points on the multi-touch display device corresponding to the visual indications of the boundaries of the three-dimensional view of the three-dimensional data set, track movements of the one or more input mechanisms while the one or more input mechanisms remain engaged with the multi-touch display device, rotate the three-dimensional data set about an axis defined through the three-dimensional data set as a function of the tracked movement of the one or more input mechanisms, causing the two-dimensional bounded surface to intersect a new two-dimensional data set within the three-dimensional data set and causing the two-dimensional bounded surface 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 two-dimensional bounded surface, the new first subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface, and the new second subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the negative direction relative to 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 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 one or more input mechanisms to cause 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; 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; 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, rotate 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 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 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 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 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 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 input mechanism to cause 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;
(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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A tangible computer-readable storage device storing instructions that, when executed by a computing system, cause the computing system to perform operations comprising:
-
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 a 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, 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; provide 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; detect engagement by one or more input mechanisms of one or more points on the multi-touch display device corresponding to the visual indications of the boundaries of the three-dimensional view of the three-dimensional data set, track movements of the one or more input mechanisms while the one or more input mechanisms remain engaged with the multi-touch display device, rotate the three-dimensional data set about an axis defined through the three-dimensional data set as a function of the tracked movement of the one or more input mechanisms 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 two-dimensional bounded surface, the new first subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface, and the new second subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the negative direction relative to 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 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 one or more input mechanisms to cause 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 rotate the two-dimensional bounded surface in three dimensions about a point on the two-dimensional bounded surface, the second control being configured to; 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, rotate 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 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 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 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 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 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 input mechanism to cause 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; detect 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;track 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; enable independent simultaneous rotation of the three-dimensional data set and the two-dimensional bounded surface by further comprising instructions to (1) rotate 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) rotate 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 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 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. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A multi-touch display device comprising:
-
a display; a multi-touch input sensor; a processor; and a computer memory device storing instructions that, when executed by the processor, cause the processor to perform operations comprising; access a three-dimensional data set; 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 a 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 planar 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; render, on the display, 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; provide 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; detect engagement by one or more input mechanisms of one or more points on the multi-touch input sensor corresponding to the visual indications of the boundaries of the three-dimensional view of the three-dimensional data set, track movements of the one or more input mechanisms while the one or more input mechanisms remain engaged with the multi-touch input sensor, rotate the three-dimensional data set about an axis defined through the three-dimensional data set as a function of the tracked movement of the one or more input mechanisms 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 two-dimensional bounded surface, the new first subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface, and the new second subset of the three-dimensional data set including data from the rotated three-dimensional data set that is in the negative direction relative to the two-dimensional bounded surface, and update the rendering, on the display, of the three-dimensional view of the three-dimensional data set to reflect 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 one or more input mechanisms to cause 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 rotate the two-dimensional bounded surface in three dimensions about a point on the two-dimensional bounded surface, the second control being configured to; detect engagement by an input mechanism of a point on the multi-touch input sensor corresponding to the second control, track movements of the input mechanism while the input mechanism remains engaged with the multi-touch input sensor, rotate 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 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 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 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 two-dimensional bounded surface, and update the rendering, on the display, of the three-dimensional view of the three-dimensional data set to reflect 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 input mechanism to cause 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; detect concurrent engagement;
(1) of one or more points on the multi-touch input sensor corresponding to the first control by at least a first input mechanism; and
(2) of a point on the multi-touch input sensor 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 the second input mechanism remain concurrently engaged with the multi-touch input sensor; enable independent simultaneous rotation of the three-dimensional data set and the two-dimensional bounded surface by further comprising instructions to (1) rotate 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) rotate 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 update the rendering, on the display, 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.
-
Specification