MORPHING CHART ANIMATIONS IN A BROWSER
First Claim
1. A computer-implemented method for providing morphing animations between arbitrary chart states in a web client application, comprising:
- generating a display of a chart in the web client application from drawing instructions included in a first scene graph;
responsive to receiving a user manipulation of the chart, updating a description of the chart;
requesting a new layout for the chart based on the updated description of the chart;
in response to requesting a new layout for the chart, receiving a second scene graph, the second scene graph including drawing instructions for generating a display of the chart in the web client application based on the updated description of the chart;
comparing the first scene graph to the second scene graph for determining changed geometries of individual chart elements;
applying morphing animation logic for producing intermediate frames between the changed geometries of the individual chart elements; and
rendering the intermediate frames in the chart, thereby providing the morphing animation of the user manipulation to the chart.
1 Assignment
0 Petitions
Accused Products
Abstract
Morphing animations between arbitrary chart states in a web client application are provided. A morphing animation engine interpolates changes between a first output state (before geometry) and a second output state (after geometry), aligning the before and after geometries by semantic identifiers encoded in the geometry. The morphing animation engine further performs simple geometric transitions of geometric primitives for producing an unlimited number of intermediate states (key frames) between any two arbitrary chart states without requiring per frame layouts. According to an aspect, processing times for producing intermediate frames are minimized, allowing for animations to have consistent rendering and achieving a high frame rate (60 FPS).
-
Citations
20 Claims
-
1. A computer-implemented method for providing morphing animations between arbitrary chart states in a web client application, comprising:
-
generating a display of a chart in the web client application from drawing instructions included in a first scene graph; responsive to receiving a user manipulation of the chart, updating a description of the chart; requesting a new layout for the chart based on the updated description of the chart; in response to requesting a new layout for the chart, receiving a second scene graph, the second scene graph including drawing instructions for generating a display of the chart in the web client application based on the updated description of the chart; comparing the first scene graph to the second scene graph for determining changed geometries of individual chart elements; applying morphing animation logic for producing intermediate frames between the changed geometries of the individual chart elements; and rendering the intermediate frames in the chart, thereby providing the morphing animation of the user manipulation to the chart. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system for providing morphing animations between arbitrary chart states in a web client application, comprising:
-
at least one processing device; and at least one computer readable data storage device storing instructions that, when executed by the at least one processing device, cause the system to; generate a display of a chart in the web client application from drawing instructions included in a first scene graph; responsive to receiving a user manipulation of the chart, update a description of the chart; send the updated description of the chart in a request to a server for a new layout for the chart; receive, from the server, a second scene graph, the second scene graph including drawing instructions for generating a display of the chart in the web client application based on the updated description of the chart; compare the first scene graph to the second scene graph for determining changed geometries of individual chart elements; apply morphing animation logic for producing intermediate frames between the changed geometries of the individual chart elements; and render the intermediate frames in the chart, thereby providing the morphing animation of the user manipulation to the chart. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable data storage device including computer readable instructions, which when executed by a processing unit, performs steps for providing morphing animations between arbitrary chart states in a web client application, comprising:
-
generating a display of a chart in the web client application from drawing instructions included in a first scene graph; responsive to receiving a user manipulation of the chart, updating a description of the chart; sending the updated description of the chart in a request to a server for a new layout for the chart; receiving, from the server, a second scene graph, the second scene graph including drawing instructions for generating a display of the chart in the web client application based on the updated description of the chart; comparing the first scene graph to the second scene graph for determining changed geometries of individual chart elements; applying morphing animation logic for producing intermediate frames between the changed geometries of the individual chart elements; rendering the intermediate frames in the chart, thereby providing the morphing animation of the user manipulation to the chart; and discarding the first scene graph. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification