IP Library Granted Patent US 9,996,953
Granted Patent B2
US 9,996,953 · App. 13/765,695 · Granted Jun 12, 2018

Three-dimensional annotation facing

Inventors: Eric W. Patterson (Sammamish, WA); Alexandre da Veiga (Bellevue, WA); Ian Patterson Wood (Kenmore, WA)
Assignee: Microsoft Technology Licensing, LLC
G06T11/206G06F3/01G06F3/048G06F3/0481G06F3/0482G06F3/0488G06F3/04815G06F3/04842G06F3/04847G06F17/24G06F17/241G06F17/246G06F17/30056G06F17/30061G06F17/3087G06F17/30241G06F17/30244G06F17/30551G06F17/30554G06F17/30572G06F17/30991G06T13/00G06T15/00G06T15/10G06T19/00
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,996,953
App. No.
13/765,695
Granted
Jun 12, 2018
Kind
B2
Abstract

Concepts and technologies are described herein for providing a three-dimensional (“3D”) annotation facing tool. In accordance with some concepts and technologies disclosed herein, the 3D annotation facing tool provides a way for a user to control the orientation of annotations associated with productivity data in a 3D environment. The 3D annotation facing tool can provide a user with the ability to lock the orientation of the annotation along one or more directional axes. The 3D annotation facing tool can also provide a user with the ability to maintain an orientation of the annotation in a camera facing view.

Claims (37)

1. A computer, comprising:

a processor; and

a computer-readable storage medium in communication with the processor, the computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the processor to:

render a graphical representation of data in a three-dimensional (3D) environment;

render at least one annotation in the 3D environment, wherein the at least one annotation is associated with the data, and wherein the annotation includes a graphical representation that is visible in a first orientation along a first directional axis of three directional axes in the 3D environment and visible in a second orientation along a second directional axis of the three directional axes in the 3D environment;

receive an input to change an orientation of the graphical representation of the data rendered in the 3D environment;

in response to the input to change the orientation of the graphical representation of the data, determine that the changed orientation of the graphical representation causes the at least one annotation to render illegible content within the at least one annotation;

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by a change to the first orientation and the second orientation of the at least one annotation, change the first orientation and the second orientation of the at least one annotation in the 3D environment based on the input to change the orientation of the graphical representation; and

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by use of a special annotation orientation, apply the special annotation orientation to the at least one annotation by changing the first or the second orientation while increasing or decreasing an amount of information rendered in the at least one annotation, wherein the amount of information rendered in the at least one annotation is increased based on a size of the at least one annotation if the input to change the orientation of the graphical representation is a request to zoom in on the data and the amount of information rendered in the at least one annotation that is rendered is decreased based on a size of the at least one annotation if the input to change the orientation of the graphical representation is a request to zoom out from the data.

2. The computer of claim 1 , wherein the input to change the first orientation comprises an input to zoom in, zoom out, pan or tilt.

3. The computer of claim 1 , wherein the special annotation orientation comprises a camera facing view, wherein the second orientation is maintained constant relative to the input to change the first orientation.

4. The computer of claim 1 , wherein the special annotation orientation comprises locking the second orientation along one axis of rotation and permitting an unlocked second axis of rotation to change.

5. The computer of claim 4 , wherein locking the second orientation along the one axis of rotation comprises maintaining the one axis of rotation of the second orientation constant relative to the input to change the first orientation and,

permitting the second axis of rotation to change comprises changing the second axis of rotation relative to the input to change the first orientation.

6. The computer of claim 1 , further comprising computer-executable instructions that cause the processor to change at least one aspect of the data based on the input to change the first orientation.

7. The computer of claim 6 , wherein the at least one aspect of the data comprises changing a height of the data or an orientation of the data.

8. A method for providing a user interface to search for and obtain content, the method comprising:

rendering a graphical representation of data in a three-dimensional (3D) environment;

