IP Library Granted Patent US 8,334,867
Granted Patent B1
US 8,334,867 · App. 13/428,243 · Granted Dec 18, 2012

Volumetric data exploration using multi-point input controls

Assignee: Perceptive Pixel Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,334,867
App. No.
13/428,243
Granted
Dec 18, 2012
Kind
B1
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.

Claims (144)

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 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 control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface about an axis of the two-dimensional bounded surface defined through a point on the two-dimensional bounded surface, the control being configured to:

detect engagement by a first input mechanism of a first point on the multi-touch display device corresponding to a point on a plane parallel to and containing the two-dimensional bounded surface,

define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface,

detect engagement, while the first input mechanism remains engaged with the first point on the multi-touch display device corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch display device corresponding to the control,

track movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device and the second input mechanism remains engaged with the multi-touch display device,

rotate the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface, 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 engagement by a first input mechanism of a first point on the multi-touch display device corresponding to a point on the plane parallel to and containing the two-dimensional bounded surface;

defining an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface;

detecting engagement, while the first input mechanism remains engaged with the first point on the multi-touch display device corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch display device corresponding to the control;

tracking movements of the second input mechanism while the second input mechanism remains engaged with the multi-touch display device and the first input mechanism remains engaged with the first point on the multi-touch display device;

rotating the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device; and

updating 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device.

2. The method of claim 1 wherein defining an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface comprises defining the axis between the point on the plane parallel to and containing the two-dimensional bounded surface and a point located at a center of the two-dimensional bounded surface.

3. The method of claim 2 wherein the two-dimensional bounded surface has a shape of a rectangle and the point on the two-dimensional bounded surface used to define the axis is located at a center of the rectangle.

4. The method of claim 1 further comprising providing a translation control that enables a user of the multi-touch display device to translate the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface, the translation 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

translate the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface to a new position on the plane as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the translated 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 with the translated 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the new position of the translated two-dimensional bounded surface on the plane.

5. The method of claim 1 further comprising providing a two-dimensional bounded surface depth control configured to:

detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the two-dimensional bounded surface depth control;

track movement of the input mechanism while the input mechanism remains engaged with the point on the multi-touch display device;

modify the two-dimensional bounded surface as a function of the tracked movement of the input mechanism to translate the two-dimensional bounded surface in a direction along the normal of the two-dimensional bounded surface to cause the two-dimensional bounded surface to define a different two-dimensional data set within the three-dimensional data set and to divide the three-dimensional data set into different first and second subsets of the three-dimensional data set, the different first and second subsets of the three-dimensional data set being distinct and on opposing sides of the two-dimensional bounded surface, the different 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 translated two-dimensional bounded surface, the different 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 translated two-dimensional bounded surface; and

update the rendering, on the multi-touch display device of the three-dimensional view based on the three-dimensional data set to reflect the translation of the two-dimensional bounded surface including:

remove at least a portion of the visual display of the different first subset of the three-dimensional data set from the rendered three-dimensional view of the three-dimensional data set, and

display, within the three-dimensional view based on the three-dimensional data set, at least a portion of the different two-dimensional data set.

6. The method of claim 1 further comprising providing a rotation 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 rotation control being configured to:

detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the rotation 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 a 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 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 two-dimensional bounded surface about the point on the two-dimensional bounded surface 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.

7. The method of claim 6 , wherein the rotation control being configured to rotate the two-dimensional bounded surface comprises the rotation control being configured to rotate the two-dimensional bounded surface in three dimensions to cause the two-dimensional bounded surface to divide the three-dimensional data set into new first and second subsets of the three-dimensional data set that are disjoint.

8. The method of claim 1 further comprising providing a rotation control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface in two dimensions on a plane that contains and is parallel to the two-dimensional bounded surface, the rotation 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

rotate the two-dimensional bounded surface on a plane that contains and is parallel to the two-dimensional bounded surface, the two-dimensional bounded surface being rotated in two dimensions around a point within the two-dimensional bounded surface as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the rotated 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 with the rotated 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the new position of the rotated two-dimensional bounded surface on the plane.

