230 likes | 387 Views
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.
E N D
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
a dummy vertex is introduced to signal a vertex-edge overlap
all original vertices have different coordinates 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 • vertices and bends have integer coordinates • vertices, edges, and • bends may overlap! 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
vertex scattering direction distribution vertex-edge overlap removal crossing removal general strategy input: graph G0 of max deg 6 output: 1-drawing of a subdivision of G0 we consider subsequent subdivisions of G0 at each step new dummy vertices are introduced the vertices of G0 are called original vertices four steps
vertex scattering direction distribution vertex-edge overlap removal crossing 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 coordinates • all planar dummy paths are not self intersecting forbidden configuration scattered 01-drawing after this step dummy vertices may still overlap both with dummy and with original vertices
vertex scattering direction distribution vertex-edge overlap removal crossing 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 v v direction-consistent 01-drawing after this step the edges incident on v “leave” v with different directions
v v vertex scattering direction distribution vertex-edge overlap removal crossing 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 vertex-edge-consistent 01-drawing after this step the original vertices do not “collide” with other vertices
from the 1-drawing of G4 a 3D orthogonal drawing of G0 is easily obtained by removing dummy vertices vertex scattering direction distribution vertex-edge overlap removal crossing removal construct a 1-drawing of a subdivision G4 of G3 after this step all vertices, both original and dummy, have different coordinates
d 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
split parameter < d, P, f, r > d direction P plane perpendicular to d f maps a vertex on P to a boolean r maps an edge (u,v) such that f(u) != f(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 push in the d direction all vertices on P with f = true insert a dummy vertex in each edge (u,v) that becomes slant, and place it on the new plane if r(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
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 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 1 split 2 split 3 split 2
boundary active reduce-forks algorithman instance of the proposed methodology fork two adjacent edges both cut by a split 1.vertex scattering select two original vertices u and v with the same coordinates separate them selecting a split operation that introduces “a few” forks • 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
} with a path retrieval strategy 2.direction distribution 3.vertex-edge overlap removal 4.crossing removal reduce-forks algorithm example: 3. vertex-edge overlap removal without a path retrieval strategy starting configuration follow the path until an edge leaving the plane is found or an original vertex is reached 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-forksthree-bends are more effective with respect to the average number of bends compactslice draw in the smallest volume compact interactive reduce-forks perform better with respect to edge length slicethree-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