IP Library Granted Patent US 9,891,712
Granted Patent B2
US 9,891,712 · App. 14/572,690 · Granted Feb 13, 2018

User-defined virtual interaction space and manipulation of virtual cameras with vectors

Inventors: Isaac Cohen (Los Angeles, CA); Maxwell Sills (San Francisco, CA); Paul Durdik (Foster City, CA)
Assignee: LEAP MOTION, INC.
G06F3/017G06F3/011G06F3/0304G06F3/04815G06F3/04842G06F3/04845G06T15/20G06F2203/04806
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,891,712
App. No.
14/572,690
Granted
Feb 13, 2018
Kind
B2
Abstract

The technology disclosed relates to creating user-defined interaction spaces and modalities in a three dimensional (3D) sensor space in response to control gestures. It also relates to controlling virtual cameras in the 3D sensor space using control gestures and manipulating controls of the virtual cameras through the control gestures. In particular, it relates to defining one or more spatial attributes of the interaction spaces and modalities in response to one or more gesture parameters of the control gesture. It also particularly relates to defining one or more visual parameters of a virtual camera in response to one or more gesture parameters of the control gesture.

Claims (29)

1. A computer implemented method of interacting with a virtual vector field in a three-dimensional (3D) sensor space, the method including:

defining a vector field at least responsive to curling of fingers of a hand and degrees of freedom between fingers of the curled fingers, wherein the vector field is centered with respect to a fixed point proximate to the hand and magnitude of the vector field is calculated at least in part by a scale of curling of the fingers and degrees of freedom between the fingers;

constructing a virtual sphere along a plurality of points on contour of curled fingers in the 3D sensor space;

extending radially, inward or outward, one or more interaction vectors on the virtual sphere, wherein magnitudes of the interaction vectors are determined by radius of the virtual sphere;

compounding interactions of the vector field with the interaction vectors based on their respective magnitudes, wherein the interactions include at least one of adding, multiplying, or taking dot-product of at least one vector in the vector field and at least one interaction vector; and

providing for display a user manipulable persistent rendering of the constructed virtual sphere, wherein a radius of the persistent rendering of the constructed virtual sphere increases and decreases in proportion to the inward or outward extending of the one or more interaction vectors of the virtual sphere.

2. The computer implemented method of claim 1 , wherein a motion of the displayable rendering varies in proportion to the compounding interactions of the vector field with the one or more interaction vectors of the virtual sphere.

3. A computer implemented method of manipulating virtual objects in a three-dimensional (3D) sensor space, the method including:

creating a virtual vector field in response to a control gesture that makes swirling motions in a 3D sensor space, wherein the virtual vector field is a vortex;

creating a plurality of virtual objects in response to subsequent control gestures that make circular sweeps in the 3D sensor space and define object vectors on respective virtual objects;

compounding interactions of the vector field with the object vectors based on their respective magnitudes, wherein the interactions include at least one of adding, multiplying, or taking dot-product of at least one vector in the vector field and at least one of the object vectors; and

adjusting a whirlpool effect of the vortex on the virtual objects in proportion to the interactions of the vector field and the object vectors to cause the object vectors of the respective virtual objects to bring one or more of the virtual objects closer to a center of the vortex or to push one or more of the virtual objects away from the center of the vortex.

4. The computer implemented method of claim 3 , further comprising;

determining from the plurality of virtual objects a set of virtual objects within the vortex based upon the size of the vortex; and

moving members of the set of virtual objects in unison responsive to the control gesture.

5. The computer implemented method of claim 3 , further comprising determining from a compounding of the size of the vortex and curling of fingers of a hand an appropriate velocity of motion for the virtual objects.

6. The computer implemented method of claim 3 , further comprising determining from a compounding of the size of the vortex and degrees of freedom between fingers of curled fingers of a hand an appropriate velocity of motion for the virtual objects.

7. The computer implemented method of claim 3 , further comprising determining a repulsive vortex in which virtual objects move further apart from one another.

8. A non-transitory computer-readable recording medium having a program recorded thereon for interacting with a virtual vector field in a three-dimensional (3D) sensor space, the program, when executed on a processor, implementing a method comprising:

defining a vector field at least responsive to curling of fingers of a hand and degrees of freedom between fingers of the curled fingers, wherein the vector field is centered with respect to a fixed point proximate to the hand and magnitude of the vector field is calculated at least in part by a scale of curling of the fingers and degrees of freedom between the fingers;