9. The method of claim 1 further comprising providing a scale control that enables a user of the multi-touch display device to scale dimensions of the two-dimensional bounded surface, the scale 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

scale dimensions of the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the scaled 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 with the scaled 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the scaled dimensions of the scaled two-dimensional bounded surface on the plane.

10. The method of claim 1 , wherein the three-dimensional view of the three-dimensional data set includes visual indications of boundaries of the three-dimensional view, and

further comprising providing a rotation control that enables a user of the multi-touch display device to rotate the three-dimensional view of the three-dimensional data set, the rotation 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 divides 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, 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.

11. The method of claim 1 further comprising rendering, on a second region of the multi-touch display device that is distinct from a first region of the multi-touch display device in which is rendered the three-dimensional view of the three-dimensional data set, a two-dimensional view of the two-dimensional data set, causing the multi-touch display device concurrently to display both the two-dimensional view of the two-dimensional data set and the updated three-dimensional view based on the three-dimensional data set that visually depicts the two-dimensional bounded surface.

12. The method of claim 1 wherein rendering the three-dimensional view wherein at least a portion of the first subset of the three-dimensional data set is excluded from the three-dimensional view comprises rendering the three-dimensional view wherein all of the first subset of the three-dimensional data set is excluded from the rendered three-dimensional view.

13. The method of claim 1 wherein rendering the three-dimensional view wherein at least a portion of the two-dimensional data set is displayed within the rendered three-dimensional view comprises rendering the three-dimensional view wherein all of the two-dimensional data set is displayed within the rendered three-dimensional view.

14. The method of claim 1 wherein the first subset of the three-dimensional data set only includes data from the three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface.

15. The method of claim 14 wherein the first subset of the three-dimensional data set includes all of the data from the three-dimensional data set that is in the positive direction relative to the two-dimensional bounded surface.

16. The method of claim 1 wherein the second subset of the three-dimensional data set only includes data from the three-dimensional data set that is in the two-dimensional data set or that is in the negative direction relative to the two-dimensional bounded surface.

17. The method of claim 16 wherein the second subset of the three-dimensional data set includes all of the data from the three-dimensional data set that is in the two-dimensional data set and all of the data from the three-dimensional data set that is in the negative direction relative to the two-dimensional bounded surface.

18. The method of claim 1 , wherein tracking movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device includes periodically detecting the positions of the first input mechanism and the second input mechanism.

19. The method of claim 18 , wherein tracking movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device includes determining that the second input mechanism has moved in response to detecting a displacement of a position of the second input mechanism between two different sampling periods.

20. The method of claim 1 , wherein the control being configured to rotate the two-dimensional bounded surface comprises the control being configured to rotate the two-dimensional bounded surface about the axis to cause the two-dimensional bounded surface to divide the three-dimensional data set into new first and second subsets of the three-dimensional data set that are disjoint.

21. 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, 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 control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface about an axis of the two-dimensional bounded surface defined through a point on the two-dimensional bounded surface, the control being configured to:

detect engagement by a first input mechanism of a first point on the multi-touch display device corresponding to a point on a plane parallel to and containing the two-dimensional bounded surface,

define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface,

detect engagement, while the first input mechanism remains engaged with the first point on the multi-touch display device corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch display device corresponding to the control,

track movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device and the second input mechanism remains engaged with the multi-touch display device,

rotate the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface, 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;

detect engagement by a first input mechanism of a first point on the multi-touch display device corresponding to a point on the plane parallel to and containing the two-dimensional bounded surface;

define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface;

detect engagement, while the first input mechanism remains engaged with the first point on the multi-touch display device corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch display device corresponding to the control;

track movements of the second input mechanism while the second input mechanism remains engaged with the multi-touch display device and the first input mechanism remains engaged with the first point on the multi-touch display device;

rotate the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device; 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device.

22. The tangible computer-readable storage device of claim 21 wherein the instructions that, when executed by a computing system, cause the computing system to define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface comprise instructions that, when executed by a computing system, cause the computing system to define the axis between the point on the plane parallel to and containing the two-dimensional bounded surface and a point located at a center of the two-dimensional bounded surface.

