Navigation system for a 3D virtual scene
A navigation system for navigating a three-dimensional (3D) scene that includes a model or object with which a user can interact. The system accommodates and helps both novice and advanced users. To do this, the system allows a user to designate a point on a model and the system moves the view toward that point. A perspective scale is provided that shows the user the relative position of the current view from the starting point of the view to the surface point.
1. A method, comprising:
determining whether a cursor in a forward tool hit zone is over a model in a three dimensional scene, an invalid operation message being displayed when the determining indicates the cursor is other than over the model;
allowing a user to designate a point on a model in a view and calculating an intersection of the point and the model;
displaying a sphere at the intersection point and setting a movement distance at a percentage of a distance between the sphere and a position of the view, the percentage being adjusted responsive to cursor motion;
setting a position of the model to a center of the view in accordance with the intersection calculated responsive to designation of the point; and
displaying a perspective slider having a distance marker positioned on the slider, wherein said displaying provides a representation of the view with the model positioned at the center of the view.
2. A method as recited in claim 1 , comprising moving the view forward by a predetermined percentage of a distance from an initial view position to the point.
3. A method as recited in claim 1 , wherein a predetermined distance is 50% of the distance.
4. A method as recited in claim 1 , comprising moving the view relative to the point responsive to cursor motion.
5. A method as recited in claim 1 , wherein the sphere changes size during the setting responsive to a distance from the view to the sphere.
6. A method as recited in claim 1 , further comprising
changing a position of a perspectively sized distance marker on the slider responsive to the moving.
7. A method as recited in claim 1 , wherein the slider is a perspective shaped slider.
8. A method as recited in claim 1 , comprising:
stopping forward motion when the point is reached; and
allowing motion beyond the point when the user continues to indicate forward motion for a period of time after the stopping.
9. A method of moving a view in a forward and backwards direction in a three dimensional scene, comprising:
detecting activation of a mouse button when a cursor is in a forward tool hit zone;
determining whether the cursor is over a model in the scene and displaying an invalid operation message when the cursor is not over the model;
calculating an intersection of the cursor and the model when the cursor is over the model;
displaying a sphere at the intersection point;
setting a movement distance at a percentage of a distance between the sphere and a position of the view;
adjusting the percentage responsive to cursor motion;
setting a position of the model to a center of the view in accordance with the intersection calculated and the percentage, responsive to a point designated by a user; and
displaying a perspective slider having a distance marker positioned on the slider, where said displaying provides a representation of the view with the model positioned at the center of the view.
10. An apparatus, comprising:
a display; and
a computer configured to:
detecting activation of a mouse button when a cursor is in a forward tool hit zone;
determining whether the cursor is over a model in the scene and displaying an invalid operation message when the determining indicates the cursor is other than over the model;
calculating an intersection of the cursor and the model when the cursor is over the model;
displaying a sphere at the intersection point;
setting a movement distance at a percentage of a distance between the sphere and a position of the view;
adjusting the percentage responsive to cursor motion;
setting a position of the model to a center of the view in accordance with the intersection calculated and the percentage, responsive to a point designated by a user; and
displaying a perspective slider having a distance marker positioned on the slider, where said displaying provides a representation of the view with the model positioned at the center of the view.
11. A non-transitory computer readable storage for controlling a computer apparatus to execute an operation, comprising:
determining whether a cursor in a forward tool hit zone is over a model in a three dimensional scene, an invalid operation message being displayed when the determining indicates the cursor is other than over the model;
allowing a user to designate a point on a model in a view on a display and calculating an intersection of the point and the model;
displaying a sphere at the intersection point and setting a movement distance at a percentage of a distance between the sphere and a position of the view, the percentage being adjusted responsive to cursor motion;
offsetting a position of the model as a center of the view in accordance with the intersection calculated responsive to designation of the point; and
displaying a perspective slider having a distance marker positioned on the slider, wherein said displaying provides a representation of the view with the model positioned at the center of the view.
12. The non-transitory computer readable storage as recited in claim 11 , wherein the designation of the point by the user causes the view to be zoomed towards the intersection of the point and the model.