constructing a virtual sphere along a plurality of points on contour of curled fingers in the 3D sensor space;

extending radially, inward or outward, one or more interaction vectors on the virtual sphere, wherein magnitudes of the interaction vectors are determined by radius of the virtual sphere;

compounding interactions of the vector field with the interaction vectors based on their respective magnitudes, wherein the interactions include at least one of adding, multiplying, or taking dot-product of at least one vector in the vector field and at least one interaction vector; and

providing for display a user manipulable persistent rendering of the constructed virtual sphere, wherein a radius of the persistent rendering of the constructed virtual sphere increases and decreases in proportion to the inward or outward extending of the one or more interaction vectors of the virtual sphere.

9. A non-transitory computer-readable recording medium having a program recorded thereon for manipulating virtual objects in a three-dimensional (3D) sensor space, the program, when executed on a processor, implementing a method comprising:

creating a virtual vector field in response to a control gesture that makes swirling motions in a 3D sensor space, wherein the virtual vector field is a vortex;

creating a plurality of virtual objects in response to subsequent control gestures that make circular sweeps in the 3D sensor space and define object vectors on respective virtual objects;

compounding interactions of the vector field with the object vectors based on their respective magnitudes, wherein the interactions include at least one of adding, multiplying, or taking dot-product of at least one vector in the vector field and at least one of the object vectors; and

adjusting a whirlpool effect of the vortex on the virtual objects in proportion to the interactions of the vector field and the object vectors to cause the object vectors of the respective virtual objects to bring one or more of the virtual objects closer to a center of the vortex or to push one or more of the virtual objects away from the center of the vortex.

Assignments (15)
SECURITY INTEREST Recorded Apr 6, 2026
From: SIM IP HXR LLC
To: UNITY MASTER LLC SERIES XIX
Reel/Frame 075365/0907 →
RELEASE OF SECURITY INTEREST Recorded Mar 27, 2026
From: TRIPLEPOINT CAPITAL LLC
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 075295/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2026
From: ULTRAHAPTICS IP TWO LIMITED
To: SIM IP HXR LLC
Reel/Frame 075127/0488 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 16, 2026
From: ULTRAHAPTICS LIMITED; ULTRAHAPTICS IP LIMITED; ULTRAHAPTICS IP TWO LIMITED; ULTRALEAP LIMITED
To: SIM IP HXR LLC
Reel/Frame 074403/0664 →
SECURITY INTEREST Recorded Jun 10, 2020
From: LMI LIQUIDATING CO., LLC
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 052902/0571 →
SECURITY INTEREST Recorded Jun 5, 2020
From: ULTRAHAPTICS IP TWO LIMITED
To: LMI LIQUIDATING CO., LLC
Reel/Frame 052848/0240 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: LEAP MOTION, INC.
To: LMI LIQUIDATING CO., LLC.
Reel/Frame 052914/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 13, 2020
From: LMI LIQUIDATING CO., LLC.
To: ULTRAHAPTICS IP TWO LIMITED
Reel/Frame 051580/0165 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2019
From: HAYNES BEFFEL WOLFELD LLP
To: LEAP MOTION, INC.
Reel/Frame 049926/0631 →
RELEASE OF SECURITY INTEREST Recorded May 31, 2019
From: TRIPLEPOINT CAPITAL LLC
To: LEAP MOTION, INC.
Reel/Frame 049337/0130 →
SECURITY INTEREST Recorded Apr 11, 2019
From: LEAP MOTION, INC.
To: HAYNES BEFFEL WOLFELD LLP
Reel/Frame 048919/0109 →
TERMINATION OF SECURITY AGREEMENT Recorded Nov 7, 2018
From: THE FOUNDERS FUND IV, LP, AS COLLATERAL AGENT
To: LEAP MOTION, INC.
Reel/Frame 047444/0567 →
SECURITY INTEREST Recorded Oct 6, 2015
From: LEAP MOTION, INC.
To: THE FOUNDERS FUND IV, LP
Reel/Frame 036796/0151 →
SECURITY INTEREST Recorded Sep 21, 2015
From: LEAP MOTION, INC.
To: TRIPLEPOINT CAPITAL LLC
Reel/Frame 036644/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2015
From: COHEN, ISAAC; SILLS, MAXWELL; DURDIK, PAUL A.
To: LEAP MOTION, INC.
Reel/Frame 035268/0939 →
Continuity (2)
Provisional Application 61916790 · Dec 16, 2013
Related Publication 20150169076A1 · Jun 18, 2015