23. The tangible computer-readable storage device of claim 21 wherein the two-dimensional bounded surface has a shape of a rectangle and the point on the two-dimensional bounded surface used to define the axis is located at a center of the rectangle.

24. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to provide

a translation control that enables a user of the multi-touch display device to translate the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface, the translation 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

translate the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface to a new position on the plane as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the translated 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 with the translated 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the new position of the translated two-dimensional bounded surface on the plane.

25. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to provide a two-dimensional bounded surface depth control configured to:

detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the two-dimensional bounded surface depth control;

track movement of the input mechanism while the input mechanism remains engaged with the point on the multi-touch display device;

modify the two-dimensional bounded surface as a function of the tracked movement of the input mechanism to translate the two-dimensional bounded surface in a direction along the normal of the two-dimensional bounded surface to cause the two-dimensional bounded surface to define a different two-dimensional data set within the three-dimensional data set and to divide the three-dimensional data set into different first and second subsets of the three-dimensional data set, the different first and second subsets of the three-dimensional data set being distinct and on opposing sides of the two-dimensional bounded surface, the different 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 translated two-dimensional bounded surface, the different 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 translated two-dimensional bounded surface; and

update the rendering, on the multi-touch display device of the three-dimensional view based on the three-dimensional data set to reflect the translation of the two-dimensional bounded surface including:

remove at least a portion of the visual display of the different first subset of the three-dimensional data set from the rendered three-dimensional view of the three-dimensional data set, and

display, within the three-dimensional view based on the three-dimensional data set, at least a portion of the different two-dimensional data set.

26. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to provide a rotation 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 rotation control being configured to:

detect engagement by an input mechanism of a point on the multi-touch display device corresponding to the rotation 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 a 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 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 two-dimensional bounded surface about the point on the two-dimensional bounded surface 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.

27. The tangible computer-readable storage device of claim 26 , wherein the instructions that, when executed by a computing system, cause the computing system to provide the rotation control configured to rotate the two-dimensional bounded surface comprise instructions that cause the computing system to provide the rotation control configured to rotate the two-dimensional bounded surface in three dimensions to cause the two-dimensional bounded surface to divide the three-dimensional data set into new first and second subsets of the three-dimensional data set that are disjoint.

28. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to provide a rotation control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface in two dimensions on a plane that contains and is parallel to the two-dimensional bounded surface, the rotation 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

rotate the two-dimensional bounded surface on a plane that contains and is parallel to the two-dimensional bounded surface, the two-dimensional bounded surface being rotated in two dimensions around a point within the two-dimensional bounded surface as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the rotated 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 with the rotated 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the new position of the rotated two-dimensional bounded surface on the plane.

29. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to provide a scale control that enables a user of the multi-touch display device to scale dimensions of the two-dimensional bounded surface, the scale 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 display of the two-dimensional data set displayed within the three-dimensional view of the three-dimensional data set,

track movement of the one or more input mechanisms while the one or more input mechanisms remain engaged with the one or more points on the multi-touch display device,

scale dimensions of the two-dimensional bounded surface on a plane containing and parallel to the two-dimensional bounded surface as a function of the tracked movement of the one or more input mechanisms to cause a new two-dimensional data set within the three-dimensional data set to be defined that corresponds to the scaled 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 with the scaled 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 new two-dimensional data set is displayed within the three-dimensional view of the three-dimensional data set to reflect the scaled dimensions of the scaled two-dimensional bounded surface on the plane.

30. The tangible computer-readable storage device of claim 21 wherein the instructions that, when executed by a computing system, cause the computing system to render the three-dimensional view comprise instructions that, when executed by a computing system, cause the computing system to render a three-dimensional view of the three-dimensional data set that includes visual indications of boundaries of the three-dimensional view, and

further storing instructions that, when executed by a computing system, cause the computing system to provide a rotation control that enables a user of the multi-touch display device to rotate the three-dimensional view of the three-dimensional data set, the rotation 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, 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.

