Push-tumble three dimensional navigation system
First Claim
1. A method of three-dimensional viewing or navigating a model, comprising:
- simultaneously tumbling, panning, and zooming a view of the model according to only two-dimensional input data and in association with a geometry of a scene.
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.
-
Citations
31 Claims
-
1. A method of three-dimensional viewing or navigating a model, comprising:
simultaneously tumbling, panning, and zooming a view of the model according to only two-dimensional input data and in association with a geometry of a scene.
-
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 distance from the view along a normal to a surface of the model. - View Dependent Claims (3)
-
-
4. A method of three-dimensional viewing or navigating a model, comprising:
-
generating a two-dimensional input; panning a view of the 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 on a surface of the model. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A method of viewing or navigating a model comprised of curved or non-axis-aligned flat surfaces, said method 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, when the camera does not face the model, automatically reorienting 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 when a user provides navigation input, correspondingly changing an object-centric surface view of the model by traveling along the surface of the model an area of the model viewed by the surface view while otherwise automatically keeping the surface view constant.
-
13. A method of viewing or navigating an object, comprising when a user provides navigation input, correspondingly automatically changing, relative to the object, a center of a view of an object that is displayed according to a consistent object-centric surface view of the model while the object-centric surface view moves in three-dimensional space with an otherwise consistent object-centric surface view of the object.
-
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 translating a portion of the model that is within the object-centric view while otherwise maintaining the object-centric view'"'"'s distance from the model and keeping the object-centric view normal to the surface of the model.
-
15. A method of viewing or navigating a model, comprising:
-
displaying a surface portion of a model within an object-centric view; displaying a new surface portion of the model within the same object-centric view; and while the object-centric view is moved by a user it automatically stays a same distance from the surface of the model and also automatically reorients to stay normal to the surface of the model.
-
-
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 with one hand.
-
21. A method of viewing or navigating a model, comprising:
-
translating a camera that is movably positioned on an exterior shell of the model defined by a distance; 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 normal based on the average distance.
-
-
30. A storage medium storing data for performing a process of viewing or navigating a model comprised of curved or non-axis-aligned flat surfaces, 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, when the camera does not face the model, automatically reorienting 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 when the camera does not face the model, automatically reorienting, at both positions, the camera to the model at a distance from a surface of the model.
-
Specification