Loading in 5 sec....

a split&push approach to 3D orthogonal drawingsPowerPoint Presentation

a split&push approach to 3D orthogonal drawings

- 110 Views
- Uploaded on
- Presentation posted in: General

a split&push approach to 3D orthogonal drawings

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

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

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

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

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

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

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