Computing devices and methods for navigating around a surface of three-dimensional (3D) coordinate system representations of 3D objects
First Claim
1. A computer-implemented method of presenting a camera viewpoint of a three-dimensional surface of a body within a two-dimensional viewport that is rendered on one or more computing devices, the body surface is defined by data of a three-dimensional coordinate system having x, y, and z axes, wherein the body includes a North pole and a South pole, a spin-axis that extends through a center of the body generally along the z-axis, and a swing-axis that extends generally along the x-axis through the center of the body perpendicular to the spin-axis and parallel to a plane defined by the map viewport, the method comprising:
- rendering, by the one or more computing devices, a display of the body in the viewport using the three-dimensional coordinate system data;
causing, by the one or more computing devices, the rendered body to move within the viewport between a current point (p0) on the body surface and a desired map point (pT) on the body surface using the three-dimensional coordinate system data by;
determining, by the one or more computing devices, an intermediate point (pM/pM′
);
determining, by the one or more computing devices, a spin-axis angle of revolution around the spin-axis between the current point and the intermediate point around a first body circle;
determining, by the one or more computing devices, a swing-axis angle of revolution around the swing-axis between the intermediate point and the desired point around a second body circle; and
moving, by the one or more computing devices, the rendered body within the viewport along the determined spin-axis angle of revolution and the determined swing-axis angle of revolution;
wherein moving the body within the viewport between the current point and the desired point does not change an orientation of the North pole of the rendered body within the viewport; and
wherein the intermediate point comprises a point on the body at which the first body circle and the second body circle intersect.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure relates to navigating around geographic maps within a map viewport display. More specifically, the present disclosure relates to navigating around a surface of a 3D, geographic coordinate system representation of a body using a pan feature while North is locked. In response to a user activating a pan feature of a navigation interface, a spin angle and, or a swing angle is calculated and the globe is revolved around a spin-axis and/or a swing-axis while revolution around a rotate-axis is locked.
-
Citations
27 Claims
-
1. A computer-implemented method of presenting a camera viewpoint of a three-dimensional surface of a body within a two-dimensional viewport that is rendered on one or more computing devices, the body surface is defined by data of a three-dimensional coordinate system having x, y, and z axes, wherein the body includes a North pole and a South pole, a spin-axis that extends through a center of the body generally along the z-axis, and a swing-axis that extends generally along the x-axis through the center of the body perpendicular to the spin-axis and parallel to a plane defined by the map viewport, the method comprising:
-
rendering, by the one or more computing devices, a display of the body in the viewport using the three-dimensional coordinate system data; causing, by the one or more computing devices, the rendered body to move within the viewport between a current point (p0) on the body surface and a desired map point (pT) on the body surface using the three-dimensional coordinate system data by; determining, by the one or more computing devices, an intermediate point (pM/pM′
);determining, by the one or more computing devices, a spin-axis angle of revolution around the spin-axis between the current point and the intermediate point around a first body circle; determining, by the one or more computing devices, a swing-axis angle of revolution around the swing-axis between the intermediate point and the desired point around a second body circle; and moving, by the one or more computing devices, the rendered body within the viewport along the determined spin-axis angle of revolution and the determined swing-axis angle of revolution; wherein moving the body within the viewport between the current point and the desired point does not change an orientation of the North pole of the rendered body within the viewport; and wherein the intermediate point comprises a point on the body at which the first body circle and the second body circle intersect. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing device having a display configured to present a camera viewpoint of a three-dimensional surface of a body within a two-dimensional viewport that is rendered on a computing device, the body surface is defined by data of a three-dimensional coordinate system having x, y, and z axes, wherein the body includes a North pole and a South pole, a spin-axis that extends through a center of the body generally along the z-axis, and a swing-axis that extends generally along the x-axis through the center of the body perpendicular to the spin-axis and parallel to a plane defined by the viewport, the computing device comprising:
-
a cursor control device having a user input mechanism, wherein activation of the cursor control device and the input mechanism causes a processor to execute a body surface panning module; a display generation module stored on a non-transitory computer readable medium that, when executed by a processor, renders a display of the body in the viewport using the three-dimensional coordinate system data; the body surface panning module stored on a non-transitory computer readable medium that, when executed by a processor, causes the rendered body to move within the viewport between a current point (p0) on the body surface and a desired point (pT) on the body surface using the three-dimensional coordinate system data by; determining an intermediate point (pM/pM′
);determining a spin-axis angle of revolution around the spin-axis between the current point and the intermediate point around a first body circle; determining a swing-axis angle of revolution around the swing-axis between the intermediate point and the desired point around a second body circle; and moving the rendered body within the viewport along the determined spin-axis angle of revolution and the determined swing-axis angle of revolution; wherein moving the body within the viewport between the current point and the desired point does not change an orientation of the North pole of the rendered body within the viewport; and wherein the intermediate point comprises a point on the body at which the first body circle and the second body circle intersect. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer-readable medium having instructions stored thereon that are configured to present a camera viewpoint of a three-dimensional surface of a body within a two-dimensional viewport that is rendered on a computing device, the body surface including data of a three-dimensional coordinate system having x, y, and z axes, wherein the body includes a North pole and a South pole, a spin-axis that extends through a center of the body along the z-axis between the North pole and the South pole, and a swing-axis that extends along the x-axis through the center of the body perpendicular to the spin-axis and parallel to a plane defined by the viewport, the non-transitory computer-readable medium comprising:
-
a display generation module that, when executed by a processor, renders a display of the body in the viewport using the three-dimensional coordinate system data; a body surface panning feature module that, when executed by a processor, causes the rendered body to move within the viewport between a current point (p0) on the body surface and a desired point (pT) on the body surface using the three-dimensional coordinate system data by; determining an intermediate point (pM/pM′
);determining a spin-axis angle of revolution around the spin-axis between the current point and the intermediate point around a first body circle; determining a swing-axis angle of revolution around the swing-axis between the intermediate point and the desired point around a second body circle; and moving the rendered body within the viewport along the determined spin-axis angle of revolution and the determined swing-axis angle of revolution; wherein movement of the body within the viewport between the current point and the desired point does not change an orientation of the North pole of the rendered body within the viewport; and wherein the intermediate point comprises a point on the body at which the first body circle and the second body circle intersect. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification