a split&push approach to 3D orthogonal drawings

Post on 20-Jan-2016

32 views 0 download

description

a split&push approach to 3D orthogonal drawings. giuseppe di battista univ. rome III maurizio patrignani univ. rome III francesco vargiu aipa. drawing process sketch. starting drawing: all vertices have the same coordinates. a split is performed and one vertex is pushed apart. - PowerPoint PPT Presentation

Transcript of a split&push approach to 3D orthogonal drawings

a split&push approach to 3D orthogonal drawings

giuseppe di battistauniv. rome III

maurizio patrignaniuniv. rome III

francesco vargiuaipa

drawing process sketch

starting drawing: all vertices have the same coordinates

a split is performed and one vertex is pushed apart

a new split: a bend is introduced

further splits... ...further bends

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

all originalvertices have differentcoordinates now

all vertices (dummy and original) have different coordinates

removing dummy vertices...

…an orthogonal grid drawing is obtained

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, andbends may overlap!

general strategy

input: graph G0 of max deg 6output: 1-drawing of a subdivision

of G0

input: graph G0 of max deg 6output: 1-drawing of a subdivision

of G0

at each step new dummy vertices are introduced

the vertices of G0 are called original vertices

four steps

vertex scatteringdirection distributionvertex-edge overlap removalcrossing removal

we consider subsequent subdivisions of G0

vertex scatteringdirection distributionvertex-edge overlap removalcrossing removal

starting from a 0-drawing of G0, construct a 01-drawing of a subdivision G1 of G0 such that:

the original vertices have different coordinatesall planar dummy paths are not self intersecting

after this step dummy vertices may still overlap both with dummy and with original vertices

scattered 01-drawingscattered 01-drawing

forbiddenconfiguration

vertex scatteringdirection distributionvertex-edge overlap removalcrossing removal

construct a 01-drawing of a subdivision G2 of G1 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

vertex scatteringdirection distributionvertex-edge overlap removalcrossing removal

construct a 01-drawing of a subdivision G3 of G2 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

vertex scatteringdirection distributionvertex-edge overlap removalcrossing removal

construct a 1-drawing of a subdivision G4 of G3

after this step all vertices, both original and dummy, have different coordinates

from the 1-drawing of G4 a 3D orthogonal drawing of G0 is easily obtained by removing dummy vertices

d

split

insertion of a new plane perpendicular to d

black vertices arepushed to the new plane

little cubes are dummy vertices inserted by the split

several degrees of freedom

d

split parameter < d, P, , >

d directionP 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 directionP 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

feasibility of the approach

theoremfor all the following tasks there always exists a

sequence of splits that “does the job”

1. obtain a scattered 01-drawing of a subdivision G1 of G0 from a 0-drawing of G0

2. obtain a direction-consistent 01-drawing of a subdivision G2 of G1 from a scattered 01-drawing of G1

3. obtain a vertex-edge-consistent 01-drawing of a subdivision G3 of G2 from a direction-consistent 01-drawing of G2

4. obtain a 1-drawing of a subdivision G4 of G3 from a vertex-edge-consistent 01-drawing of G3

sketch of proof

3. obtain a vertex-edge-consistent 01-drawing of a subdivision G3 of G2 from a direction-consistent 01-drawing of G2

split 1

split 2

split 3

split 1

split 2

activeboundary

reduce-forks algorithman 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 itelse if an active black (red) exists, color black (red)

one free vertex adjacent to itelse 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 itelse if an active black (red) exists, color black (red)

one free vertex adjacent to itelse color black or red (random) a random free vertex

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

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

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