Maintaining 3D labels as stable objects in 3D world
First Claim
1. A method for rendering a text label on a map output on a display of an electronic device, comprising:
- displaying the text label in a first orientation on the map in a mapping application executing on the electronic device, wherein the first orientation is based, at least in part, on a viewing angle of a virtual camera associated with the mapping application and an elevation of the virtual camera associated with the mapping application;
receiving input in the mapping application that changes one or more of the viewing angle of the virtual camera and the elevation of the virtual camera; and
in response to the received input, continuously animating a rotation of the text label around an axis from the first orientation to a second orientation as long as at least one of the viewing angle and the viewing elevation of the virtual camera is altered by the received input.
2 Assignments
0 Petitions
Accused Products
Abstract
Architecture that enables the preservation of label readability in a scene (e.g., map, map tiles, graphical background, etc.) by way of label orientation relative to a fixed heading on a plane or curved surface. After identifying an initial fixed heading, movement of the camera (e.g., zoom-in, zoom-out, position change, etc.) in the scene along that heading without changing the camera heading as measured relative to a fixed point does not alter label orientation. In a mapping implementation, after identifying an initial fixed camera heading over terrain of the Earth, movement of the camera (e.g., zoom-in, zoom-out, position change, etc.) in the scene without changing the camera heading as measured relative to some fixed point does not change label orientation. The orientation of labels may be changed if the heading of the camera is altered, but this change is delayed until camera movement quiesces.
32 Citations
20 Claims
-
1. A method for rendering a text label on a map output on a display of an electronic device, comprising:
-
displaying the text label in a first orientation on the map in a mapping application executing on the electronic device, wherein the first orientation is based, at least in part, on a viewing angle of a virtual camera associated with the mapping application and an elevation of the virtual camera associated with the mapping application; receiving input in the mapping application that changes one or more of the viewing angle of the virtual camera and the elevation of the virtual camera; and in response to the received input, continuously animating a rotation of the text label around an axis from the first orientation to a second orientation as long as at least one of the viewing angle and the viewing elevation of the virtual camera is altered by the received input. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
at least one processor; and a memory coupled to the at least one processor and storing instructions that, when executed by the at least one processor, perform a method, comprising; determining an elevation of a virtual camera associated with the mapping application; rendering a label in the mapping application, wherein an orientation of the label is based, at least in part, on the determined elevation of the virtual camera and a viewing angle of a map of the mapping application; receiving input in the mapping application that alters at least one of the elevation of the virtual camera from a first elevation to a second elevation or the viewing angle from a first angle to a second angle; and in response to the input, changing a presentation angle of the label from a first presentation angle to a second presentation angle by continuously animating a rotation of the label from the first presentation angle to the second presentation angle around an axis as long as at least one of the viewing angle or the elevation of the virtual camera is altered by the received input. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. An electronic device, comprising:
-
a processor; and a memory coupled to the processor and storing instructions that, when executed by the processor, causes the processor to; render a plurality of text labels on a three-dimensional map within a mapping application that is rendered on a display of the electronic device; determine an initial orientation of each of the plurality of text labels based, at least in part, on a viewing angle and a viewing elevation of a virtual camera associated with the three-dimensional map; receiving input that changes at least one of the viewing angle and the viewing elevation of the virtual camera; and updating the initial orientation of each of the plurality of text labels based, at least in part, on the received input, wherein updating the initial orientation of each of the plurality of text labels comprises continuously animating changes to each of the plurality of text labels from the initial orientation to a new orientation as long as at least one of the viewing angle and the viewing elevation of the virtual camera is altered by the received input, wherein continuously animating changes to each of the plurality of text labels from the initial orientation to the new orientation comprises continuously animating a rotation of each of the plurality of text labels around an axis. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification