IP Library Granted Patent US 9,098,168
Granted Patent B2
US 9,098,168 · App. 13/555,909 · Granted Aug 4, 2015

Spring motions during object animation

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,098,168
App. No.
13/555,909
Granted
Aug 4, 2015
Kind
B2
Abstract

Particular embodiments display an object at a first position on a screen of an electronic device; and in response to a user selecting the object with one or more fingers and moving the fingers around the screen, display an animated sequence depicting the object moving around the screen tracking movements of the user's fingers, movements of the object in the first animated sequence simulating a visual effect of the object being tethered to the user's fingers by one or more springs.

Claims (62)

1. A computer-implemented method comprising:

displaying an object at a first position on a screen of an electronic device;

in response to a user selecting two positions on the screen outside a plurality of edges of the object with two or more fingers and moving the fingers in a pinching motion, displaying a first animated sequence depicting the object folding or unfolding on the screen in accordance with movements of the user's fingers, movements of the object in the first animated sequence simulating a visual effect of the edges of the object being tethered to the user's fingers by two or more first springs, the object being assigned a virtual mass; and

displaying a plurality of shadows around the object in relation to a simulated light source, the plurality of shadows changing when the object moves according to the first animated sequence in relation to the simulated light source,

wherein the simulated light source is located at a predetermined position on the screen of the electronic device,

wherein each of the two or more first springs is visually attached to the object at positions corresponding to a location of the two or more fingers moving the object in the pinching motion, and

wherein the first animated sequence further comprises a visual effect of a tightening of the two or more first springs during the pinching motion that is determined based on a distance between the edges of the object and the positions of each of the two or more fingers; and

in response to the user releasing the object at a second position on the screen by moving the user's fingers away from the screen, displaying a second animated sequence depicting the object returning from the second position to the first position on the screen, movements of the object in the second animated sequence simulating a visual effect of the object being tethered to the first position by one or more second springs.

2. The computer-implemented method of claim 1 , wherein:

the movements of the user's fingers comprise lateral movements and rotational movements; and

the object tracks both the lateral and rotational movements of the user's fingers through lateral and rotational movements, respectively.

3. The computer-implemented method of claim 1 , further comprising:

assigning a spring constant to each first spring; and

computing the movements of the object in the first animated sequence based on the mass of the object, the spring constant of each first spring, and a speed of the user's fingers.

4. The computer-implemented method of claim 1 , further comprising:

assigning a spring constant to each second spring; and

computing the movements of the object in the second animated sequence based on the mass to the object, the spring constant of each second spring, and an initial speed of the object when the user releases the object.

5. The computer-implemented method of claim 1 , further comprising

in response to the user throwing the object against an edge of the screen at a second position on the screen, displaying a second animated sequence depicting the object bouncing around the screen and gradually returning to the first position on the screen, movements of the object in the second animated sequence simulating the visual effect of the object being tethered to the first position by the one or more second springs.

6. The computer-implemented method of claim 1 , further comprising

in response to the user zooming in on the object by pinching open the object, displaying a third animated sequence depicting the object increasing in size until the object occupies substantially the entire screen, movements of the object in the third animated sequence simulating a visual effect of the objects growing in size while being tethered to a center of the screen by the one or more second springs.

7. The computer-implemented method of claim 6 , further comprising

in response to the user zooming out on the object by pinching close the object, displaying a fourth animated sequence depicting the object decreasing in size until the object returns to its original size and to the first position on the screen, movements of the object in the fourth animated sequence simulating a visual effect of the objects shrinking in size and returning to the first position while being tethered to the first position by one or more third springs.

8. One or more computer-readable non-transitory storage media embodying software that is operable when executed to:

display an object at a first position on a screen of an electronic device;

in response to a user selecting two positions on the screen outside the plurality of edges of the object with two or more fingers and moving the fingers in a pinching motion, display a first animated sequence depicting the object folding or unfolding on the screen in accordance with movements of the user's fingers, movements of the object in the first animated sequence simulating a visual effect of the edges of the object being tethered to the user's fingers by two or more first springs, the object being assigned a virtual mass; and

display a plurality of shadows around the object in relation to a simulated light source, the plurality of shadows changing when the object moves according to the first animated sequence in relation to the simulated light source,

wherein the simulated light source is located at a predetermined position on the screen of the electronic device,

