Presentation is loading. Please wait.

Presentation is loading. Please wait.

A split&push approach to 3D orthogonal drawings giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa.

Similar presentations


Presentation on theme: "A split&push approach to 3D orthogonal drawings giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa."— Presentation transcript:

1 a split&push approach to 3D orthogonal drawings giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa

2 drawing process sketch starting drawing: all vertices have the same coordinates a split is performed and one vertex is pushed apart

3 a new split: a bend is introduced

4 further splits......further bends

5 a dummy vertex is introduced to signal a vertex-edge overlap

6 all original vertices have different coordinates now

7

8 all vertices (dummy and original) have different coordinates

9 removing dummy vertices... …an orthogonal grid drawing is obtained

10 orthogonal grid drawing edges are chains of segments parallel to the axes 01-drawing edges have either length 0 or length 1 no bends allowed! 0-drawing: trivial 01-drawing such that edges have length 0 and all vertices have the same coordinates 1-drawing: edges have length 1 and vertices have distinct coordinates vertices and bends have integer coordinates vertices, edges, and bends may overlap!

11 general strategy input:graph G 0 of max deg 6 output:1-drawing of a subdivision of G 0 input:graph G 0 of max deg 6 output:1-drawing of a subdivision of G 0 at each step new dummy vertices are introduced the vertices of G 0 are called original vertices four steps vertex scattering direction distribution vertex-edge overlap removal crossing removal we consider subsequent subdivisions of G 0

12 vertex scattering direction distribution vertex-edge overlap removal crossing removal starting from a 0-drawing of G 0, construct a 01-drawing of a subdivision G 1 of G 0 such that: the original vertices have different coordinates all planar dummy paths are not self intersecting after this step dummy vertices may still overlap both with dummy and with original vertices scattered 01-drawing forbidden configuration

13 vertex scattering direction distribution vertex-edge overlap removal crossing removal construct a 01-drawing of a subdivision G 2 of G 1 such that: for each original vertex v, v and all its adjacent vertices have different coordinates after this step the edges incident on v “leave” v with different directions direction-consistent 01-drawing direction-consistent 01-drawing v v

14 vertex scattering direction distribution vertex-edge overlap removal crossing removal construct a 01-drawing of a subdivision G 3 of G 2 such that: for each original vertex v, no dummy vertex has the same coordinates of v after this step the original vertices do not “collide” with other vertices vertex-edge-consistent 01-drawing vertex-edge-consistent 01-drawing v v

15 vertex scattering direction distribution vertex-edge overlap removal crossing removal construct a 1-drawing of a subdivision G 4 of G 3 after this step all vertices, both original and dummy, have different coordinates from the 1-drawing of G 4 a 3D orthogonal drawing of G 0 is easily obtained by removing dummy vertices

16 d split insertion of a new plane perpendicular to d black vertices are pushed to the new plane little cubes are dummy vertices inserted by the split several degrees of freedom d

17 split parameter d direction P plane perpendicular to d  maps a vertex on P to a boolean  maps an edge (u,v) such that  (u) !=  (v) and such that u and v have different coordinates to a boolean d direction P plane perpendicular to d  maps a vertex on P to a boolean  maps an edge (u,v) such that  (u) !=  (v) and such that u and v have different coordinates to a boolean push in the d direction all vertices in the open half space determined by P and d insert a dummy vertex in each edge (u,v) that becomes slant, and place it on the new plane if  (u,v) = true, in the old plane otherwise for each edge (u,v) that becomes 2 units long, put a dummy node in the middle push in the d direction all vertices on P with  = true

18 feasibility of the approach theorem for all the following tasks there always exists a sequence of splits that “does the job” 1. obtain a scattered 01-drawing of a subdivision G 1 of G 0 from a 0-drawing of G 0 2. obtain a direction-consistent 01-drawing of a subdivision G 2 of G 1 from a scattered 01- drawing of G 1 3. obtain a vertex-edge-consistent 01-drawing of a subdivision G 3 of G 2 from a direction- consistent 01-drawing of G 2 4. obtain a 1-drawing of a subdivision G 4 of G 3 from a vertex-edge-consistent 01-drawing of G 3

19 sketch of proof 3. obtain a vertex-edge-consistent 01-drawing of a subdivision G 3 of G 2 from a direction- consistent 01-drawing of G 2 split 1 split 2 split 3 split 1 split 2

20 active boundary reduce-forks algorithm an instance of the proposed methodology select two original vertices u and v with the same coordinates separate them selecting a split operation that introduces “a few” forks fork two adjacent edges both cut by a split 1. vertex scattering heuristic  if a boundary active black (red) vertex exists, color black (red) one free vertex adjacent to it  else if an active black (red) exists, color black (red) one free vertex adjacent to it  else color black or red (random) a random free vertex heuristic  if a boundary active black (red) vertex exists, color black (red) one free vertex adjacent to it  else if an active black (red) exists, color black (red) one free vertex adjacent to it  else color black or red (random) a random free vertex

21 reduce-forks algorithm 2. direction distribution 3. vertex-edge overlap removal 4. crossing removal with a path retrieval strategy } example: 3. vertex-edge overlap removal follow the path until an edge leaving the plane is found or an original vertex is reached starting configuration without a path retrieval strategy with a path retrieval strategy

22 experimental comparison no algorithm can be considered “the best” there is a trade-off between number of bends and volume occupation more: interactive reduce-forks three- bends are more effective with respect to the average number of bends compact slice draw in the smallest volume compact interactive reduce-forks perform better with respect to edge length slice three-bends interactive compact need the smallest computation time

23 conclusions and open problems :devise new algorithms and heuristics (alternative to reduce-forks) within the described paradigm :explore the trade off, put in evidence by the experiments, between number of bends and volume :measure the impact of bend- stretching (or possibly other post- processing techniques) on the performance of the different algorithms :devise new quality parameters to better study the human perception of “nice drawing” in three dimensions


Download ppt "A split&push approach to 3D orthogonal drawings giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa."

Similar presentations


Ads by Google