IP Library Granted Patent US 12,242,665
Granted Patent B2
US 12,242,665 · App. 18/459,811 · Granted Mar 4, 2025

Converting a 2D positional input into a 3D point in space

Inventor: Marc Alan McCall (Plantation, FL)
Assignee: MAGIC LEAP, INC.
G06F3/011G06F3/0346G06F3/0414G06F3/0416G06F3/04812G06F3/04815G06T19/006G06F2203/04101G06T2219/004
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 12,242,665
App. No.
18/459,811
Granted
Mar 4, 2025
Kind
B2
Abstract

A user may interact and select positions in three-dimensional space arbitrarily through conversion of a two-dimensional positional input into a three-dimensional point in space. The system may allow a user to use one or more user input devices for pointing, annotating, or drawing on virtual objects, real objects or empty space in reference to the location of the three-dimensional point in space within an augmented reality or mixed reality session.

Claims (60)

1. A computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:

determining a head pose of a user associated with a wearable display device;

determining a cursor screen position at a first distance from the wearable display device;

determining a cursor plane position at a second distance from the wearable display device;

determining a two-dimensional position on the cursor screen;

determining a one-dimensional position defined by at least one of the cursor plane or a mesh, wherein the one-dimensional position is further defined by a first intersection of a ray cast orthogonal from a head pose origin associated with a position and a rotation; and

displaying a virtual object to the user at a three-dimensional position comprised of the two-dimensional position and the one-dimensional position.

2. The computerized method of claim 1 , wherein the head pose of the user determines a view frustum.

3. The computerized method of claim 2 , wherein the cursor screen is positioned closer to the wearable display device than to the cursor plane.

4. The computerized method of claim 3 , wherein the cursor screen bisects the view frustum.

5. The computerized method of claim 1 , wherein the cursor plane is configured to have a maximum and minimum distance from the user.

6. The computerized method of claim 1 , wherein the two-dimensional position on the cursor screen is a default two-dimensional position.

7. The computerized method of claim 6 , wherein the default two-dimensional position is a center of the cursor screen.

8. The computerized method of claim 1 , wherein the first intersection is with at least one of the cursor plane or the mesh.

9. The computerized method of claim 8 , wherein the mesh comprises one or more real world, virtual, or mixed objects.

10. The computerized method of claim 1 , wherein the virtual object is a cursor.

11. The computerized method of claim 1 , wherein the virtual object is a point or a line.

12. A system for converting a two-dimensional positional input into a three-dimensional position for visualizing augmented reality, the system comprising:

a wearable headset;

one or more non-transitory computer readable storage mediums having program instructions embodied therewith; and

one or more processors configured to execute the program instructions to cause the system to:

determine a three-dimensional position within an augmented reality environment that includes one or more virtual objects and one or more real-world objects;

determine a two-dimensional position on a cursor screen based on the first two-dimensional offset and the second two-dimensional offset;

determine a one-dimensional position on a cursor plane or a mesh associated with one of the virtual objects or real-world objects;

identify an intersection of the determined one-dimensional position within the augmented reality environment where an axis orthogonal from a head pose origin associated with a position and a rotation, through the determined two-dimensional position on the cursor screen, and intersecting the cursor plane or the mesh associated with one of the virtual objects or real-world objects;

determining a head movement compensation based on a change in at least one of an orientation and a position from a previous head pose and the head pose, wherein the determined head movement compensation is a two-dimensional offset;

determine an updated three-dimensional position within the augmented reality environment; and

display a virtual object at the updated three-dimensional position within the augmented reality environment to a user via the wearable headset, wherein the three-dimensional position is back projected on to the two-dimensional cursor screen by using the determined head movement compensation offset.

13. The system of claim 12 , wherein at least one of the cursor plane or the mesh is fixed at the updated three-dimensional position.

14. The system of claim 13 , further comprising displaying annotations at the updated three-dimensional position based on user interactions with the input device.

15. The system of claim 13 , wherein the user draws on at least one of the cursor plane or the mesh.

16. A system for converting a two-dimensional positional input into a three-dimensional position for visualizing augmented reality, the system comprising:

a wearable headset:

one or more non-transitory computer readable storage mediums having program instructions embodied therewith; and

one or more processors configured to execute the program instructions to cause the system to:

determine a three-dimensional position within an augmented reality environment that includes one or more virtual objects and one or more real-world objects;

determine a two-dimensional position on a cursor screen based on the first two-dimensional offset and the second two-dimensional offset;

determine a one-dimensional position on a cursor plane or a mesh associated with one of the virtual objects or real-world objects;

identify an intersection of the determined one-dimensional position within the augmented reality environment where an axis orthogonal from a head pose origin associated with a position and a rotation, through the determined two-dimensional position on the cursor screen, and intersecting the cursor plane or the mesh associated with one of the virtual objects or real-world objects;

determine an input device movement based on a change in a previous two-dimensional position and the two-dimensional position, based at least on a detected interaction between a contactor operated by the user and a touch sensitive surface of an input device;

determine an updated three-dimensional position within the augmented reality environment; and

display a virtual object at the updated three-dimensional position within the augmented reality environment to a user via the wearable headset.

17. The system of claim 16 , wherein the one or more processors is configured to execute the program instructions to further cause the system to determine a head movement compensation based on a change in at least one of an orientation and a position from a previous head pose and the head pose.

18. The system of claim 17 , wherein the determined head movement compensation is a two-dimensional offset.

19. The system of claim 18 , wherein the three-dimensional position is back projected on to the two-dimensional cursor screen by using the determined head movement compensation offset.

20. A computerized method, performed by a computing system having one or more hardware computer processors and one or more non-transitory computer readable storage device storing software instructions executable by the computing system to perform the computerized method comprising:

determining a head pose of a user associated with a wearable display device, wherein the head pose of the user determines a view frustum;

determining a cursor screen position at a first distance from the wearable display device;

determining a cursor plane position at a second distance from the wearable display device;

determining a two-dimensional position on the cursor screen;

determining a one-dimensional position defined by at least one of the cursor plane or a mesh, wherein the cursor screen is positioned closer to the wearable display device than to the cursor plane and the cursor screen bisects the view frustum; and

displaying a virtual object to the user at a three-dimensional position comprised of the two-dimensional position and the one-dimensional position.

21. The computerized method of claim 20 , wherein the one-dimensional position is further defined by a first intersection of a ray cast orthogonal from a head pose origin associated with a position and a rotation.

22. The computerized method of claim 20 , wherein the cursor plane is configured to have a maximum and minimum distance from the user.

23. The computerized method of claim 20 , wherein the two-dimensional position on the cursor screen is a default two-dimensional position, and wherein the default two-dimensional position is a center of the cursor screen.

24. The computerized method of claim 20 , further comprising:

determining a head movement compensation based on a change in at least one of an orientation and a position from a previous head pose and the head pose, wherein the determined head movement compensation is a two-dimensional offset.

25. The computerized method of claim 24 , wherein the three-dimensional position is back projected on to the two-dimensional cursor screen by using the determined head movement compensation offset.

26. The computerized method of claim 20 , further comprising:

determining an input device movement based on a change in a previous two-dimensional position and the two-dimensional position, based at least on a detected interaction between a contactor operated by the user and a touch sensitive surface of an input device.

