USRE46758EActiveUtility
Animation of graphical objects
Est. expirySep 4, 2027(~1.2 yrs left)· nominal 20-yr term from priority
G06F 2203/04802G06F 9/4443G06F 3/0481G06F 3/04883G06F 9/451
53
PatentIndex Score
0
Cited by
40
References
42
Claims
Abstract
A method for animating graphical objects is provided. In one embodiment, the method includes providing a plurality of graphical objects and displaying a subset of the objects in a viewport. In this embodiment, the method may also include calculating a virtual destination for one of the graphical objects based on a received user input, and moving the graphical object to the virtual destination over a period of time. Various additional methods, machine-readable media, and devices for animating graphical objects and controlling operational characteristics of a device are also provided.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method comprising:
defining a plurality of evaluators associated with respective operational characteristics of a device;
defining a control function dependent on time and including first and second evaluators of the plurality of evaluators, wherein at least one of the first or second evaluators includes an additional function dependent on time; and
storing the plurality of evaluators and the control function in a memory of the device, wherein the device is configured to vary the operational characteristics associated with the first and second evaluators vary based at least in part on the control function;
wherein the operational characteristics associated with the first and second evaluators comprise one or more display characteristics of a given graphical object, and the control function comprises a rendering function, and the device is configured to animate;
the method further comprising:
determining a target position for a graphical object outside of a display of the device based on a user input;
animating the graphical object and to vary;
varying the one or more display characteristics associated with the first and second evaluators during animation of the graphical object over a pre-determined period of time based at least in part on the rendering function;
determining another target position for the graphical object or another graphical object outside of the display of the device based on another user input, wherein the target position and the other target position are different distances from a position of the graphical object or the other graphical object;
animating the graphical object or the other graphical object; and
varying the one or more display characteristics associated with the first and second evaluators during animation of the graphical object or the other graphical object over the pre-determined period of time based at least in part on the rendering function,
wherein the rendering function comprises a recursive interpolation function for animating the given graphical object, over the pre-determined period of time, between a source position on the display of the device and a target position outside the display of the device; and wherein the target a current position for the given graphical object being animated between the source position and the target position at a given time within the pre-determined period of time is defined at least in part by one of the first or second evaluators including the additional function dependent on time such that the target current position varies with respect to time, and the given graphical object is animated from the source position to the target position over a the pre-determined period of time such that the given graphical object arrives substantially at the current target position at the end of the pre-determined period of time.
2. The method of claim 1 , wherein the one or more display characteristics associated with the first and second evaluators comprise a position of the given graphical object.
3. The method of claim 1 , wherein the additional function dependent on time includes at least one of a linear function, a polynomial function, an exponential function, a logarithmic function, or a trigonometric function.
4. The method of claim 1 , wherein the rendering function is configured to adjust adjusts a plurality of display characteristics of the given graphical object via evaluators, the display characteristics comprising two or more of position, velocity, acceleration, size, opacity, or color.
5. The method of claim 1 , wherein the first and second evaluators of the control function operate concurrently.
6. A method comprising:
providing a plurality of graphical objects;
displaying a subset of the plurality of graphical objects in a viewport of a display;
receiving a user input;
calculating a virtual destination for at least one graphical object of the subset based on the user input; and
moving the at least one graphical object to the virtual destination over a pre-determined time period according to a time dependent function as time elapses during the pre-determined time period, wherein moving the at least one graphical object comprises moving the at least one graphical object from an actual display position within the viewport to a virtual display position outside of the viewport of the display such that the at least one graphical object arrives at the virtual display position at the end of the pre-determined time period;
receiving another user input;
calculating another virtual destination for another at least one graphical object of the subset based on the other user input, wherein a distance between the at least one graphical object and the virtual destination and another distance between the other at least graphical object and the other virtual destination are different distances;
moving the other at least one graphical object to the other virtual destination over the pre-determined time period according to the time dependent function as time elapses during the pre-determined time period, wherein moving the other at least one graphical object comprises moving the other at least one graphical object from an actual display position within the viewport to the other virtual display position outside of the viewport of the display such that the other at least one graphical object arrives at the other virtual display position at the end of the pre-determined time period.
7. The method of claim 6 , comprising:
receiving an additional user input while moving the at least one graphical object during the pre-determined time period;
updating the virtual destination for the at least one graphical object based on the additional user input; and
moving the at least one graphical object to the updated virtual destination over an additional pre-determined time period.
8. The method of claim 6 , wherein moving the at least one graphical object comprises moving the at least one graphical object according to a function including an evaluator.
9. The method of claim 6 , wherein moving the at least one graphical object comprises moving the at least one graphical object according to an interpolation between its original position and its virtual destination.
10. The method of claim 6 9, wherein the interpolation comprises a linear non-linear interpolation.
11. The method of claim 6 , wherein the virtual destination is outside of the viewport.
12. The method of claim 6 , comprising:
calculating virtual destinations for each graphical object of the plurality of graphical objects based on the user input; and
animating the sequence of graphical objects of the plurality of graphical objects within the viewport over the pre-determined time period such that each graphical object of the plurality of graphical objects is moved to its respective virtual destination over at the end of the pre-determined time period.
13. A device comprising:
a housing;
a display disposed in the housing;
a memory device disposed in the housing, the memory device including executable application instructions stored therein; and
a processor disposed in the housing and configured to execute, wherein the application instructions stored in the memory device;
wherein the device is configured to, when executed by the processor, cause the device to: pan through a plurality of images in response to a user input,
wherein to pan through the plurality of images the application instructions when executed by the processor cause the device to:
calculate, based on the user input, a virtual destination outside of the viewport of the display; move at least one image is moved of the plurality of images over a pre-determined period of time to a the virtual destination that is calculated from the user input, according to a time dependent function as time elapses during the pre-determined period of time; and themove at least one other image is movedof the plurality of images at least between a virtual display position outside of the display and an actual display position within the display according to the time dependent function as time elapses during the pre-determined period of time, and
wherein to perform another pan through the plurality of images the application instructions when executed by the processor cause the device to:
calculate, based on another user input, another virtual destination outside of the viewport of the display, wherein a distance to the virtual destination and a distance to the other virtual destination are different distances;
move at least one image of the plurality of images over the pre-determined period of time to the other virtual destination according to the time dependent function as time elapses during the pre-determined period of time; and
move at least one other image of the plurality of images at least between a virtual display position outside of the display and an actual display position within the display according to the time dependent function as time elapses during the pre-determined period of time.
14. The device of claim 13 , wherein the device comprises a touch-sensitive user interface, and the virtual destination or the other virtual destination calculated depends on the a speed of the a user movement on the touch-sensitive interface.
15. The device of claim 13 , wherein the plurality of images comprises at least one of a photograph or cover art for a media file.
16. One or more non-transitory machine-readable storage media having application instructions encoded thereon, the application instructions comprising:
instructions for displaying a portion of a sequence of images;
instructions for calculating a virtual destination for a particular image of the sequence of images based on a user input; and
instructions for animating the sequence of images over a first pre-determined time period according to a time dependent function as time elapses during the first pre-determined time period such that the particular image arrives at its the virtual destination at the end of the first pre-determined time period;
instructions for calculating another virtual destination for the particular image or for another particular image of the sequence of images based on another user input, wherein the other virtual destination is outside of a display of a device displaying the portion of the sequence of images and wherein the other virtual destination is further away from or closer to the particular image or the other particular image in the sequence of images than is the virtual destination in the sequence of images from the particular image; and
instructions for animating the sequence of images over another predetermined time period having a same duration as the first pre-determined time period according to the time dependent function as time elapses during the other pre-determined time period such that the particular image or the other particular image arrives at the other virtual destination at the end of the other pre-determined time period.
17. The one or more non-transitory machine-readable storage media of claim 16 , wherein the application instructions comprise instructions for updating the virtual destination or the other virtual destination in response to an additional user input, wherein the instructions for updating comprise instructions to cancel any animation process remaining for the first pre-determined time period or the other pre-determined time period in favor of a new animation process to move the particular image or the other particular image to the updated virtual destination over a second pre-determined time period.
18. The one or more non-transitory machine-readable storage media of claim 16 , wherein the one or more non-transitory machine-readable storage media comprise a flash memory device.
19. The method of claim 6, further comprising adjusting a plurality of display characteristics of the at least one graphical object or the other at least one graphical object, wherein the display characteristics include position, velocity, acceleration, size, opacity, or color.
20. The method of claim 6, wherein at least some of the subset of graphical objects are displayed at an angle relative to the display.
21. The method of claim 6, wherein the virtual destination or the other virtual destination is calculated in three dimensions.
22. The method of claim 6, wherein said moving the at least one graphical object or said moving the other at least on graphical object is performed about a virtual axis.
23. The method of claim 6, wherein an opacity of the at least one graphical object at the actual display position is different than an opacity of the at least one graphical object at the virtual display position or the other virtual display position; or
an opacity of the other at least one graphical object at the actual display position is different than an opacity of the other at least one graphical object at the other virtual display position.
24. The method of claim 6, wherein the calculated virtual destination includes the virtual display position and the other calculated virtual destination includes the other virtual display position.
25. The device of claim 13, wherein the plurality of images comprises cover art for a media file.
26. The device of claim 13, wherein the application instructions when executed by the processor further cause the device to adjust display characteristics of the at least one image, wherein the display characteristics include position, velocity, acceleration, size, opacity, or color.
27. The device of claim 13, wherein the at least one image or the other at least one image is moved over an additional pre-determined time period to an updated virtual destination that is calculated from an additional user input received during the pan through the plurality of images or the other pan through the plurality of images.
28. The device of claim 13, wherein the user input or the other user input is received as an input to a touch-sensitive user interface.
29. The device of claim 13, wherein at least some of the plurality of images are displayed at an angle relative to the display.
30. The device of claim 13, wherein the virtual destination or the other virtual destination is calculated in three-dimensions.
31. The device of claim 13, wherein the at least one image is moved about a virtual axis.
32. The device of claim 13, wherein an opacity of the at least one image at the actual display position is different than an opacity of the at least one image at the virtual display position or the other virtual display position.
33. The device of claim 13, wherein the calculated virtual destination includes the virtual display position, wherein the virtual display position includes coordinates outside of the display.
34. The one or more non-transitory machine-readable storage media of claim 16, wherein the application instructions further comprise:
instructions for adjusting display characteristics of the particular image or the other particular image, wherein the display characteristics include at least one of position, velocity, acceleration, size, opacity, or color.
35. The one or more non-transitory machine readable storage media of claim 16, wherein the application instructions further comprise:
instructions for updating the virtual destination for the particular image based on an additional user input; and instructions for animating the sequence of images over a second pre-determined time period such that the particular image arrives at the updated virtual destination at the end of the second pre-determined time period.
36. The one or more non-transitory machine-readable storage media of claim 16, wherein the user input or the other user input is received via a touch-sensitive user interface, and wherein the calculated virtual destination or the other calculated virtual destination depends on a speed of a user movement on the touch-sensitive user interface.
37. The one or more non-transitory machine-readable storage media of claim 16, wherein at least some of the images in the sequence of images are displayed at an angle relative to the display.
38. The one or more non-transitory machine-readable storage media of claim 16, wherein the virtual destination or the other virtual destination is calculated in three dimensions.
39. The one or more non-transitory machine-readable storage media of claim 16, wherein said animating is performed about a virtual axis.
40. The one or more non-transitory machine-readable storage media of claim 16, wherein an opacity of the particular image at its virtual destination is different than an opacity of the particular image at another destination and an opacity of the particular image or the other particular image at its other virtual destination is different than an opacity of the particular image or the other particular image at another destination.
41. A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement:
displaying a subset of graphical objects of a plurality of graphical objects, wherein the plurality of graphical objects are associated with respective coordinates; in response to user input, determining a virtual position for at least one graphical object of the subset of graphical objects, wherein the virtual position is associated with coordinates corresponding to a location outside of a display area; moving the at least one graphical object from its respective coordinates to the coordinates of the virtual position over a pre-determined period of time according to a time dependent function as time elapses during the pre-determined period of time; and in response to another user input, determining another virtual position for the at least one graphical object or another at least one graphical object of the subset of graphical objects, wherein the other virtual position is associated with coordinates corresponding to a location outside of the display area; moving the at least one graphical object or the other at least one graphical object from its respective coordinates to the coordinates of the other virtual position over the pre-determined period of time according to the time dependent function as time elapses during the pre-determined period of time, wherein a distance to move the at least one graphical object to the virtual position and a distance to move the at least one graphical object or the other at least one graphical object to the other virtual position are different distances.
42. A method, comprising:
performing, by a computing device: displaying a subset of graphical objects of a plurality of graphical objects, wherein the plurality of graphical objects are associated with respective coordinates; in response to a user input, determining a virtual position for at least one graphical object of the subset of graphical objects, wherein the virtual position is associated with coordinates corresponding to a location outside of a display area; and moving the at least one graphical object from its respective coordinates to the coordinates of the virtual position over a pre-determined period of time according to a time dependent function as time elapses during the pre-determined period of time; in response to another user input, determining another virtual position for the at least one graphical object or another at least one graphical object of the subset of graphical objects, wherein the other virtual position is associated with coordinates corresponding to a location outside of the display area; and moving the at least one graphical object or the other at least one graphical object from its respective coordinates to the coordinates of the other virtual position over the pre-determined period of time according to the time dependent function as time elapses during the pre-determined period of time, wherein a distance to move the at least one graphical object to the virtual position and a distance to move the at least one graphical object or the other at least one graphical object to the other virtual position are different distances.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.