Post on 20-Jan-2016
description
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