Systems and methods for determining emotions based on user gestures
US-2016364002-A1 · Dec 15, 2016 · US
US12042718B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12042718-B2 |
| Application number | US-202117409357-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 23, 2021 |
| Priority date | Oct 11, 2016 |
| Publication date | Jul 23, 2024 |
| Grant date | Jul 23, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques and devices for determining how to present the release of the virtual object based at least in part on received sensor data is described herein. For example, when the hardware and/or software determines that the virtual object is to be released, the hardware and/or software may calculate one or more of a velocity of the object (e.g., speed and direction), a position at which the virtual object is to be released, a trajectory of the virtual object from the position of release to the landing point of the virtual object, a landing location of the virtual object, and/or the like. The hardware and/or software may then present the virtual object being released according to this determined information.
Opening claim text (preview).
What is claimed is: 1. A method comprising: determining, at a first time and based at least in part on sensor data from a handheld controller, that a virtual object is to be released; determining a highest velocity of the handheld controller within a predetermined time range, the predetermined time range based at least in part on the first time; determining that the highest velocity within the predetermined time range occurred at a second time; determining information associated with at least one of the handheld controller or the virtual object at the second time; and causing a display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the second time. 2. The method as recited in claim 1 , further comprising determining the predetermined time range at least partly in response to the determining that the virtual object is to be released, the predetermined time range comprising a time range prior to the first time. 3. The method as recited in claim 1 , wherein: the determining the information comprises determining at least one of a speed of the handheld controller at the second time, a direction of the handheld controller at the second time, a position of the handheld controller at the second time, or a rotational velocity of the virtual object at the second time; and the causing comprises causing the display to present the virtual object based at least in part on the at least one of the speed of the handheld controller at the second time, the direction of the handheld controller at the second time, the position of the handheld controller at the second time, or the rotational velocity of the virtual object at the second time. 4. The method as recited in claim 1 , further comprising: determining at least one of a velocity of the handheld controller at a third time prior to the second time or a velocity of the handheld controller at a fourth time after the second time; and calculating an average of the highest velocity and the at least one of the velocity of the handheld controller at the third time or the velocity of the handheld controller at the fourth time; and wherein the causing comprises causing the display to present the virtual object being released at a velocity corresponding to the average. 5. The method as recited in claim 1 , further comprising: determining a position of the virtual object at the second time; and wherein the causing comprises causing the display to present the virtual object being released from a position that is based at least in part on the position of the virtual object at the second time. 6. The method as recited in claim 1 , wherein: the determining the information comprises determining, from the highest velocity, a direction of the handheld controller at the second time; and the causing comprises causing the display to present the virtual object being released in a direction that is based at least in part on the direction of the handheld controller at the second time. 7. The method as recited in claim 1 , further comprising: calculating a trajectory of the virtual object using at least the highest velocity; and wherein the causing comprises causing the display to present the virtual object being released based at least in part on the trajectory. 8. The method as recited in claim 1 , further comprising: calculating a landing location of the virtual object using at least the highest velocity and a position of the virtual object at the second time; and wherein the causing comprises causing the display to present the virtual object landing at the landing location. 9. The method as recited in claim 1 , further comprising: calculating a landing location of the virtual object using at least the highest velocity and a position of the virtual object at the second time; determining a position of the virtual object at a current time; and calculating a trajectory from the position of the virtual object at the current time to the calculated landing location; and wherein the causing comprises causing the display to present the virtual object travelling along the calculated trajectory. 10. The method as recited in claim 1 , wherein: the first time is associated with a first frame; and the determining the highest velocity of the handheld controller within the predetermined time range comprises determining the highest velocity of the handheld controller within a predetermined amount of frames immediately prior to the first frame. 11. A system comprising: one or more processors; and one or more non-transitory computer-readable media storing computer-executable instructions that, when executed, cause the one or more processors to perform acts comprising: determining, based at least in part on sensor data from a handheld controller, that a virtual object is to be released; determining a highest velocity of the handheld controller within a predetermined time range; identifying a time within the predetermined time range at which the highest velocity of the handheld controller occurred; determining information associated with at least one of the handheld controller or the virtual object at the time; and causing a display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the time. 12. The system as recited in claim 11 , wherein: the determining that the virtual object is to be released comprises determining, at a first time, that the virtual object is to be released; the predetermined time range is based at least in part on the first time; the identifying comprises identifying a second time within the predetermined time range at which the highest velocity of the handheld controller occurred; the determining the information comprises determining information associated with at least one of the handheld controller or the virtual object at the second time; and the causing comprises causing the display to present the virtual object based at least in part on the information associated with the at least one of the handheld controller or the virtual object at the second time. 13. The system as recited in claim 11 , wherein: the determining the information comprises determining at least one of a speed of the handheld controller at the time, a direction of the handheld controller at the time, a position of the handheld controller at the time, or a rotational velocity of the virtual object at the time; and the causing comprises causing the display to present the virtual object based at least in part on the at least one of the speed of the handheld controller at the time, the direction of the handheld controller at the time, the position of the handheld controller at the time, or the rotational velocity of the virtual object at the time. 14. The system as recited in claim 11 , wherein the time comprises a first time, and the acts further comprising: determining at least one of a velocity of the handheld controller at a second time prior to the first time or a velocity of the handheld controller at a third time after the first time; and calculating an average of the highest velocity and the at least one of the velocity of the handheld controller at the second time or the velocity of the handheld controller at the third time; and wherein the causing comprises causing the display to present the virtual object being released at a velocity corresponding to the average. 15. The system as recited in claim 11 , the acts further comprising: determining a p
with detection of the device orientation or free movement in a three-dimensional [3D] space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors · CPC title
Hand-worn input/output arrangements, e.g. data gloves · CPC title
using pressure sensors, e.g. generating a signal proportional to the pressure applied by the player · CPC title
for calculating the trajectory of an object · CPC title
Ball games, e.g. soccer or baseball · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.