IP Library › Granted Patent US 11,182,044
Granted Patent B2
US 11,182,044 · App. 16/887,426 · Granted Nov 23, 2021

Device, method, and graphical user interface for manipulating 3D objects on a 2D screen

Inventors: Gerald Louis Guyomard (Los Altos, CA); Etienne H. Guerard (Cupertino, CA); Adam Michael O'Hern (Campbell, CA); Michelle Chua (Cupertino, CA); Robin-Yann Joram Storm (Amsterdam, NL); Adam James Bolton (Bend, OR); Zachary Becker (Santa Clara, CA); Bradley Warren Peebler (Emerald Hills, CA)
Assignee: APPLE INC.
G06F3/04815G06F3/0481G06F3/0484G06F3/0488G06F3/04842G06F3/04845
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 11,182,044
App. No.
16/887,426
Granted
Nov 23, 2021
Kind
B2
Abstract

A method includes displaying a spatial manipulation user interface element including a first set of spatial manipulation affordances respectively associated with a first set of spatial manipulations of a three-dimensional object. The first set of spatial manipulations is based on a first virtual camera perspective. The method includes, in response to detecting a user input changing the first virtual camera perspective to a second virtual camera perspective, changing display of the three-dimensional object from the first virtual camera perspective to the second virtual camera perspective, and displaying a second set of spatial manipulation affordances respectively associated with a second set of spatial manipulations. The second set of spatial manipulations is based on the second virtual camera perspective, and includes a spatial manipulation excluded from the first set of spatial manipulations. The first set of spatial manipulations includes a spatial manipulation excluded from the second set of spatial manipulations.

Claims (60)

1. A method comprising:

at a device including one or more processors, non-transitory memory, and a display:

displaying a three-dimensional object in a three-dimensional space from a first virtual camera perspective, wherein the three-dimensional space is defined by a three-dimensional coordinate system including three perpendicular axes;

displaying a spatial manipulation user interface element including a first set of spatial manipulation affordances respectively associated with a first set of spatial manipulations of the three-dimensional object, wherein the first set of spatial manipulations is based on the first virtual camera perspective;

detecting a user input changing the first virtual camera perspective to a second virtual camera perspective;

in response to detecting the user input changing the first virtual camera perspective to the second virtual camera perspective:

displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective; and

displaying the spatial manipulation user interface element including a second set of spatial manipulation affordances respectively associated with a second set of spatial manipulations of the three-dimensional object, wherein the second set of spatial manipulations is based on the second virtual camera perspective, wherein the first set of spatial manipulations includes at least one spatial manipulation excluded from the second set of spatial manipulations and the second set of spatial manipulations includes at least one spatial manipulation excluded from the first set of spatial manipulations.

2. The method of claim 1 , wherein the at least one spatial manipulation excluded from the second set of spatial manipulations includes two-dimensional translation in a first plane perpendicular to a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective and the at least one spatial manipulation excluded from the first set of spatial manipulations includes two-dimensional translation in a second plane perpendicular to a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective.

3. The method of claim 1 , wherein the at least one spatial manipulation excluded from the second set of spatial manipulations includes rotation about a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective and the at least one spatial manipulation excluded from the first set of spatial manipulations includes rotation about a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective.

4. The method of claim 1 , wherein the first set of spatial manipulation affordances includes a first ring in a first plane perpendicular to a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective for scaling and rotation about the first axis and the second set of spatial manipulation affordances includes a second ring in a second plane perpendicular to a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective for scaling and rotation about the second axis.

5. The method of claim 1 , wherein the first set of spatial manipulations and the second set of spatial manipulations includes one-dimensional translations along each of the three perpendicular axes.

6. The method of claim 1 , wherein the first set of spatial manipulations and the second set of spatial manipulations includes scaling.

7. The method of claim 1 , wherein the spatial manipulation user interface element is displayed in association with the three-dimensional object.

8. The method of claim 7 , wherein the spatial manipulation user interface element is displayed overlaid on the three-dimensional object.

9. The method of claim 7 , wherein the spatial manipulation user interface element is displayed surrounding the three-dimensional object.

10. The method of claim 1 , wherein the three-dimensional coordinate system is a global three-dimensional coordinate system that does not change in response to spatial manipulation of the three-dimensional object.

11. The method of claim 1 , wherein the three-dimensional coordinate system is a local three-dimensional coordinate system fixedly aligned with the three-dimensional object as the three-dimensional object moves in a global three-dimensional coordinate system that does not change in response to spatial manipulation of the three-dimensional object.

12. The method of claim 1 , further comprising:

while displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective, detecting a user input locking the spatial manipulation user interface element to the second set of spatial manipulations;

detecting a user input changing the second virtual camera perspective to a third virtual camera perspective; and

in response to detecting the user input changing the second virtual camera perspective to the third virtual camera perspective and in accordance with a determination that the spatial manipulation user interface element is locked to the second set of spatial manipulations:

displaying the three-dimensional object in the three-dimensional space from the third virtual camera perspective; and

displaying the spatial manipulation user interface element including the second set of spatial manipulation affordances.

13. The method of claim 1 , further comprising:

while displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective, detecting a user input locking the spatial manipulation user interface element to a third set of spatial manipulations of the three-dimensional object; and

in response to detecting the user input locking the spatial manipulation user interface element to the third set of spatial manipulations of the three-dimensional object:

displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective; and

