IP Library Granted Patent US 12670680
Granted Patent B2
US 12670680 · App. 18/523,024 · Granted Jun 30, 2026

Systems and methods for correlation between rotation of a three-dimensional object and rotation of a viewpoint of a user

Inventors: Gregory Lutter (Boulder Creek, CA); Manuel C. Clement (Felton, CA)
Assignee: Apple Inc.
G06T19/20G06T2219/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 12670680
App. No.
18/523,024
Granted
Jun 30, 2026
Kind
B2
Abstract

In some examples, an electronic device presents a computer-generated environment that includes an object. In some examples, while presenting the computer-generated environment, the electronic device detects an input that includes rotation of a viewpoint of a user of the electronic device relative to the computer-generated environment. In response to detecting the input, in accordance with a determination that the rotation of the viewpoint is in a first direction, the electronic device rotates the object in a first respective direction, based on the first direction, relative to the viewpoint. In accordance with a determination that the rotation of the viewpoint is in a second direction the electronic device rotates the object in a second respective direction, based on the second direction, relative to the viewpoint.

Claims (97)

1 . A method comprising:

at an electronic device in communication with a display and one or more input devices:

presenting, via the display, a three-dimensional environment including a first object, wherein the first object is a virtual object that is displayed in a first orientation within the three-dimensional environment, and wherein the first orientation includes the first object being locked to a first portion of a body of a user of the electronic device;

while presenting the three-dimensional environment that includes the first object, detecting, via the one or more input devices, a first input that includes rotation of a viewpoint of a user of the electronic device; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in a first direction, rotating, via the display, the first object axially in a first respective direction, based on the first direction, about a first axis in the three-dimensional environment relative to the viewpoint, wherein the first axis is a vertical axis through the first object; and

in accordance with a determination that the rotation of the viewpoint of the user is in a second direction, different from the first direction, rotating the first object axially in a second respective direction, different from the first respective direction, based on the second direction, about the first axis in the three-dimensional environment relative to the viewpoint; and

after rotating the first object axially in response to the first input, displaying, via the display, the first object in the three-dimensional environment in a second orientation, different from the first orientation, wherein the second orientation includes the first object being locked to a second portion, different from the first portion, of the body of the user.

2 . The method of claim 1 , wherein rotating the first object in the first respective direction, based on the first direction, in the three-dimensional environment includes:

in accordance with a determination that the first respective direction is a clockwise direction, rotating the first object in a clockwise direction in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the first respective direction is a counterclockwise direction, rotating the first object in a counterclockwise direction in the three-dimensional environment relative to the viewpoint.

3 . The method of claim 1 , wherein:

an amount of rotation of the first object in the three-dimensional environment is correlated to an amount of rotation of the viewpoint of the user using a correlation ratio;

the correlation ratio is determined based on a speed of the rotation of the viewpoint of the user;

in accordance with a determination that the speed of the rotation of the viewpoint of the user is a first speed, the first object is rotated by a first amount in the three-dimensional environment; and

in accordance with a determination that the speed of the rotation of the viewpoint is a second speed, greater than the first speed, the first object is rotated by a second amount, greater than the first amount, in the three-dimensional environment.

4 . The method of claim 1 , wherein:

detecting the rotation of the viewpoint of the user includes detecting a head gesture that includes movement of a head of the user; and

an amount of rotation of the first object in the three-dimensional environment is a predetermined amount that is independent of an amount of rotation of the viewpoint of the user.

5 . The method of claim 1 , wherein:

the first object is associated with a plurality of predetermined viewing points in the three-dimensional environment;

before detecting the first input, the first object is displayed according to a first predetermined viewing point of the plurality of predetermined viewing points in the three-dimensional environment relative to the viewpoint of the user; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in the first direction, the first object is displayed according to a second predetermined viewing point, different from the first predetermined viewing point, in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the rotation of the viewpoint of the user is in the second direction, the first object is displayed according to a third predetermined viewing point, different from the first and the second predetermined viewing points, in the three-dimensional environment relative to the viewpoint.

6 . The method of claim 1 , further comprising:

