Push-tumble three dimensional navigation system
First Claim
1. A method of three-dimensional viewing or navigating, comprising:
- simultaneously tumbling, panning, and zooming a view of a model according to two-dimensional data.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a system of interactive navigation of a tool relative to three-dimensional volumetric data. The tool may be a camera or a brush and the volume data may be points, curves, iso-surfaces, geometric surfaces or combinations thereof. Moreover, the volume data may be explicitly or implicitly created. In the case of a camera and a surface, a surface of the model is viewed from an initial view point with an initial view direction. A two-dimensional vector, as by moving a mouse, is used to translate the initial view point to a next view point in a plane normal to the view direction and intersecting the initial view point. A point of the surface that is closest to the next view point may then be found, and the next direction of the view is set to the direction from the next position of the view point to the closest surface point. The closest point is found by casting rays from the next view point. The next view direction may be set to the direction of the ray corresponding to the point with the smallest distance. The next view point may be further translated toward or away from the closest surface point, along the newly set next view direction, to a location that is a same distance from the surface as the initial view point.
38 Citations
31 Claims
-
1. A method of three-dimensional viewing or navigating, comprising:
simultaneously tumbling, panning, and zooming a view of a model according to two-dimensional data.
-
2. A method for viewing or navigating a model, comprising:
-
translating a location of a view of the model; and
automatically orienting a direction of the view while maintaining a normal distance of the view to a surface of the model. - View Dependent Claims (3)
-
-
4. A method of three-dimensional viewing or navigating, comprising:
-
generating a two-dimensional input;
panning a view of a model according to the two-dimensional input;
automatically zooming the view according to the two-dimensional input; and
automatically tumbling the view according to the two-dimensional input, where said panning, zooming, and tumbling are relative to a fixed point in the space of the model. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A method of viewing or navigating a model, comprising
automatically moving a camera, according to interactively generated two-dimensional data, from a current position relative to the model, to a new position relative to the model; - and
at both positions, automatically facing the camera to the model at a distance from a surface of the model. - View Dependent Claims (11)
- and
-
12. A method for viewing or navigating a model, comprising changing an object-centric surface view of the model by changing an area of the model viewed by the surface view and keeping the surface view constant.
-
13. A method of viewing or navigating an object, comprising automatically changing a portion of an object that is displayed according to a consistent object-centric surface view of the model.
-
14. A method for viewing or navigating a model, comprising:
displaying a new surface area of the model viewed with an object-centric view of the model, by changing a portion of the model that is within the object-centric view while otherwise maintaining the object-centric view.
-
15. A method of viewing or navigating a model, comprising:
-
displaying a surface portion of a model within an object-centric view; and
displaying a new surface portion of the model within the same object-centric view.
-
-
16. A method of viewing or navigating a model, comprising:
-
displaying a first surface area of the model, the first surface area facing a view point that is a distance from the surface; and
displaying a second surface area of the model by changing, according to a two-dimensional interactive input, a position of at least one of the camera relative to the model, the model relative to the camera, and the camera and the model relative to each other, where the second surface area automatically faces the view point at the distance from the surface
-
-
17. A data structure used to view or navigate a surface of a three-dimensional model in a three-dimensional space, comprising:
-
a moving view vector comprising a view direction in the three-dimensional space and having a constant view length;
a moving view point defining a position of the view vector in the three-dimensional space; and
a moving focus point constrained to the surface, defined by said moving view point and said view vector, where said view vector ends at the focus point and said focus point and said view position are the constant view length apart. - View Dependent Claims (18)
-
- 19. A method of viewing or navigating a model, comprising automatically maintaining an optimal view for performing an interactive operation on the model while interactively manipulating the optimal view of the model.
-
21. A method of viewing or navigating a model, comprising:
-
translating a camera that is movably positioned on a shell of the model; and
automatically facing the camera at the model in response to said translating. - View Dependent Claims (22)
-
-
23. A method of interactively navigating or manipulating a view of a three-dimensional model, comprising:
-
viewing a surface of the model from an initial view point with an initial view direction;
generating a single two-dimensional vector by moving a mouse;
translating, according to the vector, the initial view point to a next view point in a plane normal to the view direction and intersecting the initial view point;
automatically finding a point of the surface that is closest to the next view point; and
automatically setting a next view direction to a direction from the next view point to the closest surface point. - View Dependent Claims (24, 25, 26)
-
-
27. A method of interactively navigating or manipulating a view of a three-dimensional model, comprising:
-
viewing a surface from an initial view point with an initial view direction;
generating a single two-dimensional vector by moving a mouse;
automatically translating, according to the vector, the initial view point to a next view point in a plane normal to the view direction and intersecting the initial view point;
automatically finding a point of the surface that is closest to the next view point by casting rays from the next view point with a three-dimensional spread in the direction of the initial direction, determining intersection points where the rays intersect the surface, finding distances between the intersection points and the next view point, and selecting the point with the smallest distance;
automatically setting a next view direction to a direction from the next view point to the closest surface point, wherein the next view direction is set to the direction of a ray corresponding to the point with the smallest distance; and
automatically translating the next view point toward or away from the closest surface point, along the next view direction, to a location that is a same distance from the surface as the initial view point.
-
-
28. An apparatus for interactively manipulating a view of a three-dimensional model, comprising:
-
a viewing unit viewing a surface from an initial view point with an initial view direction;
an input unit generating a single two-dimensional vector; and
a computing unit performing a process comprising;
translating, according to the vector, the initial view point to a next view point in a plane normal to the view direction and intersecting the initial view point;
finding a point of the surface that is closest to the next view point;
setting a next view direction to a direction from the next view point to the closest surface point; and
translating the next view point along the next view direction.
-
-
29. A method, comprising:
-
moving a mouse in two dimensions;
translating a three dimensional view to a new position in accordance with the mouse movement;
determining an average distance from the new position to points of a model surface; and
automatically orienting the view towards the model surface based on the average distance.
-
-
30. A storage medium storing data for performing a process, the process comprising:
-
automatically moving a camera, according to interactively generated two-dimensional data, from a current position relative to the model, to a new position relative to the model; and
at both positions, automatically facing the camera to the model at a distance from a surface of the model.
-
-
31. An apparatus for three-dimensional viewing or navigating, the apparatus comprising:
a processing unit performing a process, the process comprising;
automatically moving a camera, according to interactively generated two-dimensional data, from a current position relative to the model, to a new position relative to the model; and
automatically facing, at both positions, the camera to the model at a distance from a surface of the model.
Specification