displaying the spatial manipulation user interface element including a third set of spatial manipulation affordances respectively associated with the third set of spatial manipulations of the three-dimensional object, wherein the third set of spatial manipulations includes at least one spatial manipulation excluded from the second set of spatial manipulations and the second set of spatial manipulations includes at least one spatial manipulation excluded from the third set of spatial manipulations.

14. A device comprising:

a display; and

a non-transitory memory; and

one or more processors to:

display a three-dimensional object in a three-dimensional space from a first virtual camera perspective, wherein the three-dimensional space is defined by a three-dimensional coordinate system including three perpendicular axes;

display a spatial manipulation user interface element including a first set of spatial manipulation affordances respectively associated with a first set of spatial manipulations of the three-dimensional object, wherein the first set of spatial manipulations is based on the first virtual camera perspective;

detect a user input changing the first virtual camera perspective to a second virtual camera perspective;

in response to detecting the user input changing the first virtual camera perspective to the second virtual camera perspective:

display the three-dimensional object in the three-dimensional space from the second virtual camera perspective; and

display the spatial manipulation user interface element including a second set of spatial manipulation affordances respectively associated with a second set of spatial manipulations of the three-dimensional object, wherein the second set of spatial manipulations is based on the second virtual camera perspective, wherein the first set of spatial manipulations includes at least one spatial manipulation excluded from the second set of spatial manipulations and the second set of spatial manipulations includes at least one spatial manipulation excluded from the first set of spatial manipulations.

15. The device of claim 14 , wherein the at least one spatial manipulation excluded from the second set of spatial manipulations includes two-dimensional translation in a first plane perpendicular to a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective and the at least one spatial manipulation excluded from the first set of spatial manipulations includes two-dimensional translation in a second plane perpendicular to a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective.

16. The device of claim 14 , wherein the at least one spatial manipulation excluded from the second set of spatial manipulations includes rotation about a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective and the at least one spatial manipulation excluded from the first set of spatial manipulations includes rotation about a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective.

17. The device of claim 14 , wherein the first set of spatial manipulation affordances includes a first ring in a first plane perpendicular to a first axis of the three perpendicular axes that is closest to parallel to the first virtual camera perspective for scaling and rotation about the first axis and the second set of spatial manipulation affordances includes a second ring in a second plane perpendicular to a second axis of the three perpendicular axes that is closest to parallel to the second virtual camera perspective for scaling and rotation about the second axis.

18. The device of claim 14 , wherein the one or more processors are further to:

while displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective, detect a user input locking the spatial manipulation user interface element to the second set of spatial manipulations;

detect a user input changing the second virtual camera perspective to a third virtual camera perspective; and

in response to detecting the user input changing the second virtual camera perspective to the third virtual camera perspective and in accordance with a determination that the spatial manipulation user interface element is locked to the second set of spatial manipulations:

display the three-dimensional object in the three-dimensional space from the third virtual camera perspective; and

display the spatial manipulation user interface element including the second set of spatial manipulation affordances.

19. The device of claim 14 , wherein the one or more processors are further to:

while displaying the three-dimensional object in the three-dimensional space from the second virtual camera perspective, detect a user input locking the spatial manipulation user interface element to a third set of spatial manipulations of the three-dimensional object; and

in response to detecting the user input locking the spatial manipulation user interface element to the third set of spatial manipulations of the three-dimensional object:

display the three-dimensional object in the three-dimensional space from the second virtual camera perspective; and

display the spatial manipulation user interface element including a third set of spatial manipulation affordances respectively associated with the third set of spatial manipulations of the three-dimensional object, wherein the third set of spatial manipulations includes at least one spatial manipulation excluded from the second set of spatial manipulations and the second set of spatial manipulations includes at least one spatial manipulation excluded from the third set of spatial manipulations.

20. A non-transitory memory storing one or more programs, which, when executed by one or more processors of a device with a display cause the device to:

display a three-dimensional object in a three-dimensional space from a first virtual camera perspective, wherein the three-dimensional space is defined by a three-dimensional coordinate system including three perpendicular axes;

display a spatial manipulation user interface element including a first set of spatial manipulation affordances respectively associated with a first set of spatial manipulations of the three-dimensional object, wherein the first set of spatial manipulations is based on the first virtual camera perspective;

detect a user input changing the first virtual camera perspective to a second virtual camera perspective;

in response to detecting the user input changing the first virtual camera perspective to the second virtual camera perspective:

display the three-dimensional object in the three-dimensional space from the second virtual camera perspective; and

display the spatial manipulation user interface element including a second set of spatial manipulation affordances respectively associated with a second set of spatial manipulations of the three-dimensional object, wherein the second set of spatial manipulations is based on the second virtual camera perspective, wherein the first set of spatial manipulations includes at least one spatial manipulation excluded from the second set of spatial manipulations and the second set of spatial manipulations includes at least one spatial manipulation excluded from the first set of spatial manipulations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2020
From: GUYOMARD, GERALD LOUIS; GUERARD, ETIENNE H.; O'HERN, ADAM MICHAEL; CHUA, MICHELLE; STORM, ROBIN-YANN JORAM; BOLTON, ADAM JAMES; BECKER, ZACHARY; PEEBLER, BRADLEY WARREN
To: APPLE INC.
Reel/Frame 052792/0269 →
Continuity (3)
Provisional Application 62906936 · Sep 27, 2019
Provisional Application 62856056 · Jun 1, 2019
Related Publication 20200379626A1 · Dec 3, 2020