IP Library Granted Patent US 10,140,776
Granted Patent B2
US 10,140,776 · App. 15/181,250 · Granted Nov 27, 2018

Altering properties of rendered objects via control points

Inventors: Julia Schwarz (Redmond, WA); Bharat Ahluwalia (Redmond, WA); David Calabrese (Bellevue, WA); Robert C J Pengelly (Seattle, WA); Yasaman Sheri (Seattle, WA); James Tichenor (Seattle, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06T19/20G06F3/011G06F3/013G06F3/017G06F3/04842G06F3/04845G06T15/60G06T19/006G06T2219/20G06T2219/2004G06T2219/2016
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 10,140,776
App. No.
15/181,250
Granted
Nov 27, 2018
Kind
B2
Abstract

Altering properties of rendered objects and/or mixed reality environments utilizing control points associated with the rendered objects and/or mixed reality environments is described. Techniques described can include detecting a gesture performed by or in association with a control object. Based at least in part on detecting the gesture, techniques described can identify a target control point that is associated with a rendered object and/or a mixed reality environment. As the control object moves within the mixed reality environment, the target control point can track the movement of the control object. Based at least in part on the movement of the control object, a property of the rendered object and/or the mixed reality environment can be altered. A rendering of the rendered object and/or the mixed reality environment can be modified to reflect any alterations to the property.

Claims (65)

1. A device comprising:

one or more processors;

memory;

one or more modules stored in the memory and executable by the one or more processors to perform operations comprising:

presenting, in a three-dimensional coordinate space, a rendered object via a display of the device;

detecting, in the three-dimensional coordinate space, a gesture performed by or in association with a control object;

identifying, based at least in part on the gesture, a target control point from a plurality of control points, each control point of the plurality of control points displayed in a position that is associated with an edge or a vertex of the rendered object;

tracking movement of the control object in the three-dimensional coordinate space;

causing the target control point to move with the movement of the control object in the three-dimensional coordinate space;

determining a displacement of the target control point from an original position to a new position in the three-dimensional coordinate space, the new position based at least in part on the movement of the control object;

altering a property of the rendered object based at least in part on the displacement; and

modifying a rendering of the rendered object to reflect an alteration of the property.

2. The device as claim 1 recites, wherein a processor of the one or more processors is configured to identify a state of the control object based at least in part on a machine-learned algorithm and the operations further comprise:

receiving a signal from the processor indicating the state; and

detecting the gesture based at least in part on the signal.

3. The device as claim 1 recites, wherein the device comprises a head-mounted device and the gesture comprises a pinch gesture that pinches the target control point in the three-dimensional coordinate space.

4. The device as claim 1 recites, the operations further comprising:

determining distances between the control object and the plurality of control points; and

identifying the target control point based at least in part on determining that a distance between the control object and the target control point is a shortest distance of the distances.

5. The device as claim 1 recites, the operations further comprising:

determining that the target control point is a gaze target of a user associated with the device; and

identifying the target control point based at least in part on determining that the target control point is the gaze target.

6. The device as claim 1 recites, the operations further comprising:

determining contextual data associated with the gesture; and

identifying the target control point based at least in part on the contextual data.

7. The device as claim 1 recites, the operations further comprising:

determining a release of the gesture; and

terminating tracking the movement of the control object.

8. The device as claim 1 recites, wherein the movement comprises at least one of movement along an x-axis, movement along a y-axis, movement along a z-axis, rotation around the x-axis, rotation around the y-axis, or rotation around the z-axis.

9. A computer-implemented method for altering one or more properties of a rendered object in a mixed reality environment, the computer-implemented method comprising:

presenting the rendered object in a three-dimensional coordinate space;

detecting, in the three-dimensional coordinate space, a gesture performed by or in association with a control object;

identifying, by a processor, a target control point of a plurality of control points selected by the gesture, wherein each control point of the plurality control points is displayed in a position that is associated with an edge or a vertex of the rendered object and the target control point is within a threshold distance of the gesture performed by or in association with the control object;

tracking movement of the control object in the three-dimensional coordinate space;

causing the target control point to move with the movement of the control object in the three-dimensional coordinate space;

altering a property of the rendered object based at least in part on the movement of the control object; and

modifying a rendering of the rendered object to reflect an alteration of the property.

10. The computer-implemented method as claim 9 recites, wherein the property comprises a scale of the rendered object.

11. The computer-implemented method as claim 9 recites, wherein the property comprises a three-dimensional structure of the rendered object.

12. The computer-implemented method as claim 9 recites, wherein the property comprises a position of the rendered object in the three-dimensional coordinate space.

13. The computer-implemented method as claim 9 recites, wherein the property comprises a rotation of the rendered object in the three-dimensional coordinate space.

14. The computer-implemented method as claim 9 recites, wherein:

a second property is mapped to or otherwise associated with the target control point; and

the computer-implemented method further comprises:

altering the second property of the rendered object based at least in part on the movement of the control object; and

modifying the rendering of the rendered object to reflect an alteration of the second property.

15. The computer-implemented method as claim 9 recites, wherein:

the target control point is associated with a second rendered object in the mixed reality environment; and

the computer-implemented method further comprises:

altering a property of the second rendered object based at least in part on the movement of the control object; and

modifying a rendering of the second rendered object to reflect an alteration to the property of the second rendered object.

16. The computer-implemented method as claim 9 recites, further comprising:

determining a position of the control object relative to the target control point; and

presenting feedback to guide the gesture performed by or in association with the control object to select the target control point.

17. A computer-implemented method for altering one or more properties of a mixed reality environment, the computer-implemented method comprising:

presenting an object in a three-dimensional coordinate space;

presenting a plurality of control points in a three-dimensional coordinate space, the plurality of control points positioned on an edge or a vertex of the object;

identifying, by a processor, a target control point of the plurality of control points, the target control point being within a threshold distance of a control object;

tracking movement of the control object in the three-dimensional coordinate space;

causing the target control point to move with the movement of the control object in the three-dimensional coordinate space;

altering a property of the object based at least in part on the movement of the control object; and

modifying a rendering of the object to reflect an alteration of the property.

18. The device as claim 1 recites, wherein each of the plurality of control points are configured to alter a different property of the rendered object.

19. The computer-implemented method as claim 9 recites, wherein each of the plurality of control points are configured to alter a different property of the rendered object.

20. The computer-implemented method as claim 17 recites, wherein each of the plurality of control points are configured to alter a different property of the rendered object.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2017
From: SCHWARZ, JULIA; AHLUWALIA, BHARAT; CALABRESE, DAVID; PENGELLY, ROBERT CJ; SHERI, YASAMAN; TICHENOR, JAMES
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 043297/0677 →
Continuity (1)
Related Publication 20170358144A1 · Dec 14, 2017
Cited By (15)
US 12,191,875 US 12,204,691 US 12,271,528 US 12,345,838 US 12,347,304 US 12,370,577 US 12,373,033 US 12,393,277 US 12,517,585 US 12,568,341 US 12,597,211 US 12,659,636 US 12,688,761 US 12,688,846 US 12,694,071