Plaque It!
Sponsored by: Flash of Genius |
[0001] 1. Technical Field
[0002] The present invention relates to a graphics display technique for visualizing graph data that is constituted by nodes and arcs connecting the nodes.
[0003] 2. Description of the Related Art
[0004] Graph data used to represent the relationship between the elements of a complete configuration can be visualized by using nodes to represent the elements and arcs to connect the nodes. Graphics displays used to visualize graph data can vary, and can include displays for the linked structure of web pages, for networks, such as those for financial, communication, transportation or social organizations, for data graphs for chemical or biological properties, for graphs showing the correlation of text data and image data, and for graphs used to delineate the operation of systems constituted by combinations of several relevant modules (e.g., the processing performed by a parallel processor). As a result, a demand exists for a computer display technique for graphics data that is applicable to a very wide range of fields.
[0005] In those fields for which a graph data display technique is required, the volume of the data to be handled has been drastically increased, and there are examples wherein the graph data to be processed is used to represent several thousand to several tens of thousands of nodes. However, it is difficult to display so many nodes in a limited display space, and even when they can be displayed, the nodes and arcs on the display are so complicated that the relationships existing between them can not easily be perceived, rendering such a display unrealistic.
[0006] For the graphics display of a large amount of graph data, an effective means is a hierarchical technique whereby, based on the structural relationship of graph data, the nodes constituting a graph are formed into groups, and the conjoining of these groups is employed to form larger groups.
[0007] For the hierarchical construction of graph data, a process for
[0008] (1) assembling several of the nodes constituting a graph to form groups, and
[0009] (2) forming sub-graphs in groups is repeated to obtain several groups (and sub-graphs formed in the groups). At this time, each sub-graph is called a “lower sub-graph”, and a graph representing the connections within a group is called a “higher sub-graph”. A graph including at least three levels can also be formed by repeating the process by which several groups constituting higher sub-graphs are assembled to produce a single group.
[0010] In order to effectively visualize the hierarchical graph data, the following processes must be performed.
[0011] (1) A process for appropriately and automatically arranging nodes and arcs constituting each sub-graph in order to avoid an erroneous reading.
[0012] (2) A process, in accordance with user performed manipulations, for automatically and dynamically arranging nodes down to the lowest level and for displaying all details.
[0013] (3) A process for the easy visual identification of the depth of the level of each node.
[0014] (4) A process for interactively enlarging and displaying a portion that a user is interested in, while at the same time avoiding any interference by the enlarged portion with peripheral portions.
[0015] For processes (1) and (2), a method using a dynamic model is effective because a satisfactory solution can be obtained within a reasonable time of from several seconds to several tens of seconds. According to this method, an equation of motion is resolved by employing an intermolecular model for a node in a graph and a spring model for an arc in the graph, while an appropriate location for each node is obtained.
[0016] An example method for the employment of a dynamic model for hierarchical graph data to determine node arrangement is described in the following reference document 1. Reference document 1: Graph drawing, clustering, and visual abstraction, A. Quigley, et al., Graph Drawing 2000.
[0017] For implementing processes (3) and (4), there is a conventional method whereby, on the assumption that sub-graphs of a graph have already been expanded in the xy plane, a different z value is provided for each level for the three dimensional display of the graph.
[0018] Reference document 2: Multilevel Visualization of Clustered Graphs, P. Eades, et al., Graph Drawing 1996 (http://www.cs.newcastle.edu. au/Research/qwfeng/RESEARCH/Multilevel/Multilevel.html
[0019] In addition, there is a conventional technique whereby a technique for visualizing a tree structure representing a hierarchy is employed to visualize hierarchical graph data. This conventional technique is described in the following reference document 3.
[0020] Reference document 3: Web-based visualization of Large Hierarchical Graphs Using Invisible Links in a Hyperbolic Space, Hao M. C., Hsu M., Dayal U. and Krug A., HP Laboratories Palo Alto, HPL-2000-2.
[0021] This conventional technique, according to which the hierarchical structure of nodes is represented using a graph, is a display method that provides for branches to be extended radially from a root node.
[0022]
[0023] As is shown in
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062] As is described above, according to the present invention, a graphics display for hierarchical graph data can be presented in a form that ensures both the hierarchical structure of graph data and the connections of desired nodes can be understood.
[0063] According to the present invention, since graphs are dynamically arranged in accordance with operations performed by users, graphics displays for hierarchical graph data can be flexibly presented in accordance with requests transmitted by users.
[0064] The following problems, however, are encountered when these conventional graphics display techniques are employed for hierarchical graph data.
[0065] As is shown in
[0066] However, in this case, since the area occupied by the lower level is unknown at the time whereat the higher level is automatically arranged, the nodes are automatically arranged beginning at the higher level while the area occupied by the node is constant. Therefore, when this method is employed for a hierarchical graph wherein, as a result of the automatic arrangement of nodes, an equal number of nodes is not present in the groups at the same level, i.e., wherein the sub-graphs for lower levels have a different node density (the number of nodes differs), or wherein the depths of the levels differ, interference between the nodes at the lower level or in the nodes between the lower level and the higher level may occur.
[0067] When nodes are to be displayed in the reverse order, i.e., from a lower level to a higher level, the arrangement can be controlled so as to avoid interference between nodes because the area occupied by each node constituting the higher level is already provided at the time the higher level was automatically arranged. However, since the node sizes increase consonant with the height of a level, a dynamic model used for automatic arrangement tends not to be stabilized and satisfactory arrangement effects are seldom obtained.
[0068] Furthermore, since the conventional graphics display technique for the hierarchical graph data requires an extended period of time for determination of the graph arrangement, generally, a graph arrangement is performed during the pre-process, and is displayed in accordance with user manipulation. Therefore, the user manipulation does not intermesh the graph arrangement, and it is not possible to present a flexible display for which a dynamically different graph is arranged in accordance with a user specified arrangement.
[0069] Generally, according to the conventional graphics display technique employed for graph data, parallel projection is employed for the three dimensional representation of a hierarchical graph. However, since during the visualization process, for which parallel projection is used, an object in the immediate foreground and an object at a distance are displayed using the same scale, practically, a user is unable to discern the depth of the level that is currently being accessed.
[0070] Further, since a large area is required to display the details of a noted portion, it is difficult to simultaneously display the details of a noted portion and an image of all the graph data using a screen that provides only limited display space.
[0071] The premise on which the conventional technique in reference document
[0072] It is, therefore, one object of the present invention to present for hierarchical graph data a graphics display having a form that ensures both the hierarchical structure of graph data and the connections between desired nodes are easily and simultaneously apprehended.
[0073] It is another object of the present invention to present for hierarchical graph data a flexible graphics display wherein graphs are dynamically arranged as desired in accordance with manipulations performed by a user.
[0074] To achieve the above objects, according to a first aspect of the invention, a graphics image creation apparatus characterized by the following configuration can be provided. A graphics image creation apparatus comprises: a sub-graph generator, for employing hierarchical graph data to generate a sub-graph constituting a graphics image at a predetermined level; and a sub-graph corrector, for, when the sub-graph generator has generated a sub-graph for a level lower than a predetermined node in the sub-graph that has already been generated, correcting the location of a node in the sub-graph that has already been generated, so that interference is avoided between the sub-graph that has already been generated and the sub-graph for the lower level.
[0075] Specifically, the sub-graph corrector changes the size of a node that corresponds to the sub-graph that is newly generated for the lower level, so that the sub-graph for the lower level is included in the node for which the size had been changed, and removes all other nodes from the sub-graph that has already been generated.
[0076] Further, the sub-graph corrector rearranges nodes by locally employing a dynamic model between the node for which the size has been changed and another nearby node.
[0077] According to a second aspect of the present invention, a graphics image creator apparatus characterized by the following configuration is provided. A graphics image creation apparatus comprises: a processor, for generating a graphics image based on graph data; and a display unit, for displaying the graphics image generated by the processor, wherein, when the processor generates a sub-graph that constitutes a graphics image for a predetermined level in hierarchical graph data, the processor changes the size of a node that corresponds to the sub-graph so as to include the sub-graph in the node, and moves a neighboring node of the node for which the size has been changed in order to avoid any interference with the sub-graph.
[0078] To change a node size, the processor employs, as the size of a node that corresponds to the sub-graph, the area occupied by the sub-graph in the display space of the display unit. Further, when a sub-graph for a predetermined level is corrected, the processor changes the size of a node in accordance with the sub-graph that has been corrected, and moves a node near the node for which the size has been changed in order to avoid any interference with the sub-graph.
[0079] In addition, when a generated graphics image has a hierarchical structure, the display unit displays an arbitrary level using a perspective projection appropriate for a display screen.
[0080] According to a third aspect of the present invention, a graphics image creation apparatus characterized by the following configuration can be provided. A graphics image creation apparatus comprises: a processor, for generating a graphics image based on graph data; and a selected node receiver, for accepting a node that is selected to constitute a first graphics image that is generated by the processor, wherein, when graph data for a lower level exists for a node that is accepted by the selected node receiver, the processor generates a second graphics image based on the graph data for the lower level, and corrects the first graphics image so as to avoid any interference with the second graphics image.
[0081] According to a fourth aspect of the present invention, a graphics image creation apparatus comprises the processor and the selected node receiver described above, wherein, in a display space wherein a graphics image is displayed, the processor moves other displayed nodes away in directions opposite to those leading to a center point that corresponds to the coordinate values for a selected node that is accepted by the selected node receiver.
[0082] The processor determines a travel distance for the node based on the distance from the selected node, which is accepted by the selected node receiver, and the hierarchical structure of the generated graphics image.
[0083] According to a fifth aspect of the invention, a graphics image creation method for reading graph data from a storage device and transmitting the graph data to a data processor to generate a graphics image comprises the steps of: generating a graphics image based on graph data to be processed; and when the newly generated graphics image is a part of a graphics image that has already been generated and is correlated with a predetermined node in the graphics image that has already been generated, rearranging nodes of the graphics image that has already been generated.
[0084] The step of rearranging nodes includes the steps of: changing the size of a node that corresponds to the graphics image that is newly generated, so as to include in the node the graphics image that is newly generated; and moving another node in the graphics image that has already been generated so as to distance that node from the node for which the size has been changed.
[0085] According to a sixth aspect of the invention, a graphics image creation method comprises the steps of: generating a sub-graph that is a graphics image for a predetermined level of hierarchical graph data that is to be processed; generating a sub-graph for a level lower than a predetermined node in the sub-graph for the predetermined level; changing the size of a node for which the sub-graph for the lower level is generated, so that the node includes the sub-graph for the lower level; and moving another node near the node for which the size has been changed, so that interference with the sub-graph for the lower level is avoided.
[0086] According to a seventh aspect of the present invention, a graphics image creation method comprises the steps of: accepting an arbitrarily selected node constituting a graphics image displayed on a display device; generating a graphics image for a level lower than the selected node; changing the size of the selected node, so that the graphics image for the lower level is included; and moving another node near the node for which the size has been changed, so that interference with the graphics image for the lower level is avoided.
[0087] According to an eighth aspect of the present invention, a graphics image creation method comprises the steps of: accepting an arbitrarily selected node constituting a graphics image displayed on a display device; and moving other displayed nodes in directions leading away from a center point that is the coordinate values for the selected node.
[0088] Furthermore, the present invention can be provided as a program that permits a computer to perform the processes corresponding to the steps of the above described graphics image creation methods. This program can be provided by being stored on a storage medium, such as a magnetic disk, an optical disk or a semiconductor storage device, or by being distributed via a network by the storage device of a program transmission apparatus connected to the network.
[0089] The preferred embodiment of the present invention will now be described in detail while referring to the accompanying drawings.
[0090] In this embodiment, a computer system performs a graphics display process by which graph data, used to describe relationships among constituent elements of a configuration, are presented and visualized using nodes to represent individual elements and using arcs to connect the nodes.
[0091] In the following description, a graphics image for hierarchical graph data for a predetermined group at each level is called a sub-graph, regardless of its hierarchical location. This is because the hierarchical structure of the graph data can include an arbitrary number of levels, and because the level hierarchy is merely the correlation of the individual levels. Further, when a “group” is simply represented, it is not based on the hierarchical structure. And when the hierarchical location of a level must be identified, the expression a “sub-graph for a higher level” or a “group at a lower level” is employed.
[0092]
[0093] In
[0094] Only the components required to carry out the present invention are shown in
[0095]
[0096] In
[0097] The components in
[0098] In this embodiment, to automatically arrange the hierarchical graph data in a display space, the graphics image creation system in
[0099] (1) the automatic arrangement of a predetermined sub-graph Ga;
[0100] (2) the provision of an area of occupation in the sub-graph Ga for a node Na at a higher level that corresponds to the sub-graph Ga; and
[0101] (3) the correction of the arrangement of a sub-graph GO at a higher level whereat the node Na is included.
[0102] The functions and operations of the individual components in
[0103] In the configuration in
[0104] When, while a predetermined sub-graph is currently being displayed on the display device
[0105] When the sub-graph for a lower level is generated for a predetermined node in a conventional sub-graph, the size (area) of the node that indicates the pertinent group (the node that is correlated with the sub-graph) is expanded and deformed so as to include the sub-graph for the lower level. This is done because the sub-graph for the lower level is also visually formed into groups. Specifically, after the sub-graph for the lower level is generated, the area occupied by the sub-graph of the lower level is provided for the node. As the size of the node that includes the sub-graph for the lower level is changed, the positional relationships between this node and other neighboring nodes (the distance between the nodes) is changed. Therefore, the entire graphics image, including the sub-graph for the lower level, is again corrected by using the dynamic model between the nodes for which the positional relationships have been changed.
[0106] Similarly, after a new node is added to the conventional sub-graph or a predetermined node is deleted therefrom, the positional relationships with the neighboring nodes are also changed. Therefore, the sub-graph is again corrected by using the dynamic model. Further, when the area occupied by the sub-graph is changed by correcting the sub-graph, the size of the node correlated with the sub-graph is also changed. Thus, since the positional relationships between the node and other neighboring nodes are changed, the dynamic model is again used for these nodes and the entire graphics image is corrected.
[0107] For the correction of a graphics image, the dynamic model can be employed locally. Assume that the sub-graph for a higher level is formed of N nodes and a sub-graph for a lower level is generated for one of the nodes, and that the area occupied by a sub-graph for a lower level is provided for that node. At this time, while an intermolecular model is used for nodes and a spring model is used for arcs, the attractive force and the repulsive force exerted between the node for which the size is changed and its neighboring nodes, and the locations of the neighboring nodes are calculated using the equation of motion. When there is a node for which the distance travelled is large, the same process is performed between that node and its neighboring nodes.
[0108] Specifically, when the node size is changed by adding the sub-graph of the lower level, or when the node is added or deleted, the positional relationship of the nodes is greatly changed at the periphery of the node for which the size has been changed or the node that has been added or deleted. Therefore, by repeating the process for correcting the node arrangement by using the dynamic model locally for the peripheral nodes and for further employing the dynamic model for the nodes that are specifically affected by the arrangement correction, the graphics image is corrected. Through this process, the re-calculation of the locations of the nodes must be performed locally for the periphery of the area in which the node for which the size has been changed is located or in which the node is added or deleted, and the node arrangement need not be corrected for an area that is less affected by this change. Thus, compared with a case wherein all the nodes are rearranged by using the dynamic model for the entire graphics image, a small number amount of calculations, i.e., a short time, is required for the correction of the graphics image.
[0109] Further, upon receiving an instruction from the graph operation acceptance unit
[0110] (a) When a node belongs to the same group as a designated node, the node is moved away from the center point a distance proportional to the distance to the center point.
[0111] (b) When a node belongs to a different group (including a group of higher group) from the designated node, the node is moved away from the center point a distance inversely proportional to the square of the distance to the center point.
[0112]
[0113] As is shown in
[0114] This partial space expansion process can also be used to obtain an area in which to arrange the sub-graph of a lower level.
[0115]
[0116] When, through this partial space expansion process, an appropriate space can be obtained and a sub-graph can be arranged, the re-arrangement of the nodes by the sub-graph corrector
[0117] The graph operation acceptance unit
[0118] When a sub-graph generated by the sub-graph generator
[0119] The display controller
[0120] Generally, parallel projection is employed as the projection method for the graphics display of graph data. However, since in a display produced using parallel projection the same size is used both for objects near a viewpoint and for objects distant from it, it is difficult to obtain a stereoscopic image. Therefore, when it is assumed that parallel projection is to be employed for the graphics display of hierarchical graph data, and a specific portion is displayed in which different levels are depicted, it would be difficult to apprehend the depth of each part that is displayed.
[0121] In this embodiment, therefore, perspective projection is employed for the display of a hierarchical graph.
[0122] Perspective projection, as well as parallel projection, is popular in the computer graphics field, and is used to display three-dimensional space on a two-dimensional screen. With perspective projection, an object at a distance appears smaller than an object in the near foreground, and an object infinitely farther from the viewpoint is displayed so that it is compressed and reduced in size as a point called the vanishing point is neared. To implement this type of display, space in a truncated pyramid shape that is formed by the field of view at a specific angle from the viewpoint is converted and is distorted to produce pillar-shaped space. That is, in the view produced by this deformation, a side nearer the viewpoint is expanded relative to a side more distant from the viewpoint. As a result, distance is expressed by displaying a distant object smaller than an object to its front.
[0123] When a graphics image of hierarchical graph data is to be arranged in the display space, the nodes of the sub-graphs for the individual levels can be arranged on the xy plane, and the depth of the level of the graph can be used as the z coordinate value. In this embodiment the z value is increased as the depth of the level depicted in the graph becomes greater, and while the layout of the nodes in three-dimensional space is obtained, a perspective projection is presented on the display device
[0124] The visual angle employed is that at which a node at an observed level can be satisfactorily displayed, and a level higher than the observed level is not displayed.
[0125]
[0126] As is described above, according to the perspective projection, space having a truncated pyramid shape from the front projected plane
[0127] As a result, the obtained x and y coordinate values have a value of −1 to 1, i.e., the x and y coordinate values fall within the truncated pyramid defined by the view field. Therefore, by using these values, the xy plane in the truncated pyramid space can be changed so as to match the width of the screen of the display device
[0128] The perspective projection process affects not only the coordinate value of a node but also the size of the node. Therefore, both the distance based on the location of the node and the distance based on the size of the node can be expressed. The perspective projection process can also affect the thickness of an arc linking the nodes. Specifically, the width of an arc located near (at a higher level) the viewpoint is increased, and the width of an arc located farther (at a lower level) from the viewpoint is reduced. When an arc is only one pixel wide, a finer arc farther from the viewpoint can not be displayed; however, when the color of a farther arc is blended with the background color, this arc can be expressed as though it was finer. Similarly, when a predetermined filtering process is performed for a graphics image, visual effects can be obtained according to which a node at a distance presented a faded appearance. In this case, the background color that is to be blended with a node and an arc located at distance should be darkened.
[0129] Further, when a graphics API, such as OpenGL, that supports perspective projection is employed, an object at a distance is displayed darker by using the depth effect function, so that the distance can more easily be expressed.
[0130] For the display of nodes using perspective projection, a rear node must be so displayed that it is hidden by a front node in a portion where they overlap. For this display, the well known Z sorting method can be employed. According to the Z sorting method, objects are drawn in order beginning with the object having the greatest z value, i.e., the rearmost object, and the front most object is drawn over the object to the rear. In this embodiment, since the objects are drawn beginning at the lowest level of the graph data by applying the Z sorting method, a graphics image viewed from the topmost level can be represented.
[0131] An explanation will now be given for the processing performed by the thus arranged graphics creation system to generate a graphics image.
[0132]
[0133]
[0134] First, the sub-graph generator
[0135] In the state shown in
[0136] Following this, the sub-graph corrector
[0137] In the example in
[0138] When it is ascertained at step
[0139] The graphics image generated through this processing is displayed on the display device
[0140] Similarly, when a user selects a desired node and repeats the above processing, a graphics image that includes all the information desired by the user can be generated.
[0141] In
[0142] As is described above, according to this embodiment, the sub-graphs are automatically arranged beginning with the topmost level in order to present a graphics display of hierarchical graph data. When the sub-graphs for a lower level are generated, the higher level can be notified of the area occupied by these sub-graphs. Therefore, no interference occurs between the nodes at a lower level, or between the lower sub-graph and the higher sub-graph.
[0143] Further, at the time whereat the sub-graphs are automatically arranged, the sizes of the nodes are defined as constant, without taking the lower sub-graphs into account. Thus, the phenomenon wherein the dynamic model used for the node arrangement is not stabilized can be avoided.
[0144] An explanation will now be given for an example wherein the graphics display is presented by applying this embodiment for various hierarchical graph data.
[0145]
[0146]
[0147] While referring to
[0148]
[0149] As is shown in
[0150] In
[0151] FIGS.
[0152] In the image in
[0153] While referring to
[0154]
[0155] In this example, the space is expanded around a node
[0156]
[0157] In
[0158] FIGS.
[0159]
[0160] While referring to
[0161]
[0162]
[0163] For facilitating the understanding of the hierarchical graph data, the display forms in
[0164] FIGS.
[0165] In
[0166] In
[0167] In
[0168] While referring to FIGS.
[0169]
[0170] In
[0171]
[0172] Therefore, while the entire graphics image as shown in
[0173]
[0174] In the example in
[0175] In this embodiment, in principle, perspective projection is employed as the graphics image display method; however, in some cases, parallel projection is more convenient than perspective projection. That is, while perspective projection is appropriate for providing an understanding of the depth of a level because the hierarchical structure of a sub-graph is expressed stereoscopically, a lower sub-graph that is displayed is small, and the nodes and arcs are complicated. Therefore, when only a sub-graph for a specific level is to be observed to provide an understanding of the complicated connections of nodes, parallel projection may be more effective.
[0176] Besides the above web page link structure, the personnel organization of the company can be employed as example data that can be effectively displayed using this embodiment. That is, while the ranks in the organization are reflected, hierarchical graph data is prepared that includes, as inter-node information, the work performed among departments or among employees, and the handling of money. Then, when sub-graphs down to lower levels are generated for a desired organization and only a sub-graph for a higher level is displayed for another organization, the relationship between the interior of the desired organization and the peripheral organization can be displayed.
[0177] In addition, the technique in this embodiment for generating a graphics image for hierarchical graph data can be appropriately employed for the following fields and for visualizing the organization structure.
[0178] 1. A graph is formed for the network of a computer system and is used to manage the traffic volume and to detect failures.
[0179] 2. A graph is formed for a financial, transportation and communication network, and is used either to understand the volume of the transactions or to predict the future.
[0180] 3. A graph is formed for the network of a hierarchical organization, such as a self-governing community or a company personnel organization, in order to optimize personal resources.
[0181] 4. While data in a text data group or an image data group are employed as nodes, a graph is formed by linking these nodes in accordance with their correlation, so that the entire data structure as well as data trends can be understood.
[0182] 5. While sequence patterns in gene data are employed as nodes, a graph is formed by linking these nodes in accordance with their correlation, and the characteristic and the rule are found.
[0183] 6. While in a software programming environment functions and classes are employed as nodes, a sub-graph for each project is formed by linking nodes in accordance with a retrieval correlation, so that the software development process can be understood.