Dynamic 2.5D Treemaps using Declarative 3D on the Web

Daniel Limberger, Willy Scheibel, Stefan Lemme, and Jürgen Döllner

Introduction to Treemaps

Treemaps are used to visualize tree-structured data. They are applied in various domains such as visualization of financial data, sensor data, software system information, file systems, etc. For it, 1. the usually non-spatial data is spatialized—it is given a gestalt that preserves the data’s structure, e.g., rectangular treemaps use nested rectangles to depict individual nodes, 2. and data (attributes) are mapped to visual variables, i.e., properties of the rectangles (size and color).

2

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Introduction to Treemaps

Treemaps are used to visualize tree-structured data. They are applied in various domains such as visualization of financial data, sensor data, software system information, file systems, etc. For it, 1. the usually non-spatial data is spatialized—it is given a gestalt that preserves the data’s structure, e.g., rectangular treemaps use nested rectangles to depict individual nodes, 2. and data (attributes) are mapped to visual variables, i.e., properties of the rectangles (size and color).

3

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Depiction of Tree-structured Data Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g., file size. The weight of a parent node is defined by the sum of the weights of its child nodes. Simple Graph

Rectangular Treemap

100

12

8

10

70

100

2 2

2

3

1

6

4

Dynamic 2.5D Treemaps using Declarative 3D on the Web

5

25

8

40

11

2017-01-05

Depiction of Tree-structured Data Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g., file size. The weight of a parent node is defined by the sum of the weights of its child nodes. Simple Graph

Rectangular Treemap

100

12

8

10

70

12

2 2

2

3

1

6

5

Dynamic 2.5D Treemaps using Declarative 3D on the Web

5

25

8

8

10

70

40

11

2017-01-05

Depiction of Tree-structured Data Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g., file size. The weight of a parent node is defined by the sum of the weights of its child nodes. Simple Graph

Rectangular Treemap 2

100

2

12

8

10

70

12

2 2

2

3

1

6

6

Dynamic 2.5D Treemaps using Declarative 3D on the Web

5

25

8

11

40

8

2 3

25 5

40

1

2017-01-05

Depiction of Tree-structured Data Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g., file size. The weight of a parent node is defined by the sum of the weights of its child nodes. Simple Graph

Rectangular Treemap 2

100

2

12

8

10

70

12

2 2

2

3

1

6

7

Dynamic 2.5D Treemaps using Declarative 3D on the Web

5

25

8

11

40

8

2 3

6

8

11 5

40

1

2017-01-05

Depiction of Tree-structured Data Leaf nodes are colored and have numerical weights, which can represent any associated attribute, e.g., file size. The weight of a parent node is defined by the sum of the weights of its child nodes. Simple Graph

Rectangular Treemap

100

12

8

2

10

2

70

12

2 2

2

3

1

6

8

Dynamic 2.5D Treemaps using Declarative 3D on the Web

5

25

8

11

40

8

2 3

6

8

11 5

40

1

2017-01-05

Web-based Provisioning using Declarative 3D

10

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

X3DOM – Boxes

1 2 3 4 5 6 7 8 9 10 11 12

11

...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

X3DOM – Shared Geometry 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

12

...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

XML3D – Meshes 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

13

... -0.5 0.0 +0.5 -0.5 1.0 +0.5 -0.5 0.0 -0.5 -0.5 1.0 -0.5 ... -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 0 -1 0 0 -1 ... 0.329412 0.329412 0.329412 ...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

XML3D – Asset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

14

... -0.5 0.0 +0.5 -0.5 1.0 +0.5 -0.5 0.0 -0.5 -0.5 1.0 -0.5 ... -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 0 -1 0 0 -1 ... 0.329412 0.329412 0.329412 ...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

X3DOM – Pre-Baked Buffer

1 2 3 4 5 6 7 8 9 10 11

15

...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

XML3D – Indexed Meshes (xflow) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22

16

-0.5 0.0 +0.5 -0.5 1.0 +0.5 -0.5 0.0 -0.5 -0.5 1.0 -0.5 ... -1 0 0 -1 0 0 -1 0 0 -1 0 0 0 0 -1 0 0 -1 ... -0.306478 0.0011 0.396264 -0.0627951 ... 0.373045 0.193473 0.10312 0.193473 ... 1 221 291 342 614 710 814 837 889 903 1041 ... 0.001 0.001 0.001 0.001 0.001 0.001 ... 0.329412 0.329412 0.329412 0.329412 ... ... 1 ...

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Results – Measurements First Frame Displayed