31. The tangible computer-readable storage device of claim 21 further storing instructions that, when executed by a computing system, cause the computing system to render, on a second region of the multi-touch display device that is distinct from a first region of the multi-touch display device in which is rendered the three-dimensional view of the three-dimensional data set, a two-dimensional view of the two-dimensional data set, causing the multi-touch display device to concurrently display both the two-dimensional view of the two-dimensional data set and the updated three-dimensional view based on the three-dimensional data set that visually depicts the two-dimensional bounded surface.

32. The tangible computer-readable storage device of claim 21 wherein the instructions that, when executed by a computing system, cause the computing system to render the three-dimensional view wherein at least a portion of the first subset of the three-dimensional data set is excluded from the three-dimensional view further comprise instructions that, when executed by a computer system, cause the computer system to render the three-dimensional view wherein all of the first subset of the three-dimensional data set is excluded from the rendered three-dimensional view.

33. The tangible computer-readable storage device of claim 21 wherein the instructions that, when executed by a computing system, cause the computing system to render the three-dimensional view wherein at least a portion of the two-dimensional data set is displayed within the rendered three-dimensional view comprise instructions that, when executed by a computer system, cause the computer system to render the three-dimensional view wherein all of the two-dimensional data set is displayed within the rendered three-dimensional view.

34. The tangible computer-readable storage device of claim 21 , wherein the instructions, that, when executed by a computing system, cause the computing system to track movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device include instructions that cause the computing system to periodically detect the positions of the first input mechanism and the second input mechanism.

35. The tangible computer-readable storage device of claim 34 , wherein the instructions, that, when executed by a computing system, cause the computing system to track movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch display device include instructions that cause the computing system to determine that the second input mechanism has moved in response to detecting a displacement of a position of the second input mechanism between two different sampling periods.

36. The tangible computer-readable storage device of claim 21 , wherein the instructions that, when executed by a computing system, cause the computing system to provide the control configured to rotate the two-dimensional bounded surface comprise instructions that cause the computing system to provide the control configured to rotate the two-dimensional bounded surface about the axis to cause the two-dimensional bounded surface to divide the three-dimensional data set into new first and second subsets of the three-dimensional data set that are disjoint.

37. 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:

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 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 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 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 control that enables a user of the multi-touch display device to rotate the two-dimensional bounded surface about an axis of the two-dimensional bounded surface defined through a point on the two-dimensional bounded surface, the control being configured to:

detect engagement by a first input mechanism of a first point on the multi-touch input sensor corresponding to a point on a plane parallel to and containing the two-dimensional bounded surface,

define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface,

detect engagement, while the first input mechanism remains engaged with the first point on the multi-touch input sensor corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch input sensor corresponding to the control,

track movements of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch input sensor and the second input mechanism remains engaged with the multi-touch input sensor,

rotate the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch input sensor 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface, 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;

detect engagement by a first input mechanism of a first point on the multi-touch input sensor corresponding to a point on the plane parallel to and containing the two-dimensional bounded surface;

define an axis between the point on the plane parallel to and containing the two-dimensional bounded surface and another point on the two-dimensional bounded surface;

detect engagement, while the first input mechanism remains engaged with the first point on the multi-touch input sensor corresponding to the point on the plane parallel to and containing the two-dimensional bounded surface, by a second input mechanism of a second point on the multi-touch input sensor corresponding to the control;

track movements of the second input mechanism while the second input mechanism remains engaged with the multi-touch input sensor and the first input mechanism remains engaged with the first point on the multi-touch input sensor;

rotate the two-dimensional bounded surface about the axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch input sensor; 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 axis defined through the point on the plane parallel to and containing the two-dimensional bounded surface and the point on the two-dimensional bounded surface as a function of the tracked movement of the second input mechanism while the first input mechanism remains engaged with the first point on the multi-touch input sensor.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 28, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 044823/0905 →
MERGER Recorded Nov 27, 2017
From: PERCEPTIVE PIXEL INC.
To: MICROSOFT CORPORATION
Reel/Frame 044511/0872 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2012
From: DAVIDSON, PHILIP L.
To: PERCEPTIVE PIXEL INC.
Reel/Frame 027925/0021 →
Continuity (3)
Continuation 12625773 · Nov 25, 2009
Provisional Application 61117952 · Nov 25, 2008
Provisional Application 61236794 · Aug 25, 2009