Methods and software for visualizing data by applying physics-based tools to data objectifications
First Claim
1. A method of enabling a user to visualize a data set on a graphical display of a computing system, wherein the data set contains a plurality of records each having a plurality of attributes common to the plurality of records, the method comprising:
- displaying, by the computing system, a physics-based sandbox on the graphical display, wherein the physics-based sandbox contains a chart having at least one axis representing a corresponding attribute of the plurality of attributes;
objectifying, by the computing system, each of the plurality of records to create a corresponding plurality of simulated physical objects, wherein each of the simulated physical objects defines a peripheral boundary that simulates an exterior surface of a real-world physical object, wherein each of the simulated physical objects has a corresponding plot location on the chart based on the attribute of the at least one axis;
displaying the simulated physical objects in the physics-based sandbox, wherein said displaying includes;
applying an attraction algorithm to attract each simulated physical object toward the corresponding plot location by simulating electromagnetic attraction between each simulated physical object and the corresponding plot location; and
when ones of the simulated physical objects are attracted to identical or proximate plot locations, applying a collision algorithm in conjunction with the attraction algorithm to cause the ones of the simulated physical objects to collide with one another and cluster together with corresponding respective peripheral boundaries abutting one another;
receiving, by the computing system, a user selection of a physics-based data-manipulation tool, wherein the physics-based data-manipulation tool invokes a physics-based interaction with one or more of the plurality of simulated physical objects, wherein the physics-based interaction is modeled by one or more physics-based modeling algorithms;
displaying a graphical representation of the physics-based data-manipulation tool in the physics-based sandbox;
determining, by the computing system, which one or more of the plurality of simulated physical objects experiences the physics-based interaction;
applying, by the computing system, the one or more physics modeling algorithms to each of the plurality of simulated physical objects determined to experience the physics-based interaction so as to determine at least one updated graphical representation for each of the one or more of the plurality of physical objects experiencing the physics-based interaction; and
rendering each of the at least one updated graphical representation in the physics-based sandbox.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and corresponding software for allowing a user to manipulate and interactively explore data intuitively by objectifying the data and allowing the user to apply any one or more simulated physical tools to the objectified data. The data can be any suitable type of data, including multivariate data and graph (network) data. In some embodiments, the method displays user-selected charts, such as histograms, scattergrams, and network graphs, in which objectified data points, or simulated physical objects, are attracted to their proper charted locations. In some embodiments, the user can apply one or more simulated physical tools and/or other tools, such as physical-barrier-type filter tools (e.g., sieves) and/or optical filter lens tools, to the simulated physical objects to filter the data. In some embodiments, the user can apply multiple tools, with each tool leaving a visual trace that allows the user to easily retrace their data manipulations.
-
Citations
66 Claims
-
1. A method of enabling a user to visualize a data set on a graphical display of a computing system, wherein the data set contains a plurality of records each having a plurality of attributes common to the plurality of records, the method comprising:
-
displaying, by the computing system, a physics-based sandbox on the graphical display, wherein the physics-based sandbox contains a chart having at least one axis representing a corresponding attribute of the plurality of attributes; objectifying, by the computing system, each of the plurality of records to create a corresponding plurality of simulated physical objects, wherein each of the simulated physical objects defines a peripheral boundary that simulates an exterior surface of a real-world physical object, wherein each of the simulated physical objects has a corresponding plot location on the chart based on the attribute of the at least one axis; displaying the simulated physical objects in the physics-based sandbox, wherein said displaying includes; applying an attraction algorithm to attract each simulated physical object toward the corresponding plot location by simulating electromagnetic attraction between each simulated physical object and the corresponding plot location; and when ones of the simulated physical objects are attracted to identical or proximate plot locations, applying a collision algorithm in conjunction with the attraction algorithm to cause the ones of the simulated physical objects to collide with one another and cluster together with corresponding respective peripheral boundaries abutting one another; receiving, by the computing system, a user selection of a physics-based data-manipulation tool, wherein the physics-based data-manipulation tool invokes a physics-based interaction with one or more of the plurality of simulated physical objects, wherein the physics-based interaction is modeled by one or more physics-based modeling algorithms; displaying a graphical representation of the physics-based data-manipulation tool in the physics-based sandbox; determining, by the computing system, which one or more of the plurality of simulated physical objects experiences the physics-based interaction; applying, by the computing system, the one or more physics modeling algorithms to each of the plurality of simulated physical objects determined to experience the physics-based interaction so as to determine at least one updated graphical representation for each of the one or more of the plurality of physical objects experiencing the physics-based interaction; and rendering each of the at least one updated graphical representation in the physics-based sandbox. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A machine-readable storage medium containing machine-executable instructions for performing a method of enabling a user to visualize a data set on a graphical display of a computing system, wherein the data set contains a plurality of records each having a plurality of attributes common to the plurality of records, said machine-executable instructions comprising:
-
a first set of machine-executable instructions for displaying, by the computing system, a physics-based sandbox on the graphical display, wherein the physics-based sandbox contains a chart having at least one axis representing a corresponding attribute of the plurality of attributes; a second set of machine-executable instructions for objectifying, by the computing system, each of the plurality of records to create a corresponding plurality of simulated physical objects, wherein each of the simulated physical objects defines a peripheral boundary that simulates an exterior surface of a real-world physical object, wherein each of the simulated physical objects has a corresponding plot location on the chart based on the attribute of the at least one axis; a third set of machine-executable instructions for displaying the simulated physical objects in the physics-based sandbox, wherein said displaying includes; applying an attraction algorithm to attract each simulated physical object toward the corresponding plot location by simulating electromagnetic attraction between each simulated physical object and the corresponding plot location; and when ones of the simulated physical objects are attracted to identical or proximate plot locations, applying a collision algorithm in conjunction with the attraction algorithm to cause the ones of the simulated physical objects to collide with one another and cluster together with corresponding respective peripheral boundaries abutting one another; a fourth set of machine-executable instructions for receiving, by the computing system, a user selection of a physics-based data-manipulation tool, wherein the physics-based data-manipulation tool invokes a physics-based interaction with one or more of the plurality of simulated physical objects, wherein the physics-based interaction is modeled by one or more physics-based modeling algorithms; a fifth set of machine-executable instructions for displaying a graphical representation of the physics-based data-manipulation tool in the physics-based sandbox; a sixth set of machine-executable instructions for determining, by the computing system, which one or more of the plurality of simulated physical objects experiences the physics-based interaction; a seventh set of machine-executable instructions for applying, by the computing system, the one or more physics modeling algorithms to each of the plurality of simulated physical objects determined to experience the physics-based interaction so as to determine at least one updated graphical representation for each of the one or more of the plurality of physical objects experiencing the physics-based interaction; and an eighth set of machine-executable instructions for rendering each of the at least one updated graphical representation in the physics-based sandbox. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A method of enabling a user to visualize a data set on a graphical display of a computing system, wherein the data set contains a plurality of records each having a plurality of attributes common to the plurality of records, the method comprising:
-
displaying, by the computing system, a physics-based sandbox on the graphical display; objectifying, by the computing system, each of the records to create a corresponding plurality of simulated physical objects, wherein each of the simulated physical objects defines a peripheral boundary that simulates an exterior surface of a real-world physical object; displaying, by the computing system, the simulated physical objects in the physics-based sandbox on the graphical display; receiving, by the computing system, a user selection of a physical-barrier-filter tool designed and configured to allow passage therethrough of each of the simulated physical objects that satisfies one or more filtering parameters applied to the physical barrier filter and to block passage therethrough of each of the simulated physical objects that does not satisfy the one or more filtering parameters; displaying, by the computing system, a graphical representation of the physical-barrier-filter tool in the physics-based sandbox on the graphical display; assigning, by the computing system, differing ones of the simulated physical objects to a plurality of differing layers so as to control collisions during movement of the differing ones of the simulated physical objects; and filtering, by the computing system and based on the differing layers, the simulated physical objects so as to block each of the simulated physical objects not satisfying the one or more filter parameters from passing through the graphical representation of the physical barrier filter and so as to allow each of the plurality of simulated physical objects satisfying the one or more filter parameters to pass through the graphical representation of the physical barrier filter. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54)
-
-
55. A machine-readable storage medium containing machine-executable instructions for performing a method of enabling a user to visualize a data set on a graphical display of a computing system, wherein the data set contains a plurality of records each having a plurality of attributes common to the plurality of records, said machine-executable instructions comprising:
-
a first set of machine-executable instructions for displaying, by the computing system, a physics-based sandbox on the graphical display; a second set of machine-executable instructions for objectifying, by the computing system, each of the records to create a corresponding plurality of simulated physical objects, wherein each of the simulated physical objects defines a peripheral boundary that simulates an exterior surface of a real-world physical object; a third set of machine-executable instructions for displaying, by the computing system, the simulated physical objects in the physics-based sandbox on the graphical display; a fourth set of machine-executable instructions for receiving, by the computing system, a user selection of a physical-barrier-filter tool designed and configured to allow passage therethrough of each of the simulated physical objects that satisfies one or more filtering parameters applied to the physical barrier filter and to block passage therethrough of each of the simulated physical objects that does not satisfy the one or more filtering parameters; a fifth set of machine-executable instructions for displaying, by the computing system, a graphical representation of the physical-barrier-filter tool in the physics-based sandbox on the graphical display; a sixth set of machine-executable instructions for assigning, by the computing system, differing ones of the simulated physical objects to a plurality of differing layers so as to control collisions during movement of the differing ones of the simulated physical objects; and a seventh set of machine-executable instructions for filtering, by the computing system and based on the differing layers, the simulated physical objects so as to block each of the simulated physical objects not satisfying the one or more filter parameters from passing through the graphical representation of the physical barrier filter and so as to allow each of the plurality of simulated physical objects satisfying the one or more filter parameters to pass through the graphical representation of the physical barrier filter. - View Dependent Claims (56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66)
-
Specification