(in s)

Remapping all Colors

Remapping all Heights

Highlighting of one Leaf Node

(in ms)

2.78

2.7 ASSET

XML3D

PRE-BAKED BUFFER

STATIC

glTF

BOXES

SHARED GEOMETRY

X3DOM

PRE-BAKED BUFFER

ASSET

XML3D

37

97 104

MESH

40

98 37

112

124 87

86

91

152 MESH

87

0.24

X3DOM

PRE-BAKED BUFFER

0.29

0.63 SHARED GEOMETRY

173

1.46

291 293

2.21

2.05 1.59 1.19

1.37 0.48 BOXES

552

3.6

696

4.05

DOMContent Loaded

PRE-BAKED BUFFER

STATIC

glTF

*All measurements were captured and averaged over 1.000 iterations for the same data set of 2990 nodes (358 parent and 2632 leaf nodes) with the same attribute mapping applied. All data was deployed on a server (http://hpicgs.github.io/web3d-treemaps/) and loaded/processed locally in Chrome (50.0.2661.87 64-bit) running on a Notebook (Intel Core-i7 6700HQ, 16GB RAM, Windows, Intel HD 530). For polyfill and DOM publicly available resources were used based on X3DOM 1.7.1, XML3D 5.1.4, and glTF 1.0 (with three.js r76).

17

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Status and Future Work Declarative 3D is capable of (tree-structured) data visualization. However, • massive data visualization might be possible—the bottleneck currently is DOM-processing speed • custom buffers (e.g., ID buffers) that map data to visual properties (as xflow partially allows)

by means of an arbitrary mapping function would be helpful • remapping of attributes with Java Script is currently cumbersome—polyfills could provide helpers

for that, e.g., for deriving relations between DOM objects and their associated data • APIs might enable dynamic mapping/flexible geometry creation with upcoming WebGL releases

Disclaimer: latest 3D engines do NOT perform significantly better ...

18

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Questions and Contact Information Open-source implementation available at

hpicgs.github.io/web3d-treemaps/ •

Daniel Limberger E-Mail: [email protected]



Willy Scheibel E-Mail: [email protected]



Stefan Lemme E-Mail: [email protected]



Prof. Dr. Jürgen Döllner E-Mail: [email protected]

19

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

Backup : Performance (Table) Benchmarks Basis

Approach

DOMContent Loaded

First Frame Displayed

Continuous Rendering

Remapping all Colors

Remapping all Heights

Highlighting of one Leaf Node

X3DOM X3DOM X3DOM

Boxes Shared Geometry Pre-baked Buffer

0.48s 1.37s 0.63s

4.05s 3.60s 1.19s

15fps 15fps 60fps

87ms 87ms 112ms

152ms 124ms 552ms

91ms 86ms 696ms

XML3D XML3D XML3D

Mesh Assets Pre-baked Buffer

1.59s 2.21s 1.46s

2.05s 2.70s 2.78s

30fps 29fps 28fps

173ms 97ms 291ms

98ms 104ms 293ms

37ms 40ms 37ms

Static

0.24s

0.29s

60fps







glTF

*All measurements were captured and averaged over 1.000 iterations for the same data set of 2990 nodes (358 parent and 2632 leaf nodes) with the same attribute mapping applied. **All data was deployed on a server (http://hpicgs.github.io/web3d-treemaps/) and loaded/processed locally in Chrome (50.0.2661.87 64-bit) running on a Notebook (Intel Core-i7 6700HQ, 16GB RAM, Windows, Intel HD 530). For polyfill and DOM publicly available resources were used based on X3DOM 1.7.1, XML3D 5.1.4, and glTF 1.0 (with three.js r76).

20

Dynamic 2.5D Treemaps using Declarative 3D on the Web

2017-01-05

web3d-2016-limberger-slides--dynamic-25d-treemaps-using ...

... by the sum of the weights of its child nodes. Simple Graph Rectangular Treemap. 12 8 10 70. 100. 10 70. 25. 12 8. 2. 2 3. 1 5 40. 2. 6 8 11. 5 Dynamic 2.5D Treemaps using Declarative 3D on the Web 2017-01-05. Page 5 of 20. web3d-2016-limberger-slides--dynamic-25d-treemaps-using-declarative-3d-on-the-web.pdf.

4MB Sizes 1 Downloads 200 Views

Recommend Documents

No documents