# US 2021/0342012 A1 · User-Defined Virtual Interaction Space and Manipulation of Virtual Cameras with Vectors

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0342012 A1
- Document ID: US20210342012A1
- Status: Published application
- Kind: A1
- Application number: 17/378,428
- Filed: 2021-07-16
- Published: 2021-11-04
- Earliest claimed: 2013-12-16
- Assignees: Ultrahaptics IP Two Limited
- Applicants: Ultrahaptics IP Two Limited
- Inventors: Isaac COHEN; Maxwell SILLS; Paul DURDIK
- Web page: https://patentgrep.com/patent/US20210342012A1

## CPC

- G06F 3/017: {Gesture based interaction, e.g. based on a set of recognized hand gestures (interaction based on gestures traced on a digitiser G06F3/04883)}
- G06F 3/011: {Arrangements for interaction with the human body, e.g. for user immersion in virtual reality (blind teaching G09B21/00)}
- G06F 3/0304: {Detection arrangements using opto-electronic means (constructional details of pointing devices not related to the detection arrangement using opto-electronic means G06F3/033; optical digitisers G06F3/042)}
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06F 3/04842: Selection of displayed objects or displayed text elements (G06F3/0482 takes precedence)
- G06F 3/04845: for image manipulation, e.g. dragging, rotation, expansion or change of colour
- G06T 15/20: Perspective computation
- G06F 2203/04806: Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## 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

### Claim 1

A method of manipulating virtual objects in a three-dimensional (3D) sensor space, the method including:
receiving a control gesture that makes swirling motions in a 3D sensor space;
obtaining a virtual vector field using the control gesture received, wherein the virtual vector field is a vortex;
receiving one or more subsequent control gestures that make circular sweeps in the 3D sensor space;
obtaining one or more virtual objects in response to the subsequent control gestures received and object vectors defined on respective virtual objects;
obtaining interactions of the vector field compounded with the object vectors based on their respective magnitudes; and
providing for display, one or more of the virtual objects brought closer to a center of the vortex, or one or more of the virtual objects pushed away from the center of the vortex, in proportion to the interactions of the vector field and the object vectors.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
obtaining an area determined for the vortex from the control gestures.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
obtaining from the one or more virtual objects, a set of virtual objects determined to be within the vortex based upon the size of the vortex; and
providing for display, members of the set of virtual objects moving in unison responsive to the control gesture.

### Claim 4 (depends on 1)

The method of claim 1, further comprising obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and curling of fingers of a hand.

### Claim 5 (depends on 1)

The method of claim 1, further comprising obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and degrees of freedom between fingers of curled fingers of a hand.

### Claim 6 (depends on 1)

The method of claim 1, further comprising the virtual vector field increasing in strength responsive to continued circling of a control gesture.

### Claim 7 (depends on 1)

The method of claim 1, further comprising obtaining a repulsive vortex in which virtual objects move further apart from one another.

### Claim 8

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:
receiving a virtual vector field in response to a control gesture that makes swirling motions in a 3D sensor space;
obtaining a virtual vector field using the control gesture received, wherein the virtual vector field is a vortex;
receiving one or more subsequent control gestures that make circular sweeps in the 3D sensor space;
obtaining one or more virtual objects in response to the subsequent control gestures received and object vectors defined on respective virtual objects;
obtaining interactions of the vector field compounded with the object vectors based on their respective magnitudes; and
providing for display, one or more of the virtual objects brought closer to a center of the vortex, or one or more of the virtual objects pushed away from the center of the vortex, in proportion to the interactions of the vector field and the object vectors.

### Claim 9 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, further comprising:
obtaining an area determined for the vortex from the control gestures.

### Claim 10 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, further comprising:
obtaining from the one or more virtual objects, a set of virtual objects determined to be within the vortex based upon the size of the vortex; and
providing for display, members of the set of virtual objects moving in unison responsive to the control gesture.

### Claim 11 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, wherein the method further includes obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and curling of fingers of a hand.

### Claim 12 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, wherein the method further includes obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and degrees of freedom between fingers of curled fingers of a hand.

### Claim 13 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, further comprising the virtual vector field increasing in strength responsive to continued circling of a control gesture.

### Claim 14 (depends on 8)

The non-transitory computer-readable recording medium of claim 8, wherein the method further includes obtaining a repulsive vortex in which virtual objects move further apart from one another.

### Claim 15

A smart phone having an interface that manipulates virtual objects in a three-dimensional (3D) sensor space, the smart phone comprising:
a hardware controller storing instructions that, when executed, implement actions including:
receiving a control gesture, as viewed by a camera having a particular vantage point, that makes swirling motions in a 3D sensor space;
obtaining a virtual vector field using the control gesture received, wherein the virtual vector field is a vortex;
receiving one or more subsequent control gestures that make circular sweeps in the 3D sensor space;
obtaining one or more virtual objects in response to the subsequent control gestures received and object vectors defined on respective virtual objects;
obtaining interactions of the vector field compounded with the object vectors based on their respective magnitudes; and
providing for display, one or more of the virtual objects brought closer to a center of the vortex, or one or more of the virtual objects pushed away from the center of the vortex, in proportion to the interactions of the vector field and the object vectors.

### Claim 16 (depends on 15)

The smart phone of claim 15, wherein the actions further include:
obtaining an area determined for the vortex from the control gestures.

### Claim 17 (depends on 15)

The smart phone of claim 15, wherein the actions further include:
obtaining from the one or more virtual objects, a set of virtual objects determined to be within the vortex based upon the size of the vortex; and
providing for display, members of the set of virtual objects moving in unison responsive to the control gesture.

### Claim 18 (depends on 15)

The smart phone of claim 15, wherein the actions further include obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and curling of fingers of a hand.

### Claim 19 (depends on 15)

The smart phone of claim 15, wherein the actions further include obtaining an appropriate velocity of motion for the virtual objects determined from a compounding of the size of the vortex and degrees of freedom between fingers of curled fingers of a hand.

### Claim 20 (depends on 15)

The smart phone of claim 15, wherein the actions further include obtaining a repulsive vortex in which virtual objects move further apart from one another.