render at least one annotation in the 3D environment, wherein the at least one annotation is associated with the data, and wherein the data includes a graphical representation that is visible in a first orientation along a first directional axis of three directional axes in the 3D environment and visible in a second orientation along a second directional axis of the three directional axes in the 3D environment;

receiving an input to change the graphical representation of the data rendered in the 3D environment, wherein the change is to zoom in on the graphical representation of the data rendered in the 3D environment in the first orientation, to zoom out on the data, to pan the first orientation, or to tilt the first orientation;

in response to the input to change the graphical representation of the data, determining that the change to the graphical representation causes the at least one annotation to render illegible content within the at least one annotation;

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by a change to the first orientation and the second orientation of the at least one annotation, changing the first orientation and the second orientation of the at least one annotation in the 3D environment based on the input;

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by use of a special annotation orientation, applying the special annotation orientation to the at least one annotation by changing the first or the second orientation while increasing or decreasing an amount of information rendered in the at least one annotation, wherein the amount of information rendered in the at least one annotation is increased based on a size of the at least one annotation if the input is a request to zoom in on the data and the amount of information rendered in the at least one annotation that is rendered is decreased if the input is a request to zoom out on the data.

9. The method of claim 8 , wherein the special annotation orientation comprises a camera facing view, wherein the second orientation is maintained constant relative to the input to change the first orientation.

10. The method of claim 8 , wherein the special annotation orientation comprises locking the second orientation along at least one axis of rotation and permitting an unlocked second axis of rotation to change.

11. The method of claim 10 , wherein locking the second orientation along at least one axis of rotation comprises maintaining the at least one axis of rotation of the second orientation constant relative to the input.

12. A computer-readable storage medium in communication with a processor, the computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the processor, cause the processor to

render a graphical representation of data in a three-dimensional (3D) environment;

render at least one annotation in the 3D environment, wherein the at least one annotation is associated with the data, and wherein the data includes a graphical representation that is visible in a first orientation along a first directional axis of three directional axes in the 3D environment and a second orientation along a second directional axis of the three directional axes in the 3D environment,

receive an input to change an orientation of the graphical representation of the data rendered in the 3D environment;

in response to the input to change the orientation of the graphical representation of the data, determine that the changed orientation of the graphical representation causes the at least one annotation to render illegible content within the at least one annotation;

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by changing the first orientation and the second orientation of the at least one annotation, change the first orientation and the second orientation of the at least one annotation in the 3D environment based on the input to change the orientation of the graphical representation; and

in response to a determination that the at least one annotation maintains legibility of the content within the at least one annotation by use of a special annotation orientation, apply the special annotation orientation to the at least one annotation by changing the first or the second orientation while increasing or decreasing an amount of information rendered in the at least one annotation, wherein the amount of information rendered in the at least one annotation is increased based on a size of the at least one annotation if the input to change the orientation of the graphical representation is a request to zoom in on the data and the amount of information rendered in the at least one annotation that is rendered is decreased based on a size of the at least one annotation if the input to change the orientation of the graphical representation is a request to zoom out on the data.

13. The computer-readable storage medium of claim 12 , wherein the input to change the first orientation comprises an input to zoom in, zoom out, pan or tilt.

14. The computer-readable storage medium of claim 12 , wherein the data comprises geocoding data to render the data and annotations in a map.

15. The computer-readable storage medium of claim 12 , further comprising computer-executable instructions that cause the processor to change at least one aspect of the data based on the input to change the first orientation.

16. The computer-readable storage medium of claim 15 , wherein the at least one aspect of the data comprises changing a height of the data or an orientation of the data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034544/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2013
From: PATTERSON, ERIC W.; DA VEIGA, ALEXANDRE; WOOD, IAN PATTERSON
To: MICROSOFT CORPORATION
Reel/Frame 029800/0871 →
Continuity (2)
Provisional Application 61681851 · Aug 10, 2012
Related Publication 20140047313A1 · Feb 13, 2014