# US 10,482,130 B2 · Three-dimensional tree diagrams

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,482,130 B2
- Document ID: US10482130B2
- Status: Granted
- Kind: B2
- Application number: 15/924,747
- Filed: 2018-03-19
- Published: 2019-09-19
- Granted: 2019-11-19
- Earliest claimed: 2018-03-19
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Paul Buffa; Christopher Lanoue; R. M. Keelan Downton
- Web page: https://patentgrep.com/patent/US10482130B2

## CPC

- G06F 16/9027: {Trees}
- G06F 16/904: Browsing; Visualisation therefor (for navigating the web G06F16/954; browsing optimisation for the web G06F16/957)
- G06F 16/2246: {Trees, e.g. B+trees}
- G06T 19/006: {Mixed reality (object pose determination, tracking or camera calibration for mixed reality G06T7/00)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

In one aspect, the present disclosure relates to a method for improved computer-based visualization of a tree structure comprises: receiving a dataset defining the tree structure, the tree structure comprising a plurality of nodes and a plurality of edges; analyzing the dataset to determine constraint information for the tree structure; generating a first plurality of graphical objects corresponding to the node; positioning the first plurality of graphical objects within a three-dimensional coordinate space based on the constraint information, wherein all child nodes of a given node are arranged within a corresponding two-dimensional matrix; generating a second plurality of graphical objects corresponding to the edges; positioning the second plurality of graphical objects based on the positioning of the first plurality of graphical objects; and outputting a three-dimensional tree diagram of the tree structure comprising the first plurality of graphical objects and the second plurality of graphical objects.

## Claims

### Claim 1

A method implemented in a computer system comprising one or more processors and a display device, the one or more processors configured to execute instructions for improved computer-based visualization of a tree structure on the display device, the method comprising:
receiving a dataset defining the tree structure, the tree structure comprising a plurality of nodes and a plurality of edges;
analyzing the dataset to determine constraint information for the tree structure, the constraint information comprising a depth of the tree structure and a number of child nodes at each level of the tree;
generating a first plurality of graphical objects, each of the first plurality of graphical objects corresponding to a node of the tree structure;
positioning the first plurality of graphical objects within a three-dimensional coordinate space based on the constraint information, wherein the three-dimensional coordinate space comprises x, y, and z axes, wherein all child nodes of a given node are arranged within a corresponding two-dimensional matrix along the x and y axes, wherein descendant nodes are assigned different positions along the z axis, wherein there are at least two of the two-dimensional matrixes having different positions along the z axis, wherein a first one of the at least two of the two-dimensional matrixes comprises a first leaf node of the tree structure, wherein a second one of the at least two of the two-dimensional matrixes comprises a second leaf node of the tree structure;
generating a second plurality of graphical objects, each of the second plurality of graphical objects corresponding to an edge of the tree structure;
positioning the second plurality of graphical objects based on the positioning of the first plurality of graphical objects, wherein at least one of the second plurality of graphical objects comprises a geometric primitive that connects a first one of the first plurality of graphical objects and a second one of the first plurality of graphical objects;
using linear interpolation to size the geometric primitive based on a centroid of the first one of the first plurality of graphical objects, a centroid of the second one of the first plurality of graphical objects, and a distance function; and
outputting, to the display device, a three-dimensional tree diagram of the tree structure comprising the first plurality of graphical objects and the second plurality of graphical objects.

### Claim 2 (depends on 1)

The method of claim 1 comprising:
receiving user input indicating a position for a root node of the tree structure; and
repositioning the first plurality of graphical objects and the second plurality of graphical objects based on the position for the root node.

### Claim 3 (depends on 2)

The method of claim 2 comprising:
scaling one or more of the first plurality of graphical objects in response to receiving the position for a root node.

### Claim 4 (depends on 1)

The method of claim 1 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to a virtual reality (VR) device.

### Claim 5 (depends on 1)

The method of claim 1 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to an augmented reality (AR) device.

### Claim 6 (depends on 1)

The method of claim 1 wherein positioning the first plurality of graphical objects within a three-dimensional coordinate space comprises arranging all child nodes of a given node within a square matrix.

### Claim 7 (depends on 1)

The method of claim 1 wherein generating the first plurality of graphical objects comprises generating a plurality of 3D game-object primitives of a first type using a 3D gaming platform, wherein generating the second plurality of graphical objects generating a plurality of 3D game-object primitives of a second type using the 3D gaming platform.

### Claim 8 (depends on 7)

The method of claim 7 wherein the first type of 3D game-object primitive comprises a cubic or spherical primitive, wherein the second type of 3D game-object primitive comprises a cylindrical primitive.

### Claim 9

A method implemented in a computer system comprising one or more processors and a display device, the one or more processors configured to execute instructions for improved computer-based visualization of a tree structure on the display device, the method comprising:
receiving a dataset defining the tree structure, the tree structure comprising a plurality of nodes and a plurality of edges;
analyzing the dataset to identify descendant nodes and sibling nodes;
generating a first plurality of graphical objects, each of the first plurality of graphical objects corresponding to a node of the tree structure;
positioning the first plurality of graphical objects within a three-dimensional coordinate space comprising a first dimension, a second dimension, and a third dimension, wherein descendant nodes are assigned different positions along the third dimension, wherein sibling nodes are assigned substantially the same position along the third dimension, and wherein sibling nodes are given different positions along the first and second dimensions, wherein all child nodes of a given node are arranged within a corresponding two-dimensional matrix, wherein there are at least two of the two-dimensional matrixes having different positions along the third dimension, wherein a first one of the at least two of the two-dimensional matrixes comprises a first leaf node of the tree structure, wherein a second one of the at least two of the two-dimensional matrixes comprises a second leaf node of the tree structure; and
generating a second plurality of graphical objects, each of the second plurality of graphical objects corresponding to an edge of the tree structure;
positioning the second plurality of graphical objects based on the positioning of the first plurality of graphical objects, wherein at least one of the second plurality of graphical objects comprises a geometric primitive that connects a first one of the first plurality of graphical objects and a second one of the first plurality of graphical objects;
using linear interpolation to size the geometric primitive based on a centroid of the first one of the first plurality of graphical objects, a centroid of the second one of the first plurality of graphical objects, and a distance function; and
outputting, to the display device, a three-dimensional tree diagram of the tree structure comprising the first plurality of graphical objects and the second plurality of graphical objects.

### Claim 10 (depends on 9)

The method of claim 9 comprising:
receiving user input indicating a position for a root node of the tree structure; and
repositioning the first plurality of graphical objects and the second plurality of graphical objects based on the position for the root node.

### Claim 11 (depends on 10)

The method of claim 10 comprising:
scaling one or more of the first plurality of graphical objects in response to receiving the position for a root node.

### Claim 12 (depends on 9)

The method of claim 9 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to a virtual reality (VR) device.

### Claim 13 (depends on 9)

The method of claim 9 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to an augmented reality (AR) device.

### Claim 14

A system for improved computer-based visualization of a tree structure comprising:
a processor;
a display device; and
a non-volatile memory storing computer program code that when executed on the processor causes the processor to execute a process operable to:
receive a dataset defining the tree structure, the tree structure comprising a plurality of nodes and a plurality of edges;
analyze the dataset to determine constraint information for the tree structure, the constraint information comprising a depth of the tree structure and a number of child nodes at each level of the tree;
generate a first plurality of graphical objects, each of the first plurality of graphical objects corresponding to a node of the tree structure;
position the first plurality of graphical objects within a three-dimensional coordinate space based on the constraint information, wherein the three-dimensional coordinate space comprises a first dimension, a second dimension, and a third dimension, wherein all child nodes of a given node are arranged within a corresponding two-dimensional matrix along the first and second axes, wherein descendant nodes are assigned different positions along the third axis, wherein there are at least two of the two-dimensional matrixes having different positions along the third dimension, wherein a first one of the at least two of the two-dimensional matrixes comprises a first leaf node of the tree structure, wherein a second one of the at least two of the two-dimensional matrixes comprises a second leaf node of the tree structure;
generate a second plurality of graphical objects, each of the second plurality of graphical objects corresponding to an edge of the tree structure;
position the second plurality of graphical objects based on the positioning of the first plurality of graphical objects, wherein at least one of the second plurality of graphical objects comprises a geometric primitive that connects a first one of the first plurality of graphical objects and a second one of the first plurality of graphical objects;
use linear interpolation to size the geometric primitive based on a centroid of the first one of the first plurality of graphical objects, a centroid of the second one of the first plurality of graphical objects, and a distance function; and
output, to the display device, a three-dimensional tree diagram of the tree structure comprising the first plurality of graphical objects and the second plurality of graphical objects.

### Claim 15 (depends on 14)

The system of claim 14 wherein the process is operable to:
receive user input indicating a position for a root node of the tree structure; and
reposition the first plurality of graphical objects and the second plurality of graphical objects based on the position for the root node.

### Claim 16 (depends on 15)

The system of claim 15 wherein the process is operable to:
scale one or more of the first plurality of graphical objects in response to receiving the position for a root node.

### Claim 17 (depends on 14)

The system of claim 14 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to a virtual reality (VR) device.

### Claim 18 (depends on 14)

The system of claim 14 wherein outputting the three-dimensional tree diagram comprises outputting the outputting a three-dimensional tree diagram to an augmented reality (AR) device.

### Claim 19 (depends on 14)

The system of claim 14 wherein positioning the first plurality of graphical objects within a three-dimensional coordinate space comprises arranging all child nodes of a given node within a square matrix.