wherein each of the two or more first springs is visually attached to the object at positions corresponding to a location of the two or more fingers moving the object in the pinching motion, and

wherein the first animated sequence further comprises a visual effect of a tightening of the two or more first springs during the pinching motion that is determined based on a distance between the edges of the object and the positions of each of the two or more fingers; and

in response to the user releasing the object at a second position on the screen by moving the user's fingers away from the screen, display a second animated sequence depicting the object returning from the second position to the first position on the screen, movements of the object in the second animated sequence simulating a visual effect of the object being tethered to the first position by one or more second springs.

9. The media of claim 8 , wherein:

the movements of the user's fingers comprise lateral movements and rotational movements; and

the object tracks both the lateral and rotational movements of the user's fingers through lateral and rotational movements, respectively.

10. The media of claim 8 , wherein the software is further operable when executed to:

assign a spring constant to each first spring; and

compute the movements of the object in the first animated sequence based on the mass of the object, the spring constant of each first spring, and a speed of the user's fingers.

11. The media of claim 8 , wherein the software is further operable when executed to:

assign a spring constant to each second spring; and

compute the movements of the object in the second animated sequence based on the mass to the object, the spring constant of each second spring, and an initial speed of the object when the user releases the object.

12. The media of claim 8 , wherein the software is further operable when executed to

in response to the user throwing the object against an edge of the screen at a second position on the screen, display a third animated sequence depicting the object bouncing around the screen and gradually returning to the first position on the screen, movements of the object in the third animated sequence simulating the visual effect of the object being tethered to the first position by the one or more second springs.

13. The media of claim 8 , wherein the software is further operable when executed to

in response to the user zooming in on the object by pinching open the object, display a third animated sequence depicting the object increasing in size until the object occupies substantially the entire screen, movements of the object in the third animated sequence simulating a visual effect of the objects growing in size while being tethered to a center of the screen by the one or more second springs.

14. The media of claim 13 , wherein the software is further operable when executed to

in response to the user zooming out on the object by pinching close the object, display a fourth animated sequence depicting the object decreasing in size until the object returns to its original size and to the first position on the screen, movements of the object in the fourth animated sequence simulating a visual effect of the objects shrinking in size and returning to the first position while being tethered to the first position by one or more third springs.

15. A system comprising:

one or more processors; and

a memory coupled to the processors comprising instructions executable by the processors, the processors operable when executing the instructions to:

display an object at a first position on a screen of an electronic device;

in response to a user selecting two positions on the screen outside a plurality of edges of the object with two or more fingers and moving the fingers in a pinching motion, display a first animated sequence depicting the object folding or unfolding on the screen in accordance with movements of the user's fingers, movements of the object in the first animated sequence simulating a visual effect of the edges of the object being tethered to the user's fingers by two or more first springs, the object being assigned a virtual mass; and

display a plurality of shadows around the object in relation to a simulated light source, the plurality of shadows changing when the object moves according to the first animated sequence in relation to the simulated light source,

wherein the simulated light source is located at a predetermined position on the screen of the electronic device,

wherein each of the two or more first springs is visually attached to the object at positions corresponding to a location of the two or more fingers moving the object in the pinching motion,

wherein the first animated sequence further comprises a visual effect of a tightening of the two or more first springs during the pinching motion that is determined based on a distance between the edges of the object and the positions of each of the two or more fingers; and

in response to the user releasing the object at a second position on the screen by moving the user's fingers away from the screen, display a second animated sequence depicting the object returning from the second position to the first position on the screen, movements of the object in the second animated sequence simulating a visual effect of the object being tethered to the first position by one or more second springs.

16. The system of claim 15 , wherein:

the movements of the user's fingers comprise lateral movements and rotational movements; and

the object tracks both the lateral and rotational movements of the user's fingers through lateral and rotational movements, respectively.

17. The system of claim 15 , wherein the software is further operable when executed to:

assign a spring constant to each first spring; and

compute the movements of the object in the first animated sequence based on the mass of the object, the spring constant of each first spring, and a speed of the user's fingers.

Assignments (2)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2013
From: MATAS, MICHAEL; TSINTERIS, KIMON; SARNER, AUSTIN
To: FACEBOOK, INC.
Reel/Frame 029750/0535 →