# US 10,504,285 B2 · Navigation system for a 3D virtual scene

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,504,285 B2
- Document ID: US10504285B2
- Status: Granted
- Kind: B2
- Application number: 12/200,319
- Filed: 2008-08-28
- Published: 2009-04-16
- Granted: 2019-12-10
- Earliest claimed: 2007-09-26
- Assignees: Autodesk, Inc.
- Applicants: George Fitzmaurice; Justin Matejka; Igor Mordatch; Gord Kurtenbach; Azam Khan
- Inventors: George Fitzmaurice; Justin Matejka; Igor Mordatch; Gord Kurtenbach; Azam Khan
- Web page: https://patentgrep.com/patent/US10504285B2

## CPC

- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06T 15/20: Perspective computation
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

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 provides allows a user to place a point on a model surface that is used as a focus point for tool operations. The focus point is a geometry sphere that shows orientation and relative position of the view in the scene.

## Claims

### Claim 1

A method, comprising:
determining that a user holds a pointing device in an activated state to place a tool in an active state, wherein the pointing device controls a position of a user-controlled cursor;
determining that the user-controlled cursor is over a portion of a model within a three-dimensional (3D) scene;
in response to determining that the user-controlled cursor is over the portion of the model, automatically displaying a center point sphere that represents a point within the 3D scene that is a projection of the user-controlled cursor onto the model within the 3D scene, wherein the center point sphere comprises a 3D geometric object; and
performing one or more operations relative to the point represented by the center point sphere to change the position of a view associated with the 3D scene.

### Claim 2 (depends on 1)

The method of claim 1, further comprising displaying orientation axial rings on the center point sphere.

### Claim 3 (depends on 1)

The method of claim 1, further comprising displaying the center point sphere as partially transparent where occluding geometry resides in between a camera associated with the 3D scene and the center point.

### Claim 4 (depends on 1)

The method of claim 1, further comprising displaying a text descriptor associated with the center point sphere describing a function associated with the one or more operations.

### Claim 5 (depends on 1)

The method of claim 1, further comprising moving the point to a center of the view when the one or more operations are related to a centering function.

### Claim 6 (depends on 1)

The method of claim 1, further comprising zooming toward the point when the one or more operations are related to a zoom.

### Claim 7 (depends on 1)

The method of claim 1, further comprising orbiting around the point when the one or more operations are related to an orbiting function.

### Claim 8 (depends on 1)

The method of claim 1, further comprising moving the view toward the point when the one or more operations are related to a forwarding function.

### Claim 9

A system, comprising:
a display; and
a processor coupled to the display and configured to:
determine that a user holds a pointing device in an activated state to place a tool in an active state, wherein the pointing device controls a position of a user-controlled cursor;
determine that the user-controlled cursor is over a portion of a model within a three-dimensional (3D) scene;
in response to determining that the user-controlled cursor is over the portion of the model, automatically display a center point sphere that represents a point within the 3D scene that is a projection of the user-controlled cursor onto the model within the 3D scene, wherein the center point sphere comprises a 3D geometric object; and
perform one or more operations relative to the point represented by the center point sphere to change the position of a view associated with the 3D scene.

### Claim 10

A non-transient computer readable storage medium storing instructions that, when executed by a processor, cause the processor to navigate a three-dimensional scene, by performing the steps of:
determining that a user holds a pointing device in an activated state to place a tool in an active state, wherein the pointing device controls a position of a user-controlled cursor;
determining that the user-controlled cursor is over a portion of a model within a three-dimensional (3D) scene;
in response to determining that the user-controlled cursor is over the portion of the model, automatically displaying a center point sphere that represents a point within the 3D scene that is a projection of the user-controlled cursor onto the model within the 3D scene, wherein the center point sphere comprises a 3D geometric object; and
performing one or more operations relative to the point represented by the center point sphere to change the orientation or position of a view associated with the 3D scene.

### Claim 11 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising displaying orientation axial rings on the center point sphere.

### Claim 12 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising displaying the center point sphere as partially transparent where occluding geometry resides in between a camera associated with the 3D scene and the center point.

### Claim 13 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising displaying a text descriptor associated with the center point sphere describing a function associated with the one or more operations.

### Claim 14 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising moving the point to a center of the view when the one or more operations are related to a centering function.

### Claim 15 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising zooming toward the point when the one or more operations are related to a zoom.

### Claim 16 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising orbiting around the point when the one or more operations are related to an orbiting function.

### Claim 17 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising moving the view toward the point when the one or more operations are related to a forwarding function.

### Claim 18 (depends on 10)

The non-transient computer readable storage medium of claim 10, wherein the center point sphere is displayed at the point within the 3D scene that is a projection of the user-controlled cursor onto the model within the 3D scene.

### Claim 19 (depends on 10)

The non-transient computer readable storage medium of claim 10, further comprising, prior to determining that the user-controlled cursor is over the portion of the model, determining that a tool is in an active state.
