Graph Visualization Zoom Level Assignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Large graphs with thousands of vertices and edges are difficult to visualize effectively, leading to user disorientation due to density and detail overload, and existing methods struggle to render and display them quickly as the user navigates the graph.

Innovation Solution

Assigning a zoom level to vertices and edges based on importance, rendering only those within the current viewport and at a zoom level less than or equal to the specified zoom level, ensuring a controlled number of elements are displayed, allowing for quick rendering and navigation while maintaining visibility of all graph elements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of information

If all vertices and edges are rendered and displayed, then complete graph information is visible, but the visualization becomes dense and overwhelming causing user disorientation

Engineering Contradiction:
Improvegraph information visibilityVSAvoiduser orientation
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent applies local quality by assigning different zoom levels to different regions of the graph based on vertex importance. Important vertices and their neighboring edges are rendered at higher zoom levels (more detail), while less important regions are rendered at lower zoom levels (less detail). This creates a non-uniform visualization where detail density varies locally across the graph, maintaining user orientation while preserving complete information visibility.

Inventive Principle:
Principle #3Local quality

2Loss of information

If all vertices and edges are rendered and displayed, then complete graph information is visible, but rendering time increases significantly

Engineering Contradiction:
Improvegraph information visibilityVSAvoidrendering time
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent extracts only the necessary portion of graph elements for rendering based on zoom level criteria. Instead of rendering all vertices and edges, it selectively renders only those elements whose zoom level matches or is less than the current viewport zoom level. This extraction approach maintains complete graph information visibility across different viewports while dramatically reducing rendering time by processing only relevant elements.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If zoom level values are assigned to control rendering, then rendering speed improves, but the complexity of assigning and managing zoom levels increases

Engineering Contradiction:
Improverendering speedVSAvoidzoom level management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-computing and assigning zoom level values to all vertices and edges before rendering. The system calculates importance metrics for each graph element in advance, assigns zoom levels based on these metrics, and stores them for quick reference during rendering. This preliminary preparation eliminates the need for complex real-time calculations during viewport changes, improving rendering speed while managing complexity through upfront computation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9299176B2Visualizing large graphs
Publication Date: 2016.03.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9299176B2 patent drawing
  • US9299176B2 patent drawing
  • US9299176B2 patent drawing

AI summary

Large graph visualization embodiments are presented which generally render and display the more important elements for a current view. To this end, a measure of importance referred to as a zoom level is assigned to the vertices and rails of a graph. Each rail is a curve segment in the graph that represents an edge or a set of edges passing through it. The rendering and displaying of a graph (or a part thereof) is done quickly, even as a user moves about the graph, and the visualization of the large graph is not so dense and so full of detail that the user becomes disoriented. In general, this is accomplished by specifying a current viewport, or a current zoom level, or both. Furthermore, the visualization is stable in that the layout of vertices and rails will be the same for the same zoom level and viewport.