while presenting the three-dimensional environment that includes the first object in the first orientation, detecting, via the one or more input devices, a second input that includes translation of the viewpoint of the user relative to the first object in the three-dimensional environment; and

in response to detecting the second input:

moving, via the display, the first object in the three-dimensional environment based on the translation of the viewpoint; and

forgoing rotating the first object in the three-dimensional environment.

7 . The method of claim 1 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint does not include translation of the viewpoint beyond a threshold movement relative to the three-dimensional environment.

8 . The method of claim 1 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint exceeds a threshold rotation relative to the three-dimensional environment.

9 . An electronic device comprising:

one or more processors;

memory; and

one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing a method comprising:

presenting, via a display, a three-dimensional environment including a first object, wherein the first object is a virtual object that is displayed in a first orientation within the three-dimensional environment, and wherein the first orientation includes the first object being locked to a first portion of a body of a user of the electronic device;

while presenting the three-dimensional environment that includes the first object, detecting, via one or more input devices, a first input that includes rotation of a viewpoint of a user of the electronic device; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in a first direction, rotating, via the display, the first object axially in a first respective direction, based on the first direction, about a first axis in the three-dimensional environment relative to the viewpoint, wherein the first axis is a vertical axis through the first object; and

in accordance with a determination that the rotation of the viewpoint of the user is in a second direction, different from the first direction, rotating the first object axially in a second respective direction, different from the first respective direction, based on the second direction, about the first axis in the three-dimensional environment relative to the viewpoint; and

after rotating the first object axially in response to the first input, displaying, via the display, the first object in the three-dimensional environment in a second orientation, different from the first orientation, wherein the second orientation includes the first object being locked to a second portion, different from the first portion, of the body of the user.

10 . The electronic device of claim 9 , wherein rotating the first object in the first respective direction, based on the first direction, in the three-dimensional environment includes:

in accordance with a determination that the first respective direction is a clockwise direction, rotating the first object in a clockwise direction in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the first respective direction is a counterclockwise direction, rotating the first object in a counterclockwise direction in the three-dimensional environment relative to the viewpoint.

11 . The electronic device of claim 9 , wherein:

an amount of rotation of the first object in the three-dimensional environment is correlated to an amount of rotation of the viewpoint of the user using a correlation ratio;

the correlation ratio is determined based on a speed of the rotation of the viewpoint of the user;

in accordance with a determination that the speed of the rotation of the viewpoint of the user is a first speed, the first object is rotated by a first amount in the three-dimensional environment; and

in accordance with a determination that the speed of the rotation of the viewpoint is a second speed, greater than the first speed, the first object is rotated by a second amount, greater than the first amount, in the three-dimensional environment.

12 . The electronic device of claim 9 , wherein:

detecting the rotation of the viewpoint of the user includes detecting a head gesture that includes movement of a head of the user; and

an amount of rotation of the first object in the three-dimensional environment is a predetermined amount that is independent of an amount of rotation of the viewpoint of the user.

13 . The electronic device of claim 9 , wherein:

the first object is associated with a plurality of predetermined viewing points in the three-dimensional environment;

before detecting the first input, the first object is displayed according to a first predetermined viewing point of the plurality of predetermined viewing points in the three-dimensional environment relative to the viewpoint of the user; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in the first direction, the first object is displayed according to a second predetermined viewing point, different from the first predetermined viewing point, in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the rotation of the viewpoint of the user is in the second direction, the first object is displayed according to a third predetermined viewing point, different from the first and the second predetermined viewing points, in the three-dimensional environment relative to the viewpoint.

14 . The electronic device of claim 9 , wherein the method further comprises:

while presenting the three-dimensional environment that includes the first object in the first orientation, detecting, via the one or more input devices, a second input that includes translation of the viewpoint of the user relative to the first object in the three-dimensional environment; and

in response to detecting the second input:

moving, via the display, the first object in the three-dimensional environment based on the translation of the viewpoint; and

forgoing rotating the first object in the three-dimensional environment.

15 . The electronic device of claim 9 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint does not include translation of the viewpoint beyond a threshold movement relative to the three-dimensional environment.

16 . The electronic device of claim 9 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint exceeds a threshold rotation relative to the three-dimensional environment.

