1

advertisement
1
>> Daniel Archambault: Okay. Good morning, everyone. Hopefully, we're going
to get started in a few seconds. My name is Daniel Archambault, and I'm
chairing this session on Lombardi and metro maps.
So our first speaker is David Eppstein. And to note, this is the best paper of
track one at Graph Drawing 2012. So a little bit of a round of applause for
that.
[applause]
>> Daniel Archambault:
Without further ado, David.
>> David Eppstein: Okay. So we've heard a little bit about this yesterday in
a couple talks, and we'll hear more about it so I don't want to spend too much
detail, but Mark Lombardi, famous artist, drew social networks representing
conspiracy theories, and his drawings used a lot of these circular arcs and are
also very -- there's a lot of rhythm to the placement of the edges and the
vertices. And so we've tried to imitate that a little bit in a style of
drawing called Lombardi drawing.
And the key properties of a Lombardi drawing are that the edges are drawn as
circular arcs and they have to have perfect angular resolution, meaning that at
every vertex, the edge spacing is perfectly uniform.
So this is a four regular graph. Every vertex has four edges meeting at right
angles. And there have been several papers on this so far, producing results
including this sort of drawing. We can show that all plane trees, even if the
ordering of the children of each node is fixed, can be drawn in this way with
polynomial area. If you use strayed lines, you can still get perfect angular
resolution, but that forces you to use exponential area. So there's a big
improvement you can get using circular arcs in this way.
Regular graphs, we sort of know how to draw. We have a pretty clear
characterization of which ones do or do not have drawings. Of course, the
drawings might also involve crossings. We have a few results on planar graphs.
So some very special classes of planar graphs. The Halin graphs formed by a
tree by adding a cycle connecting all the leaves of the tree. And certain very
symmetric graph, such as, in this case, the graph of the dodeka hedron, we know
how to draw with Lombardi drawings.
2
But not every planar graph has a Lombardi drawing. These are two counter
examples from previous works. These are both graphs that have Lombardi
drawings, but they do not have planar Lombardi drawings. If you draw them with
perfect angular resolution, you're going to be forced to make some crossings.
So there's a lot we still don't know. We don't know which planar graphs have
planar Lombardi drawings. We don't know which regular planar graphs have
planar Lombardi drawings. We don't even know if we're outer planar graphs,
which is a very, special case. And we've seen in one of the posters that we
can find these drawings for outer paths, which are an even more special case.
We don't know what the computational complexity of finding these drawings is,
and I'm not going to answer any of these questions, but today, what I will tell
you about is some progress on this question, which regular graphs have planar
Lombardi drawings. The answer is all three regular graphs, not all four
regular graphs. And that extends to some other low-degree graphs as well.
So let me tell you about some of the tools I'll be using for these results.
The first is something that has been used in a lot of graph drawing papers,
including at least one of the Lombardi papers previous. Which is the circle
packing theorem. Every planar graph can be represented using a circle for each
of its vertices, no two circles crossing each other. And the tangentsys
between circles representing the adjacencies of the planar graph. There are a
couple of special cases of this that, where the circle packing is more highly
constrained.
If you start with a
triangles, even the
that is essentially
the plane that I'll
maximal planar graph, one in which all of the faces are
outer face, then it has a circle packing that represents it
unique. It's unique up to the certain transformations of
be talking about in a second.
And in this case, actually, these circles are not interior disjoint. There's
one that surrounds all of the others. But that's almost the same thing.
The other variant of this that again has this same uniqueness property is if
you start with a three-connected planar graph; then you can find a simultaneous
circle packing representations of both the graph and its dual. The blue graph
here and the red graph. The blue graph represents a cube, and the red graph
represents a dual octahedron.
3
And not only are adjacent vertices in each of those two primal and dual graphs
represented by tangent circles, but a vertex in the primal that's on a face of
the primal, that vertex face pair is represented by a pair of circles that are
at right angles to each other. So that each dual edge is represented by a
tangency that is orthogonal to the tangency representing the primal edge.
That's another way of saying the same thing. And that is essentially unique.
So I said something in the previous thing about Mobius transformations. Mobius
transformation, there are a number of different ways of representing it, but
it's a transformation of the plane that can be represented using complex number
coordinate system for the plane as a fractional linear transformation. This
type of function. Also, complex conjugation, sometimes allowed, sometimes not
allowed. It doesn't make a lot of difference for us.
And this has some really nice properties. They include all of the translations
and rotations and similarities that you're familiar with as transformations of
the plane, but a lot more transformations besides that. These are conformal
transformation, meaning that they preserve the angle between any two curves
that touch each other.
And they preserve circularity. In fact, they can be defined as the
transformations of the plane that preserve circularity. So a circle is
transformed to another circle with lines treated as a special case of circles
that have infinite radius. Because a circle might sometimes be transformed to
a line.
And because they preserve both circularity and angles, they preserve the
property of being a Lombardi drawing, and that's going to be important for us.
So if you have a Lombardi drawing, you transform it, you get another Lombardi
drawing of the same graph. The same angular resolution. It may have different
vertex spacing. It may be more or less readable, but it will still be a
Lombardi drawing.
Okay. This is about drawing graphs in the plane, in the familiar Euclidian
plane. But it's drawing graphs in a way that is transformed by Mobius
transformations, and that somehow brings in 3D hyperbolic geometry. So this is
maybe a bit unfamiliar as a space, but it can be modeled by more familiar
objects in Euclidian geometry. So we can model 3D hyperbolic geometry as a
half plane. The half space above a plane in Euclidian geometry, say the planes
4
equal zero. All of the points with Z greater than zero are half space, and
those are the points in hyperbolic geometry.
The lines in hyperbolic geometry get modeled as semi circles that come out of
this boundary plane perpendicularly and go back into it. And the planes in
this 3D geometry are modeled as hemispheres, little domes that sit on this half
space -- plane boundary of the half space.
So like Euclidian three-dimensional space, if you stand anywhere in
three-dimensional space and look in a certain direction, the geometry is
exactly the same as if you stand at a different point and look in a different
direction. There's a symmetry, taking every point and every reference frame
around that point to any other one. And hyperbolic geometry has that same
amount of symmetry, but a different symmetry group. And it's a very symmetric
space. But the symmetries of the 3D space, when you look at their action on
this boundary plane at infinity of the hyperbolic space, the boundary of the
half space model, they turn into Mobius transformations. And so that's the
connection between this 2D graph drawing that we're doing and 3D geometry.
Okay. So with those tools, we can now devise a kind of Voronoi diagram or
power diagram, if you like, of circle packings. So if you have some circles in
the Euclidian plane, I want to divide the whole plane up into cells within
which, you know, this circle controls this whole cell around it and these
little gaps to the next circle and so on.
And this diagram that I'm about to explain to you has be an intrinsic
definition in 2D geometry, but the way I came to it was through 3D, and I think
that's a clearer description. So if we have circles in the Euclidian plane,
let's view this plane as the boundary plane of a half space model of 3D
hyperbolic geometry. Each circle in the plane is the rim of one of these
half -- hemisphere dome half planes or entire planes in 3D geometry. It's the
boundary of a hyperbolic plane.
And in 3D geometry, in hyperbolic geometry, just as in Euclidian geometry, we
can identity Voronoi diagrams as the subset of the space that's nearer to this
site than to these other sites, and so let's just construct the 3D hyperbolic
Voronoi diagram of this system of hyperbolic planes. It's some messy 3D
object, but easy to define.
There's a way to stepped this to circles that might cross each other.
We're
5
going to need that later. In that case, we want to use signed distances,
rather than just distances from these planes. And then once we've constructed
this 3D hyperbolic object, it's a partition of 3D hyperbolic space, we'll
restrict that partition to the boundary plane of the half space and see what
kind of partition we get on this plane. And it looks something like this.
So this has some nice properties. In 3D hyperbolic geometry, the bisector of
two planes, the set of points that are equidistant from both of them is itself
a plane, and when we translate that back down into 2D geometry, the bisector in
this diagram that we get of two disjoint circles is itself a circle that passes
between them.
The Voronoi diagram in 3D, if you translate the space around or rotate it, you
get the same Voronoi diagram, it's invariant under that kind of transformation.
What that means in 2D is this planar diagram is invariant under Mobius
transformations.
And a key property that we need for Lombardi drawing is Mobius transformations
are a big enough family of transformations that you can take any three mutually
tangent circles, say these three, and find a transformation that takes them to
a position where they all have the same size as each other.
So their centers form an equilateral triangle. Their points of tangentsys form
an equilateral triangle, and the diagram that you get in that case just looks
like, by symmetry, the only thing it could look like is three infinite straight
rays meeting at 120 degree angles going out to infinity. They meet at 120
degree angles at that point, but then in Mobius geometry, thrust one extra
point at infinity. Not a line of points at infinity as in the more familiar
projective geometry, but just one point.
And these three rays meet at that point.
the straight circles.
That point at infinity contains all
And so actually, this diagram of three equal circles that are tangent to each
other has two points where those boundaries meet, and they meet at 120 degrees
at both of them. And if you transform that to any other three tangent circles,
what you get is a diagram called a double bubble. It's three circular arcs
meeting at two points, the three arcs come together at these two different
points and they meet at 120 degree angles.
6
And another way of saying the same thing is it's a Lombardi drawing of a
multigraph that has two vertices connected by three edges.
Okay. So I think I'm going to skip this part. This is just explaining how you
can define the same diagram in 2D using a fairly natural definition of distance
from a circle in 2D and then it's just the minimization diagram of the
distance, and it turns out to be the same as the 3D definition I've given you,
but it's not entirely obvious why.
So we're ready to do some Lombardi drawing we already have a Lombardi drawing
of this very special graph. Let's go for some other graphs. So if I have a
three-connected, three regular planar graph, every vertex has degree three and
it's three connected, there's no way of deleting two vertices and disconnecting
it, then the dual graph of that graph is a maximal planar graph.
Maximal planar graphs have circle packings where all of the graphs between
circles are these ideal triangles with three tangent circles. We find a dual
graph, we find a circle packing for it. This part, by the way, is not
completely a combinatorial algorithm. There are efficient numerical algorithms
for finding these circle packings. They produce accurate results, but they are
numerical approximations to the correct circle packing rather than, you know,
something you can represent exactly with algebraic numbers.
But we can find these, that works well in practice. I've implemented all of
this, by the way, this part. Not the later part to the paper. We use a Mobius
transformation to make this circle packing a little bit nicer, because if you
just use this circle packing, it's going to give you a bad drawing. For one
thing, if these three outer circles all have the same radius, you're going to
have a drawing where one of the vertices has gone all the way off to infinity,
and that's not good.
For another, these circles have very different sizes from each other. This one
is tiny, this one is much bigger. So we'd like to do a transformation that
maximizes the size of the smallest circle, and that's something that you can do
using a paper of mine from over ten years ago. And finally, we just find this
power diagram of this circle packing. It has a Voronoi vertex where three of
these regions meet inside each of these three circle gaps. The circular arcs
meet at 120 degrees at each of those vertices, and this is the dual graph of
the circle packing, and therefore it's the original graph you started with.
7
So we can draw any three connected, three regular planar graph using a Lombardi
drawing. Here are some examples. I have more in the paper. I think they look
kind of pretty. They have this circular outline that the vertices are all
uniformly spaced. You might -- at least they're locally uniformly spaced. You
might get situations where some parts of the drawing are much smaller scale
than others. So it definitely can be forced to use exponential area if you're
concerned about that.
We can extend this to graphs that have degree less than three using standard -for two-connected graphs, we just use the SPQR tree, make a drawing for each
three-connected component, glue them together because the two edges that they
glue together on are going to be co-circular in the drawings and that makes it
easy to glue them.
The case for graphs that are not even two-connected is messier, but is just
decomposing the graph on its bridges and modifying the drawing so that it has
places to glue those bridges together and doing the gluing. So there's nothing
conceptually difficult here. It's just some messy case analysis.
We can also do some four-regular graphs. If you have a four-regular graph
drawn in the plane, then its faces the dual graph form is bipartite. And we
can two-color them blue and pink. And if you look at just the pink faces and
think of them as forming a graph, sort of half of the dual of the original
graph, so this face is adjacent so this one, this one, and this one. That's
this graph H that I've got in the text.
If that half dual graph is three-connected, then we can find one of these
orthogonal circle packings where this half dual graph, the pink one, turns out
to be orthogonal to the other half dual graph, the blue one, and so we get a
circle packing with orthogonal circles. And if we again compute the power
diagram, we get a Lombardi drawing. I don't have time to do the details. But
that doesn't work for all four-regular graphs.
This graph, I'm pretty sure, has a Lombardi drawing, but not by this method
because when you decompose it into these half dual graphs, they're not
three-connected. This one, I can prove, and it's in the full version of the
paper, that it doesn't have a Lombardi drawing at all, and the reason involves
these four cycles, this inner one in the center and the outer one turn out that
those have to be co-circular and those circles overlap in a bad way.
8
So let me just conclude here. We've shown that every planar graph have maximum
degree at three, regardless of whether it's regular. Has a Lombardi drawing
that's also planar. The runtime, it's not a combinatorial algorithm. The
runtime depends on how accurately you want to compute these circles packings,
but I've implemented it in a three-connected case, and I haven't tried it on
graphs of more than maybe 100 vertices, just because the drawings don't look
very good when it gets tiny scale on some parts and big scale on the other.
It's this exponential area problem.
Actually, no, that's not true. I've done some regular graphs of, like, a
hexagonal lattice type graph of up to about 250 vertices. Anyway, didn't pay
any attention to efficiency when implementing it, used a slow interpreted
language and it's completely usable. So it's a fast algorithm. It scales
well, unlike, say, the spring methods that we've been hearing about.
It works in some four-regular cases but not all. And so I think there's still
a lot more to learn about Lombardi drawing, and I also just want to put in a
brief plug. I have another pre-print online that's not published yet that this
same method that I used to find Lombardi drawings, I can also use to
characterize compound soap bubbles. Soap bubbles form graphs. What graphs do
you get in turns out to be the two-connected, three-regular planar graphs, and
you can prove that using exactly the same Lombardi drawing method.
>> Daniel Archambault:
Time for one question?
>>:
While the second speaker is setting up, one question.
Yes.
Do you think it's possible to find [indiscernible].
>> David Eppstein: If you want -- if it's possible, and it may be, not all
Lombardi drawings are constructed in this way. There exist drawings of, for
instance, a cube graph that do not come from circle packings in this way. If
you want to construct a drawing using circle packings, then it's definitely
going to use exponential area, because there's not a lot of choice in how to
place everything.
But I don't know whether there might be some way of getting polynomial area
using a different method.
>> Daniel Archambault: Okay. Our second presentation will be on the usability
of Lombardi drawings, and this presentation will be given by Martin Nollenburg.
9
>> Martin Nollenburg: Thank you very much. So as he said in this talk we try
to study what effects these Lombardi drawings that have been presented, for
example, by David just a few minutes ago have on the use ability -- can use
Lombardi drawing to get a better understanding of the graphs.
So this is joint work with Helen Purchase, who couldn't make it, unfortunately,
and John Hamer from the University of Glasgow, and Stephen Kobourov from
Arizona.
So you know what Lombardi drawings are. They're inspired by mark Lombardi, who
died 12 years ago. In a nutshell, they're defined by circular arc edges and
perfect angular resolution. And as you've seen, there are several theoretical
results and also practical algorithms over the last two, three years at GD
conferences.
On the left side, you see one of Lombardi's drawings. On the right side, you
see one of those very symmetric drawings from one of our papers.
So what you can say in general is that Lombardi drawings produce smooth,
organic shapes and they have a distinct aesthetic appeal, at least for regular,
nice, symmetric graphs. But we can also relax the conditions a bit and get to
near-Lombardi drawings where either you don't have perfect angle resolution
anymore or you say the edges are not circular arcs but maybe a smooth
combination of several circular arcs. These have been studied as well.
But the open question is are these drawings useful in practice? So we ask the
following research question. Lombardi drawings improve graph readability over
traditional straight-line graph drawings. Or, more specifically, does
Lombardization, so using a straight-line drawing and trying to curve the edges
in order to reach these Lombardi criteria as good as possible, do they improve
readability or, if we don't use an initial straight-line drawing, does an
unrestricted or free near-Lombardi drawing improve readability?
What you can see here is three drawings of the same graph. On the left side,
it's a traditional straight-line drawing. Here, you can see that this graph
has exactly the same node positions, but we try to graph the edges in a way to
improve angular resolution. On the right side, this is a graph that is
unrestricted so we can place the nodes freely and try to improve the angular
resolution and [indiscernible].
10
So as a bit of background we've already heard that not all planar graphs have
planar Lombardi drawings. Same is true for non-planar graphs and there are
even graphs that do not have Lombardi drawings at all. But last year, they
were presented two different force-based methods that created Lombardi-like
drawings by relaxing the optimal angles a bit. And these we can use to make
this comparison.
So the first method that we will compare is the traditional spring embedder.
We used the [indiscernible] angled approach so we have repulsive forces for all
vertex pairs and attractive forces for all the edges and then it will wait
until we get some stable drawing, like the one that you see in this picture.
The second method is from the paper by Chernobalsky, et al., from last year.
And there were actually two algorithms proposed in this paper. The first one
is the so-called dummy vertex algorithm, and you first compute a traditional
spring layout with the method one that I just said. Then once you have that,
you add a dummy vertex on each of the edges and you restrict this dummy vertex
to lie on the bisector of the end points. So when you have this additional
dummy vertex and you move it along the line, you can set the radius of the edge
to curve it.
And then we compute repulsive forces for all these dummy vertices, so we keep
the original vertices fixed and use forces for the dummy vertices in order to
improve edge spreading and things like that. So the effects that you get from
these layouts is that the original vertex position is preserved. We guarantee
circular arc edges, and then the forces that we use, they generally enlarge the
angles at the vertices. So you get better angular resolution here. And this
is the layout you would get of this graph.
The third method is the so-called unrestricted Lombardi embedder. It's called
a tangent-based algorithm in the paper of last year, and it uses also different
forces, but they start all from scratch. So we have, again, repulsive forces
for the vertex pairs and attractive forces for the edges, as in the angle model
and they also have tangential forces for all the edges that made sure that you
get circular arc edges. And there are rotational forces for each vertex based
on neighbors. So you can rotate this template of tangents around the vertices
and put it into a good position.
The layout effects that you get from this method is again that we can guarantee
11
circular arc edges. In this sense, it satisfies the Lombardi properties and,
in many cases, this can achieve actually optimal angles.
So in the paper by Chernobalsky, they made a comparison of how many angles are
actually satisfying the perfect angle resolution and this is called
Lombardi-ness, and it's generally higher for this method than for method two.
So we asked these two questions. Does Lombardization, curving the edges,
improve readability? For this, we can compare the traditional straight layout
with this restricted Lombardi embedder layout. These two.
The second question, does a free near-Lombardi drawing compare readability?
And here, we can compare traditional straight with the free Lombardi embedder,
with the second -- the third method here.
So which graphs did we use for this study? We decided on three graph
attributes that we can compare so we took planar graphs and non-planar graphs.
The second dimension, we used small and medium-sized graphs. I mean, they are
all very small, but it's 20 vertices or 40 vertices and the third parameter was
the edge densities. So we looked at sparse graphs and dense graphs, where the
edge vertex ratio for sparse is 1.25 and 3.5 on dense graphs. Of course, if
you have planar graphs, then you can't get 3.5, but you just use triangulations
here.
What should be noted here is that these spring force base methods, they do not
guarantee planar drawings for planar graphs. So we input planar graphs, but
the drawings that you get might have crossings.
So when we have these parameters, we get eight different combinations here. In
the top row, you see all the planar graphs. And you can actually see that the
actual things in these layouts. On the left-hand side, we have the small
graphs with 20 nodes and on the right-hand side being the dense graphs with 40
nodes. And probably the largest effect is between sparse and dense. So the
sparse graphs are nicely readable, but the dense graphs get messy. But this is
true for Lombardi and straight line drawings. So there's not much of a
difference here.
So now we know three algorithms, graph classes. What are the tasks that we
asked our users here? The first task is to find the shortest path between two
highlighted nodes. So you can see in this example that we highlight two green
12
nodes, and you need to find the length of the shortest path here. In this
case, the answer would be three. Of course, the edges are not highlighted.
The second task is to identify how many neighbors two highlighted vertices have
in common. So we have these two blue vertices here and you need to find these
four red vertices visually and the correct answer here would be four.
And the third task is asking for the highest degree vertex so we highlight
three different vertices in the graph. I'm not sure you can see the colors.
There should be a red vertex, a green vertex and a blue vertex somewhere, and
which of the three has the highest degree.
So the first two tasks, they require that you follow edges visually to connect
things, whereas the third task is something local where you need to look at a
half edges that are adjacent to that.
Here I'll show you some examples that were used in the study with combinations.
This is a layout with a restricted Lombardi embedder for a planar medium sparse
graph and you are asking for the number of common neighbors of these two
vertices. And in this case, the correct answer should be one, I guess, here.
The next graph is made by a free Lombardi drawing. So unrestricted. It's a
planar small dense graph, and this is super the degree task, so which of the
three vertices has the highest three. Any guesses? I guess green has five.
Third graph is the traditional spring layout graph, planar medium dense, and
we're asking the shortest path question. So what's the shortest path between
these two green guys, and it should be length three here. And then we have
again a straight line drawing, nonplanar small sparse, and we ask for common
neighbors, which is quite easy here, because there's only a single common
neighbor.
Here we have a restricted Lombardi drawing nonplanar, small but dense. And
we're asking the degree task, so this has five, this has five and this has six
so answer should be red. And the last guy is some free Lombardi drawing,
nonplanar medium sparse. You're asking for the shortest path. In this case,
it should be one, two, three. So that's the correct answer here.
These are some examples but in total, of course, we had more examples. What we
did is we implemented an online system presenting these stimuli and collecting
the answers. We have eight different graph types. We have three different
13
algorithms and we have three different tasks that we ask. So in total, there
were 72 tasks for the users to do. And we used a within-participant design so
every user did all the same tasks on the same graphs.
This is how an experimental session worked. So we started with a consent form,
explaining what the experiment -- I mean, not really what the background, but
getting agreement of people that we can use the data and stuff like that.
Then we started with a tutorial, explaining all the concepts that we used, how
to answer the questions, showing examples of what the shortest path would be.
So that the users really get an understanding of what we want from them. Then
we had some guided example trials, where we asked all the tasks and made sure
that you could only proceed to the next step once you answered it correctly.
So this is to verify that users really got the questions correctly.
And then there was this instruction to answer the following questions as
quickly and as accurately as people could do. So we're measuring time and
accuracy. Then we started with nine hidden practice tasks so we didn't tell
the users that they are practice tasks, just to counteract any learning effects
you might get here. And then this was followed by the main experiment.
There was a break after every eight trials, because this is quite challenging
if you have to really quickly answer all these questions so you do a block of
eight and then you can relax. Once you're ready, you do the next block of
eight and experiments.
And we used a different random order of these graphs for different
participants. After this main experiment, we asked preference questions. So
we showed three drawings of the same graph and asked which of those do you like
most. And there was another question later on, which do you like least. So we
get, also, 24 layouts that are compared here.
In the end, there was an optional interview with some of the participants to
get some feedback of the process.
Okay. So what did we measure
there was accuracy question.
measured the response time so
question. And for this later
like most and like least.
and what data did we collect here? Of course,
Was the data answered correctly or not. We
how long did it take participants to answer the
block of preference tasks, we got these choices,
14
Who participated in the study? So we had 69 participants in total. Two of
them did not answer this demographic question so it doesn't add up to 69, but
just 67. So we had 14 female participants, 53 male. Then we also asked them
how familiar they are with graphs. 39 of them were quite familiar with graphs,
21 of them had seen graphs before, but are not using them all the time. And
seven people had never seen graphs before.
The duration of the experiment was about 30 minutes in total. And as
incentives, we used the high-score table during the breaks so people could see
how well they compared to other people, which should be trying to score high
and we gave away some Amazon vouchers for highest performer and for some
randomly chosen persons.
What we analyzed, we compared the layout methods for all the participants and
all the graphs, but specifically for the different tasks and then we could also
distinguish between the graph tasks that had, so dense, sparse, small, medium,
planar, non-planar. But the latter three questions, they did not really give
new results. They just mirrored what we see in general so we won't talk about
those here.
Now let's look at the performance results. So in this chart, we measured the
time. So the response time in the top row and the error rate in the bottom row
and we marked significant statistic differences by these black bars.
So let's look at this in more detail. The overall response time was
significantly shorter for straight line drawings than for Lombardi drawings,
both of them. On average, this was something like 10 or 11 second, and it was
12.5 or 12 seconds for the Lombardi drawings.
So overall, straight line was faster. Then we look at different tasks that we
have here. So for shortest path, it's the same pattern. So the straight line
drawing is faster for shortest path. For common neighbors, it's only
significantly faster than the free Lombardi layout. But if we use the same
positions from the straight line drawing, then there was no significant
difference.
Highest degree tasks, they were much faster on average, so only five seconds.
And in this case, the restricted Lombardi was slowest and significantly slower
than the other two.
15
And now it's interesting to see what the error rates are. So people performed
and made less errors on the straight line drawings overall, but this is
different for the three tasks that we have. So finding shortest path was much
more complicated on the free Lombardi layouts. So here, we got error rates of
25 percent, whereas it's 0.1 or 0.12 for the other two layouts. And there was
a significant difference between the LE column and TS and RLE. But you could
not say that RLE is significantly worse than straight line here.
For the common neighbors, the straight line drawing is significantly better
than the other two. But when we asked for highest degree, now we see one of
the advantages of Lombardi drawings that the free Lombardi drawing, which
spreads out the angles best has much lower error rate than the other two.
We also looked at the preference analysis. So we made two judgments for each
graph. We gave away a score of zero for the like most answer, a score of one
for the like least answer, and there was no answer, it was 0.5.
What you can see, that on average, the restricted Lombardi layouts were much -were liked better, significantly better than the other two layouts. So the
average or the indifferent value of 0.5 is here and the restricted Lombardi
layouts are on average better than that. The other two are worse than that.
This pattern is more extreme if you lock at sparse graphs or at planar graphs.
So then the value of RLE was around 0.3, and it was about 0.6 for the other
two. So people liked these Lombardi drawings better.
Here are some examples. And we can also look at the preference versus the
performance. So these charts are normalized results, meaning that you get a
score of 1.0 for the worst thing that we measured here and the lower you are,
the better you are in this respect.
So you can see that the LE for the free Lombardi layouts, they're pretty bad
overall. Traditional straight line drawings are best in terms of error, and
they are faster, slightly faster. But if you look for a preference, then the
RLE drawings are much nicer here. So there's a trade-off between the two.
So to conclude, we saw that the tradition at straight line drawings, they
showed better performance than both Lombardi methods in most cases, not all of
them. They improved angular resolution helped in the degree task
significantly. But if you look at preference, then the restricted Lombardi
16
layouts were aesthetically preferred over the other two.
So what can we conclude from? Maybe one hypothesis is that the detours of
these curved edges, they are detrimental if you need to follow edges, because
you need to make, depending on the radius, quite far away from the direct
connection. But the Lombardi drawings are still beneficial due to the user
preference because if users like a drawing, they're much more likely to look at
it, to work with it, than if they get some drawing which is really nasty and
they don't look at.
A remark here, there's a concurrent study by [indiscernible], et al., that will
be presented at [indiscernible] in a few weeks studying roughly the same
question. They could not show any significant accuracy in time differences
between the different layouts, but here there was an overwhelming preference
for straight line drawings. So this es quite different here. Of course, this
study has some limitations so we made a choice of graphs. You can look at
different graphs, maybe if you could use these algorithms like David
implemented in Lombardi layouts look much nicer, of course. So we looked only
at these algorithms that we had available. You can take different tasks and
you can also look at different people in doing the experiments.
And for future work, it would make maybe sense to limit the edge curvature to
use some curving to spread out the angles, but not too much in order to narrow
the visual search range that you get.
You could also optimize for sequences
because in the interviews that we did
of edges form smooth paths, then this
somehow. And if you do that straight
here.
of edges that form smooth visual paths,
with participants, they said if sequences
reduces the complexity of the drawing
line, you get all these little bends
It would also be interesting to study effects not only of the edge type that
you use, but also how this combines with other aesthetics. So if you can use
circular arcs but get fewer crossings, in that sense maybe these drawings are
nicer than straight line with many crossings, things like that. Okay. Thank
you.
>> Daniel Archambault: Thank you.
we set up for the next talk.
>>:
I think we have time for one question while
Can you think of any environmental reasons that would drive the edge
17
preference other than the drawings themselves?
was taken out, who was conducting the study?
For instance, where the study
>> Martin Nollenburg: We made sure that the people who participated were not
graph drawing experts.
>>:
I just meant the people running the study.
>> Martin Nollenburg:
Yes.
>>: The people running the study [indiscernible] researching Lombardi
drawings.
>> Martin Nollenburg: That is true, but the participants did not really know
that, so we used some of our students, but they had no clue that I'm
researching Lombardi drawings, and I think that did not really make a big
difference here.
>>:
[indiscernible].
>> Martin Nollenburg:
>> Daniel Archambault:
>>:
Half of it, and half was online in U.K. and -- yeah.
Maybe one more.
The 72 stimuli, were they all the same for all the participants?
>> Martin Nollenburg:
Yes.
>>: How did you decide on the pairs of vertices and the relative positions and
how difficult it was to find those?
>> Martin Nollenburg: So they were selected in a way that the possible answers
spread nicely so you get shortest paths that have lengths. I don't think we
had length one, but two, three, four, five. Not longer than that for the
degree tasks, yeah, so this was ->>: So you had some idea of the difficulty of the tasks.
for this somehow?
>> Martin Nollenburg:
And did you control
No, I don't think we controlled for that.
Maybe.
18
>>: You described a high variance in the background of the individuals. Did
you study performance of the seven who had never seen graphs from those who
were very familiar?
>> Martin Nollenburg: So we also looked at these demographic differences. And
what was interesting is that those people who had never seen graphs before, you
could not see any significant differences between the -- for the performance
and also for the preference. The same is, I think, true for the female
participants.
>>:
Was one worse than the others?
>> Martin Nollenburg:
>>:
That I would need to check in the data.
That would be interesting.
Thank you.
Very good work.
>> Daniel Archambault: Thank you very much. Our next paper is circle
representations for simple four-regular planar graphs, and our speaker is
Michael Bekos.
>> Michael Bekos: My name is Michaelis Bekos, and this is joint work with
Chrysanthi Raftopoulou. And the talk has to do about circle representation of
simple four-regular planar graphs.
So I will try to define the problem by a very simple example. If one throws
some circles on the plane, which may intersect with each other or touch with
each other, and then if place vertices at the intersection, touching points of
the circles, then the result is a drawing of a four-regular planar graph, which
we call the system of circles.
And this is actually under the assumption of no three circles pass through the
same point. So 40 years, Lovasz conjectures that there the reverse procedure
is also possible. So every simple connected four-regular planar graph admits
such a realization as a system of circles. And this is exactly the problem
that we started.
So given a four-regular planar graph, the question is whether we can draw it on
the plane using a set of circles such that the vertices of the graph are the
intersection touching points of the circles, and the edges of the four-regular
planar graph are the [indiscernible] of the drawing.
19
And our contribution consists of two results, a positive one and the negative
one. The positive one suggests that every connected four-regular planar graph
admits a realization as a system of circles. And the negative result says that
existing [indiscernible] graphs that are not three-connected but simply
connected and do not admit realization as system of circles. And I will start
with the positive result.
So let's assume that we allow the circles only to cross, so we do not allow
intersecting circles. Then it's not difficult to show that so then it's not
difficult to show that the number of vertices of the input graphs would be
even, and this is because every pair of circles is going to view exactly two
vertices.
However, it is not that there exists four regular three planar connected graphs
that require an odd number of vertices, and this implies that the touching
points between the circles has necessary motive to generate the whole family of
graphs. What I will prove in the next couple of slides is that touching points
between the circles are also necessary in order to generate all different
three-connected four-regular planar graphs.
So for this particular case of touching points is the circle packing theorem,
also mentioned previously, which states that any simple planar graph can be
represented on the plane such that the vertices of the graph correspond to
disjoint disks and to this touch, with its [indiscernible], the corresponding
vertices are adjacent. And this particularly important that the input graph is
simple. So if, for example this exists a double edge between the vertices,
this implies that the corresponding circles here have to touch at two points,
and this is not feasible. And the same holds for self-loops.
No our case, angled graph is four-regular, which implies that it's Eulerian,
and for Eulerian graph, it is known that the dual graph is bipartite. So if we
place a vertex as its face of the input graph and connect vertices that
correspond to adjacent faces, then the resulting graph is dual.
And here we can color the faces of the graph using colors in the example blue
and white such that adjacent faces are of different color. Then we construct
an [indiscernible] graph to prime by placing a vertex at its [indiscernible]
phase and then we connect two vertices, if and only if the corresponding blue
faces meet at the vertex. So in this particular example, every blue face touch
20
every other blue face, and the result, the auxiliary graph is actually the
[indiscernible] graph.
What you have also proved is in the case where the input graph is connected,
the constructed graph to prime is simple, and we can apply the circle packing
theorem on it, and if we do so, every blue face will be transformed to a
circle, and two circles will touch a point if and only if their corresponding
face is met at the point, and this is exactly the realization that we want.
So by this simple algorithm, we have proved that every simple three-connected
four-regular planar graph admits a realization as a system of touching circles,
and this, of course, affirmatively answers the conjecture of Lovasz.
And now the negative result. But before I proceed with the proof of the
negative result, I will show you why the previous approach cannot be applied.
So this is a graph, biconnected graph which contains a separation pairs. The
faces of the graph are still two colorable, but if we construct the auxiliary
graph to prime, we observe here that, for example, this face and this face has
to touch at two points. So a double edge between the corresponding vertices
must be there, and the circle packing theorem cannot be applied.
So our idea to prove that there exists connected four-regular planar graphs
that do not admit realizations, a system of circles consists of three steps.
In the first step, we, in a sense, investigate a particular four-regular planar
graph that is the [indiscernible] graph, and we prove that it has finitely many
realizations of system of circles.
And in the second step, we augment the [indiscernible] graph by appropriately
attaching a [indiscernible] subgraph and thus you construct a graph which
contains cutvertices and separation pairs.
In the third step, we prove that this specific graph has no realization as
system of circles. In general, there exists several properties for a graph to
admit realization of the system of circles. One of these properties suggests
that two circles may have at most two vertices in common. So if the circle is
close, they contribute two crossing vertices. If the circle starts
[indiscernible] single vertex and if the circles are disjoined, then they do
not contribute any vertex.
If we [indiscernible] this property to the octahedron graph, this implies that
21
the realization of the octahedron graph can have at least, must have at least
three circles ask. This is because octahedron graph has six vertices.
Another property is that on
So if we have just a single
you have two vertices, then
simple graphs, this case is
every circle, there exists at least three vertices.
vertex implies that we have a [indiscernible]. If
we have a double edge. And since we consider
kind of [indiscernible].
Again, if we translate the property to the octahedron graph, we obtain the
realization that the octahedron graph has at most four circles, and this is
because the octahedron graph has 12 edges.
We can prove that the octahedron graph has exactly three realizations as a
system of circles. One realization is a system of intersecting circles and two
realizations, a system of touching circles, depending on whether the outer face
is bounded by a circle or not.
The gadget subgraph is what we use in order to augment the octahedron graph.
It's actually this graph, which is almost four-regular except from two
vertices, degree two, and can be easily constructed using two copies of the
octahedron graph and touch them on a simple skeleton graph. Actually, we split
the sets of the octahedron graph by placing an additional vertex and we
identify the additional vertex with the [indiscernible] two vertices of the
[indiscernible] graph.
And if it is particularly important here that the gadget subgraph has
cutvertices. And this implies that this skeleton graph can be drawn as two
tangent circles, and the circles that we need to realize the skeleton graph are
completely independent from the circles that we need in order to realize
octahedron graph.
So in order to augment the octahedron graph, we split every edge of the
octahedron graph by a path of length nine and then we use the new vertices here
as in points of the gadget subgraphs and we touch actually four copies of the
gadget subgraph. And this is a graph that we construct. It's a large graph,
consists of more than a hundred vertices. However, it's still highly symmetric
and the planarity implies that a pair of gadget subgraphs would be attached one
page of its edge and another one to the other side of its edge.
Then some geometry follows.
But the basic properties that in realization of
22
the augmented octahedron graph as a system of circles, the realization of each
gadget subgraph and the realization of the underlying octahedron graph are
really dependent. Which means that the circles that we need in order to
realize the octahedron graph and the circles that we need in order to realize
each gadget subgraph are independent.
However, we know that the octahedron graph has three different realization or
system of circles, and what we have to do is to appropriately attach the gadget
subgraphs along the circle [indiscernible] between the vertices.
Another property that we have [indiscernible] is that the note that the two
attached pairs of gadget subgraphs are [indiscernible] we need an arc length
more than pi. But for every of the different realization of the octahedron
graph system of circles, those arcs cannot have length more than pi. So we
have proven that this, the augmented octahedron graph does not admit a
realization on a system of circles.
Another proof that exists in [indiscernible] do not admit a realization of a
system of circles. We [indiscernible] rotation to the gadget subgraph. So to
construct the gadget subgraph, we use the octahedron graph. We have proven
that we can use the other three-connected four-regular planar graph and this
implies that there exists infinitely many graphs that do not admit realization
as system of circles.
What we have also proved recently, but is not part of this work is that for
biconnected graphs, there exist graphs that do not admit realization on a
system of circles. Of course, a decision problem is another problem. We have
also proved tight upper and lower bounds for a number of circles, and for the
case of three-connected four-regular planar graphs, we have created realization
of the maximum number of circles. So the realization with the minimum number
of circles are also important.
And another would be start the representation of even regular planar graphs.
And I think that's the end.
>> Daniel Archambault: Okay, great. Thank you for that presentation. I think
we have time for one or two questions while the next speaker sets up here. Any
questions? Yes?
>>:
There seems to be some similarity to David's talk in what you do with the
23
dual [indiscernible] can you comment on that?
>> Michael Bekos:
>>:
Similar with what?
With David's talk.
>> Michael Bekos: Oh, okay, yeah.
use the half dual and ->>:
It's more or less the same approach so you
I need this half dual to be three-connected, and you don't.
Thanks.
>> Daniel Archambault: Okay. Thank the speaker again. Now, our next talk is
smooth orthogonal layouts, and this presentation will be given by Michael
Kaufman, please.
>> Michael Kaufmann: Hello, everybody. So this is joint work with Michaelis,
again, that you know already, and Stephen Kobourov and Antonios Symvonis. And
since I liked Michaelis' template so, I borrowed his template, but I added some
symbol to indicate that this research was done when they all visited me.
I will start with a personal motivation for this problem and then explain what
it is. So when I worked on orthogonal drawing many years ago, in the '90s,
really serious, I always wanted to have a beautifier for it, and the beautifier
is I didn't like really the bends. So I tried to minimize, but I also wanted
to draw them like with round corners, not with sharp ends, but with round bends
and I called it a beautifier. And I was asking, kept asking my students please
provide me such a beautifier, software to do that, but they were refusing. And
finally, I gave up.
So I wanted to smooth the bends in some way. Why did I give up? So the usual
answer was, it's kind of trivial so you just replace the bend by a little curve
and that's it. So where's the task, where's the problem? Well, I couldn't
answer by that time where the problem is, but now is the time where, to see the
fun behind it.
And this is here. So now we have an orthogonal drawing, this, and we want to
convert it into something smooth. And then you really replace the bend by,
like, curves and, well, I still wanted to have orthogonal joint because I like
orthogonal joints so I insisted, but I didn't want Lombardi or stuff like that.
24
So I allow quarter circles, semi circles, and three quarter circles. You'll
see here a quarter circle and also a semi circle replacing that. So and why,
why is the right one kind of nicer than the left one. So we should have come
one an algorithm, with a model to measure this.
And so we introduced the notion of curve complexity. And curve complexity is
the number of -- how can you compare this. So we say count the number of
segments per age and curve complexity is the maximum number of such segments.
Well, the segments, so if you have two bends, you have three segments. In
orthogonal, it's clear. And here, it's also clear. So this is a segment, this
is a segment, this is a segment. So the right one has curve complexity one.
And it's drawn with curve complexity one. So it kind of better than the left
one in that sense. I mean, we allow more features now with the smooth -- we
allow quarter circles and so can this reduce the curve complexity?
Well, it's not clear. We have to still define the setting. Do we start with
an orthogonal layout, or should we start from scratch and draw the thing.
There are two approaches. Either given the layout, smooth it or given the
planar graph and draw it in a smooth way. And smooth is that also it's not
forbidden to have sharp bends, right. After the straight line segment, after
horizontal segment, you should have a little circle. Here's a negative result
that says it cannot always be done if you're on the first setting.
So there's an orthogonal drawing of a cube. If you take that and you want to
smoothen it, that means you replace the bend by a little circle, you get still
curve complexity two. So you didn't reduce it. Of course, there's, as I said,
in the second setting, you can do it like this. Curve complexity one. That's,
I think, a quite nice drawing of the cube.
What can be done in general. So look at this. We have a [indiscernible] edge
that indicates how to do it. Now we replace every bend by a little quarter
circle. Then, of course, from curve complexity K, we now add K minus 1
additional circle, little quarter circles that makes, increases the curve
complexity. So it's still a long way to go to increase -- to decrease it,
right.
First technique comes now. So by stretching the layout, you can reduce this
[indiscernible] of a factor of two to a factor of three half. So if you
stretch it, then every unit, every horizontal unit, so here the problem is that
25
what I want is I want to save vertical segments, all vertical segments. And by
stretching it horizontally, that makes -- then it enables me to make the
circles larger until they touch. And then the vertical segments are gone.
So I'll say half of -- all the vertical segments. It's quite nice. It's a bit
of an improvement. And it's a general technique. So if you would have three
segments, like horizontal, vertical, horizontal, and you want to do it smooth,
we would have five smooth segments. Then if you stretch it, we end up with
four smooth segments. Just to have an example.
So at the moment, we have -- if we have only one bend, we can always do it like
by just stretching. We can save the vertical segment. So we end up with a
horizontal and a curve. Complexity two. Before, it was also complexity two.
One bend.
So one bend layouts can be converted into layouts of curve complexity two.
Here's another little observation that shows that you might get exponential
explosion by doing this. So look at this graph and let's start here and we
have a chain, a vertical chain and a horizontal chain of, let's say, N
vertices. And every pair is connected either by a vertex or by just an edge.
The next one is a vertex and then an edge.
And now we want to replace this by a curve. You see here, here if you place it
by a circle, this comes already very close to here. And the next one, if you
would replace it by a circle, it would intersect here. So you have to stretch
it a little bit. And you have to stretch it by a factor of square root of two.
So every other step, if you have a blow-up of square root of two. That means
for that, this example shows that you might get exponential area by using
curves and insisting of a minimal number of -- minimal curve complexity.
So what we just want to come closer to our goal to reduce the curve complexity
or the curve complexity of the orthogonal drawing.
So here are some more examples that we thought that are nice. So some platonic
solids. And the first three look quite okay. So this is [indiscernible].
This is octahedron, and this is already not so nice anymore. And as you see,
it was already a bad example in Michaelis' talk. You see here, we were not
able to draw it with just curve complexity one. And we found a formal proof
why it's not the case. And that's a small graph. You just have to check a few
26
cases and argue why it's the case.
An algorithm, so algorithm for smooth orthogonal drawings. The good old
Biedl/Kant algorithm is a nice algorithm for orthogonal drawings. With a small
number of ends per edge. So it produces two bends per edge, except of one
edge. And you wanted to draw our -- you want to use such layouts and convert
it to smooth orthogonal bends.
So here's a little sketch of the algorithm. So what you do is you compute an
ST, assume biconnectivity. We are only do biconnectivity. And then so ST
number, in ST numbers, you have for every vertex except the source, think, you
have at least one incoming, one outcoming edge. It's oriented like this.
So the incoming normally comes from below, and the outgoing, at least if
there's one, goes above towards the top and if you have, for example, this one,
and you have three outgoing, then they go like this. And if it has three
ending, then they come from -- you place that one such that they really come
from the two sides and one just from the middle. Very easy.
Now, that makes two bends, except of one edge that you see on the left. Now,
we do that stretching again and save. I mean, when we just replace the bends,
the two -- the bends, we would have so three orthogonal segments and two bends,
which is five. Now we replace the two horizontal segments by stretching the
thing vertically now. That saves the two horizontal segment and then we get
only three segments, two curves and one straight. It looks like one curve and
straight or one curve, straight and the ending curve, right.
So we could prove that for biconnected planar graphs, we use curve complexity,
can be drawn if it's curve complexity three. It's still not satisfying. We
want to be below three, because we have three for the orthogonal case. It's
not, still not really better.
We were successful to do that after the three. Then we have nor freedom and we
can prove that. But I don't want to go into detail about that.
One more thing that I didn't like in orthogonal -- in the traditional
orthogonal drawing is that what about higher degrees. If you have, in the
traditional orthogonal model, you have only four directions so you have this
restriction. And therefore, we worked in the past, almost 20 years ago, on
this Kandinsky model. And that was the very first drawing in the very first
27
paper.
And you see the vertices are now boxes, not just points. And edges go out to
several edges. They go out in parallel to one side. Now, if you want to have
this smooth now, so what can you do? And then I -- what do we know. And I
know this technique.
It turns out that it's quite applicable there. So what you do is let's say
this is Hamiltonean. We draw the Hamiltonean path like. Then, of course, that
separates the edges into top part and bottom part and then we just draw the
edges like this. Of course, sometimes it's just with semi circles. And, of
course, if it's not Hamiltonean, we have to use dummy vertices to make it
Hamiltonean, and then you might get something like, well, this was now
Hamiltonean. Then you have to cross that spine, maybe, and you might get such
a wave. But that's all.
So in that model, if you allow more, higher degree, then you can do curve
complexity two. Okay. That's almost the end.
Open questions are, there are a lot of open questions. What about the
complexity. We have no idea to determine the smooth curve complexity. Is it
hard to really minimize. We don't know about this. So if you have a two-bend
drawing given, can it be converted into a complexity two with just one straight
and one, like, curve at most.
And, of course, all practical issues. Implementations. How do you really -can it be used in practice, or evaluation, is was it just a fun project to work
on. And, of course, there are many more questions. Thank you.
>> Daniel Archambault: Thank you. We have time for one or two questions while
the next speaker's setting up. Will.
>>: So you're preserving the bedding of the orthogonal layout, or did you
preserve the position of the vertices but not the embedding. So could you use
three quarter circles. You can GAO either inside or outside, which would be,
like, your exponential area, which is not the true.
>> Michael Kaufmann: In that case, yes.
then you cannot switch. Joe.
But if you draw a boundary around,
28
>>: So [indiscernible] orthogonal drawing can be transformed into a smooth
complexity two and then use a corollary of both the complexity three for
orthogonal complexity four [indiscernible] smooth complexity four orthogonal
layout. I was wondering if you have an example of where you can not go from a
complexity three or orthogonal layout to a smooth complexity three orthogonal
layout.
>> Michael Kaufmann:
An example where we have two bends in the orthogonal.
>>: Where you have the three orthogonal layout, from the complexity three
orthogonal layout to the smooth complexity three orthogonal layout. Is there
something that ->>:
[inaudible].
>> Michael Kaufmann:
complexity three.
>>:
Two bends is
I think it's the same thing.
>> Michael Kaufmann:
>>:
No, no, he says if this is -- no.
It's the same.
Is it?
>> Michael Kaufmann:
>> Daniel Archambault:
Well, it would answer that.
Thank the speaker.
So the answer is no.
More?
Ooh, sorry.
>>: Have you thought about using ellipses instead of circles and that would
save you ->> Michael Kaufmann:
>> Daniel Archambault:
Oh, yeah.
Okay.
No, because I didn't like that.
Let's thank the speaker.
So our next talk is Drawing Metro Maps Using Bezier Curves, and Martin Fink
will be giving the presentation.
>> Martin Fink: Okay. Thank you. So this is a joint work with Herman
Haverkort, Martin Martin Nollenburg, Alexander Wolff, Julian Schuhmann, a
29
student in Pittsburgh, and Max Roberts.
So as you can see, it's about metro maps. We have this famous octilinear style
drawings. This is actually computer generated by the mixed integer program of
mar ten and Sasha. There are other works like the ones from like the ones from
Hung, et al., or Stott, et al. So this is well studied. We want something
else. We want drawings like this. No straight line segments just curves. All
the lines are curvy.
This is a drawing that is created by our co-author, Max Roberts. He's a
psychologist who is interested in metro maps and he's also an artist so he
creates them himself.
So let me explain why we want such drawings. We want to compare them against
octilinear drawings. In octilinear, we have the metro lines which consists of
several straight line segments. So we have polylines. There are bends. At
some points there are also bends inside stations. The drawings are very
schematized. So we just have four possible slopes or H directions so that's
why it's called octilinear. In contrast, our curvy drawings have lines that
consist of several curves. In our case, we use Bezier curves.
The consequence is that the lines are very smooth, so easy to follow. No bends
inside stations. So there was a user study from Roberts, et al., that
suggested that people that are actually faster planning their routes, planning
their trips with such curves. Also, people said they still preferred the
classical octilinear maps in contrast to that.
Okay. Also, these maps took more artistic, like the one I showed you. That
follows also a demand of Peter Eades from 2010 from the final talk. So this is
also nice.
Okay. Now, let's go into details. We need to know about Bezier curves. I
think everyone has heard about these. They are just parametric curves. We use
cubic Bezier curves. I don't want to go into details with formulas so please
don't look at this. The important thing is that we have four points, two end
points, P and Q. Two control points, P prime, Q prime. They define a curve.
Very important for us is this. At a vertex, we have a tangent, which is the
direction between the point and the next control point, and the curve leaves
the vertex exactly in this direction.
30
We want to make use of this, and we do it in the following way. Imagine there
is some station, some vertex, there is some edge so some part of a metro line
on which some train can leave the station in this direction. Then we reuse
this tangent for another edge, like this, and then the line goes smoothly
through the station.
Of course, we can also have splittings of metro lines. There can be several
metro lines that should touch in this station so this is really useful for us.
And we use this as follows. We don't model the
prime, Q prime, by their coordinates. We model
tangent, and the distance between the point and
direction. So these are the two parameters for
points, the control points, P
them by the direction, the
the control point in this
us.
Okay. So there was some previous work using Bezier curves in this context.
One was by Brandes, Shubina, Tamassia, Wagner in 2001. Also, in some other
constellations. They use Bezier curves for visualizing train connections.
Especially for having nice angular resolution. What they didn't do was they
didn't move vertices, so this is really a geographic map with Bezier curves as
an overlay.
Some other -- okay, sorry. We also use the sharing of tangents, which they
didn't do. And, of course, we moved the vertices. Another work was by Finkel
and Tamassia. They had a force-directed algorithm for drawing graphs, not
metro maps, with Bezier curves. But they used some different style, different
idea. Their control points are actually vertices. So they are added to the
graph with some extra constraints, extra edges. But then they can use some
classic force-directed algorithm and get some drawing for this and then
retransform it into a drawing with Bezier curves.
Of course, we use something different. We also use a force-directed algorithm,
but our algorithm knows about the Bezier curves. It knows about our model of
the control points and uses the tangents very much. So this is quite
differently.
Okay. So as I told you, we use Bezier curves for representing the edges. We
use some force-directed approach. So instead of just having forces that try to
move vertices, we also have forces that try to change the shape of a curve.
We will see this.
Let me first show you how we start.
For any force-directed
31
algorithm, we need some initial layout, and we want some nice layouts. So
let's suppose we have a metro map. We have some geographic plan, like with
polylines for the metro lines. And now we first transform this into a straight
line drawing just by forgetting about all the details on lines. We just use
the straight line connections between the geographic positions.
Of course, there are some crossings. The crossings also existed before. So it
doesn't matter. And we now transform this crossing into a dummy vertex so that
we have a planar drawing.
And now the idea is to skip the first transformation and just use some
octilinear drawing. The official metro map some generate metro map. And
later, it also turned out that this actually creates nicer results. So because
we have a nicer initial drawing.
And now that we have a straight line planar drawing, we need to transform this
into a drawing with curves. This step is actually a bit exaggerated. What we
do is we look at this point. We have this green line crossing the station.
Then we choose some tangent which should be close to these two directions and
we place the control points very, very close to the station. So we actually
still have the -- almost have the straight line drawing. We don't get
crossings, because we place these control points so close to the vertex. But
we have these common tangents.
Okay. This is our initial drawing. Now let me quickly explain the basic idea.
We use the force-directed approach, which should be clear to everyone. So
while the drawing doesn't change too much, so there is only very small
displacement.
Then we stop, we do some transformations and after this, we also have some
post-processing, which tries to smooth the drawing additionally. So inside we
have some computation of forces that try to change the drawing. We apply these
forces, we apply some additional simplification, and more precisely, here we
compute forces and then they sum up to desired changes. One thing is that we
have displacement for vertices, and we have some changes on curves. That is,
we have rotations on tangents and we have changes of distances between points
and control points.
In the next step, we want to apply the forces. Here we have to be careful,
because we can easily get crossings. So at some point, we cannot simply an I
32
ply the desired changes as they are. And then, finally, in one iteration, we
apply some simplification. That is, we merge some curves, two curves into one
so that we have lower complexity and we have a smoother drawing.
And something similar is done after the last iteration. We also do this around
vertices of degree four. So that the vertex becomes a crossing of two curves,
which additionally smooths the drawing.
Okay. Now, let's go into details. We start with the forces. For the
vertices. This is very much standard. We have repulsion between vertices. We
have attraction between adjacent vertices, and we just use standard forces
like -- we use the one from the Fruchterman Rheingold algorithm. We use the
nice properties of this, because we -- these forces knows about some desired
edge length and we place this so that it is set according to the number of
intermediate stops. So like here, we have two stops, three segments. So this
edge should be three times as long as some edge between just two stations.
Because the number of intermediate stations normally is a good indicator for
traveling time.
Okay. Additionally, we have some other force. We have attraction of vertices
on to the geographic position, which is useful because we want to see a station
on the map close to its precision. It can be moved, but it should not be too
far away so that users can find them on the map.
So let's go to the new forces. They are forces that try to change the shape of
a curve. Let's look at such a curve here. The control points are very close
to the end points of the curve. This is not nice. We have this, like, kind of
sharp bends here. On the other hand, if the control points are far away, the
curve becomes very long. If they are farther away, it can even be generated
without -- with a self-intersection. We also don't like this. We want
something like this. And as a compromise, it turned out that a good criterion
was looking at the distance between the vertex and its close control point and
the distance between the vertices and the ratio should be approximately one
over three.
We do this by adding a force which is also similar to the Fruchterman Rheingold
forces for attraction or repulsion between adjacent vertices. So we kind of
have a spring force between the control point and the vertex. Of course, this
is a one-dimensional force so we just are on this tangent. And this desired
length is one third of this length.
33
Okay. Another thing that we want to do is we want to straighten curves.
like here, this is not nice with these changes of direction. We prefer
something like this or even more towards a straight line segment.
So
This is easy to explain, because a straight line segment is the less complex
Bezier curves. We do this by having two forces, one tries to move a vertex V
towards the tangent, and this position here is actually determined looking at
this distance, which corresponds to the desired edge length. So we just
attract this vertex towards this point.
Another thing that is we want to change the tangent. We do this by looking at
this angle. The desired tangent should be just the straight line through the
vertex and the other end vertex. So we have this desired rotation by the angle
alpha. Here we have to be a bit careful how to add up these forces. Suppose
we some suggestion like this. These two edges share the tangent. They have
desired changes, but this edge is much longer.
So a better desired change than just evening out would be that we still move
towards this direction because this long edge is kind of important. We use
something similar to the law of the lever so we have some weighting of these
desired changes, these desired rotations by this distance, the distance between
control point and end point. So this would be the resulting rotation.
Okay. And the final force is one trying to improve the angular resolution.
Here it's very small, as you can see here. We want something like this, and to
this end we look at the, again at the angles between tangents and at just a
repulsion between the tangents where the force is something similar to one over
alpha. So it's stronger if the angle is small.
Okay. So now that we have the forces, we also have to think about avoiding
intersections. I will only give the short idea so we don't want intersections
when applying these desired changes to this, and we just use smaller vectors,
but we don't change the directions until we have some crossing free new
drawing.
Okay. Now, the additional step is this merging of curves. The simplification
step. Here we have two curves. There's a line just going through this
station. It should look smoothly so we can't just say, okay, let's keep these
control points, have this curve, and just say okay, this is a vertex which is
34
not represented in the graph. We just know that it's there on this edge and we
can add it in the final drawing.
We could also move these control points a bit to avoid crossings, but in our
tests, it turned out not to be necessary. So it almost always worked with the
simple approach.
So similar to this, we can also try to do this when we have such a crossing.
So we have one line and another line crossing in a station. You can try to
merge these two curves into one curve. The same for the other two curves, and
then our vertex becomes a crossing.
Of course, we have to be careful, because the ratio of this length and this
length should approximately be kept. We don't want additional crossings, just
that one.
So here, it was actually necessary to move the control points a bit away from
their original positions, and we got many additional constraints like the ones
I told you about the ratio between edge length. We can also have additional
crossings here, which are stations.
So this didn't work well inside the algorithm. We use a lot of flexibility and
the drawing more or less then stays the same. So we just do this once after
the last iteration.
Okay. Now, let me show you some testing result. This is Vienna. This is the
octilinear map. We start with this, we transform it and we perform our
algorithm in this case with without merging edges. This results in a quite
complex drawing with 90 curves, which is not so nice. Then we add our step of
merging curves. We just have 25 curves. It already looks much nicer.
Now if we apply this merging in such interchange stations, we just have nine
curves, so the drawing is really much nicer than before.
Let me just show you some additional results for Montreal, for Sydney, and
finally for London in contrast to what we've seen in of the introduction. So
here we can see there are still some problems inside dense regions in the city
center while it's better outside or at the boundary.
So we've seen it works well in sparse regions.
It doesn't work so well in the
35
center. Minimizing number of curves is very important and the thing is I don't
think that there is much more room for improvement with just local changes with
the force directed approach. So we should try something else, some global
optimization.
Okay.
That's it.
Thanks for your attention.
>> Daniel Archambault:
Okay.
Thank you, Martin.
Do we have a few questions?
>>: So I have more of a philosophical question. These experiments, they're
experiments that show that human eye [indiscernible]. So if you want to
understand whether there is [indiscernible] two vertices, you tend to follow
the straight line.
>> Martin Fink:
Yes.
>>: And also other talks in this session seem to say that somehow straight
line drawings prevail in terms of the usability to answer specific queries from
the point of view of the user. I agree that curves are nicer to look at. But
the metro map is something you want to use when you go around.
So is there any study that says that curves are, indeed, more useful or more
practical.
>> Martin Fink: There is the user study I mentioned in the introduction by Max
Roberts and others. He gave the participants the question what's the fastest
way from A to B. Some marked locations. Ones with a map with curves and ones
with some octilinear map. And in their experiments, it turned out that people
were faster with curves.
They still said they didn't like the curves so much, but that's just a
contradiction. Maybe they are just not used to them.
>>: [indiscernible] highly complicated model, a force model. I'll wondering
how long it took you to come up with this. You must have tried some forces and
then tried some different ones. What's the length of the time to prepare this,
as it must have been very complicated.
>> Martin Fink: Yes. So actually, we started at a [indiscernible] seminar,
which was in, I think, December, 2010. So there was Max Roberts around. There
36
was Martin around. So that's when it started, yeah.
testing needed some time.
But you're right, the
Actually, the co-author, Julian Schuhmann was a bachelor student, so he did the
implementing and testing as part of his bachelor thesis.
>>:
I think it's an incredible effort.
>> Daniel Archambault:
speakers again.
Okay.
Any more questions.
If not, let's thank all the
Download