Assignments (3)
SECURITY INTEREST Recorded Oct 31, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073422/0549 →
SECURITY INTEREST Recorded Oct 20, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073008/0696 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2023
From: MCCALL, MARC ALAN
To: MAGIC LEAP, INC.
Reel/Frame 064775/0270 →
Continuity (4)
Continuation 17745247 · May 16, 2022
Continuation 17125634 · Dec 17, 2020
Provisional Application 62965728 · Jan 24, 2020
Related Publication 20230409108A1 · Dec 21, 2023
References Cited (41)
US 6850221B1 · Tickle · 2005 [cited by applicant]
US 10290155B2 · Dorta et al. · 2019 [cited by applicant]
US 10627625B2 · Hoover et al. · 2020 [cited by applicant]
US 11079995B1 · Hulbert et al. · 2021 [cited by applicant]
US 11340695B2 · McCall · 2022 [cited by examiner]
US 11782499B2 · McCall · 2023 [cited by examiner]
US 20060028436A1 · Armstrong · 2006 [cited by applicant]
US 20070081123A1 · Lewis · 2007 [cited by applicant]
US 20120127062A1 · Bar-Zeev et al. · 2012 [cited by applicant]
US 20120162549A1 · Gao et al. · 2012 [cited by applicant]
US 20130082922A1 · Miller · 2013 [cited by applicant]
US 20130117377A1 · Miller · 2013 [cited by applicant]
US 20130125027A1 · Abovitz · 2013 [cited by applicant]
US 20130208234A1 · Lewis · 2013 [cited by applicant]
US 20130242262A1 · Lewis · 2013 [cited by applicant]
US 20130257777A1 · Benko et al. · 2013 [cited by applicant]
US 20140071539A1 · Gao · 2014 [cited by applicant]
US 20140177023A1 · Gao et al. · 2014 [cited by applicant]
US 20140218468A1 · Gao et al. · 2014 [cited by applicant]
US 20140267420A1 · Schowengerdt · 2014 [cited by applicant]
US 20150016777A1 · Abovitz et al. · 2015 [cited by applicant]
US 20150103306A1 · Kaji et al. · 2015 [cited by applicant]
US 20150178939A1 · Bradski et al. · 2015 [cited by applicant]
US 20150205126A1 · Schowengerdt · 2015 [cited by applicant]
US 20150309263A2 · Abovitz et al. · 2015 [cited by applicant]
US 20150326570A1 · Publicover et al. · 2015 [cited by applicant]
US 20150346495A1 · Welch et al. · 2015 [cited by applicant]
US 20160011419A1 · Gao · 2016 [cited by applicant]
US 20160026253A1 · Bradski et al. · 2016 [cited by applicant]
US 20160132046A1 · Beoughter et al. · 2016 [cited by applicant]
US 20180046352A1 · Johnson · 2018 [cited by examiner]
US 20180059901A1 · Gullickson · 2018 [cited by applicant]
US 20190237044A1 · Day et al. · 2019 [cited by applicant]
US 20210232211A1 · McCall · 2021 [cited by applicant]
CA 2992000A1 · 2019 [cited by examiner]
ARToolKit: https://web.archive.org/web/20051013062315/http://www.hitl.washington.edu:80/artoolkit/documentation/hardware.htm, archived Oct. 13, 2005. [cited by applicant]
Azuma, “A Survey of Augmented Reality,” Teleoperators and Virtual Environments 6, 4 (Aug. 1997), pp. 355-385. https://web.archive.org/web/20010604100006/http://www.cs.unc.edu/˜azuma/ARpresence.pdf. [cited by applicant]
Azuma, “Predictive Tracking for Augmented Realty,” TR95-007, Department of Computer Science, UNC—Chapel Hill, NC, Feb. 1995. [cited by applicant]
Bimber, et al., “Spatial Augmented Reality—Merging Real and Virtual Worlds,” 2005 https://web.media.mit.edu/˜raskar/book/BimberRaskarAugmentedRealityBook.pdf. [cited by applicant]
Jacob, “Eye Tracking in Advanced Interface Design,” Human-Computer Interaction Lab Naval Research Laboratory, Washington, D.C. / paper/ in Virtual Environments and Advanced Interface Design, ed. by W. Barfield and T.A. … [cited by applicant]
Tanriverdi and Jacob, “Interacting With Eye Movements in Virtual Environments,” Department of Electrical Engineering and Computer Science, Tufts University, Medford, MA—paper/Proc. ACM CHI 2000 Human Factors in Computin… [cited by applicant]