17 . A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by one or more processors of an electronic device, cause the electronic device to perform a method comprising:

presenting, via a display, a three-dimensional environment including a first object, wherein the first object is a virtual object that is displayed in a first orientation within the three-dimensional environment, and wherein the first orientation includes the first object being locked to a first portion of a body of a user of the electronic device;

while presenting the three-dimensional environment that includes the first object, detecting, via one or more input devices, a first input that includes rotation of a viewpoint of a user of the electronic device; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in a first direction, rotating, via the display, the first object axially in a first respective direction, based on the first direction, about a first axis in the three-dimensional environment relative to the viewpoint, wherein the first axis is a vertical axis through the first object; and

in accordance with a determination that the rotation of the viewpoint of the user is in a second direction, different from the first direction, rotating the first object axially in a second respective direction, different from the first respective direction, based on the second direction, about the first axis in the three-dimensional environment relative to the viewpoint; and

after rotating the first object axially in response to the first input, displaying, via the display, the first object in the three-dimensional environment in a second orientation, different from the first orientation, wherein the second orientation includes the first object being locked to a second portion, different from the first portion, of the body of the user.

18 . The non-transitory computer readable storage medium of claim 17 , wherein rotating the first object in the first respective direction, based on the first direction, in the three-dimensional environment includes:

in accordance with a determination that the first respective direction is a clockwise direction, rotating the first object in a clockwise direction in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the first respective direction is a counterclockwise direction, rotating the first object in a counterclockwise direction in the three-dimensional environment relative to the viewpoint.

19 . The non-transitory computer readable storage medium of claim 17 , wherein:

an amount of rotation of the first object in the three-dimensional environment is correlated to an amount of rotation of the viewpoint of the user using a correlation ratio;

the correlation ratio is determined based on a speed of the rotation of the viewpoint of the user;

in accordance with a determination that the speed of the rotation of the viewpoint of the user is a first speed, the first object is rotated by a first amount in the three-dimensional environment; and

in accordance with a determination that the speed of the rotation of the viewpoint is a second speed, greater than the first speed, the first object is rotated by a second amount, greater than the first amount, in the three-dimensional environment.

20 . The non-transitory computer readable storage medium of claim 17 , wherein:

detecting the rotation of the viewpoint of the user includes detecting a head gesture that includes movement of a head of the user; and

an amount of rotation of the first object in the three-dimensional environment is a predetermined amount that is independent of an amount of rotation of the viewpoint of the user.

21 . The non-transitory computer readable storage medium of claim 17 , wherein:

the first object is associated with a plurality of predetermined viewing points in the three-dimensional environment;

before detecting the first input, the first object is displayed according to a first predetermined viewing point of the plurality of predetermined viewing points in the three-dimensional environment relative to the viewpoint of the user; and

in response to detecting the first input:

in accordance with a determination that the rotation of the viewpoint of the user is in the first direction, the first object is displayed according to a second predetermined viewing point, different from the first predetermined viewing point, in the three-dimensional environment relative to the viewpoint; and

in accordance with a determination that the rotation of the viewpoint of the user is in the second direction, the first object is displayed according to a third predetermined viewing point, different from the first and the second predetermined viewing points, in the three-dimensional environment relative to the viewpoint.

22 . The non-transitory computer readable storage medium of claim 17 , wherein the method further comprises:

while presenting the three-dimensional environment that includes the first object in the first orientation, detecting, via the one or more input devices, a second input that includes translation of the viewpoint of the user relative to the first object in the three-dimensional environment; and

in response to detecting the second input:

moving, via the display, the first object in the three-dimensional environment based on the translation of the viewpoint; and

forgoing rotating the first object in the three-dimensional environment.

23 . The non-transitory computer readable storage medium of claim 17 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint does not include translation of the viewpoint beyond a threshold movement relative to the three-dimensional environment.

24 . The non-transitory computer readable storage medium of claim 17 , wherein rotating the first object in the three-dimensional environment based on the rotation of the viewpoint in response to detecting the first input is in accordance with a determination that one or more criteria are satisfied, including a criterion that is satisfied when the rotation of the viewpoint exceeds a threshold rotation relative to the three-dimensional environment.