Title: Generating Euler diagrams
1Generating Euler diagrams
Jean Flower and John Howse University of
Brighton, UK j.a.flower_at_brighton.ac.uk john.howse
_at_brighton.ac.uk Visual Modelling
Group www.it.brighton.ac.uk/research/vmg
2Background constraint diagrams
diagram
3Constraint diagrams
abstract diagram
concrete diagram
There are three contours graph, tree and
other, and four zones one outside all contours,
one just in graph, one in graph and tree and one
in all three contours, and one existential
spider...
4translation
abstract diagram
concrete diagram
read a diagram
There are three contours graph, tree and
other, and four zones one outside all contours,
one just in graph, one in graph and tree and one
in all three contours, and one existential
spider...
5Euler diagrams
abstract diagram
concrete diagram
read a diagram
graph
There are three contours graph, tree and
other, and four zones one outside all contours,
one just in graph, one in graph and tree and one
in all three contours.
tree
other
6Euler diagrams
abstract diagram
concrete diagram
read a diagram
A
B
There are three contours A, B, C and four
zones ,A,A,B,A,B,C
C
7Well-formed diagrams
8An algorithm
This paper presents work on an algorithm for
creating a well-formed Euler diagram from an
abstract Euler diagram. A central idea is that
of the dual graph of a concrete Euler diagram.
9The dual graph
10The dual graph
Notice dual edges AB,ABC or A,AB or
null, C Bipartite.
11Factoring abstraction
contours A, B, C zones , A, A, B, A, B,
C
12Factoring twice
contours A, B, C zones , A, A, B, A,
B, C
objective
strategy
nodes , A, A, B, A, B, C edges A,A,
B,.
13Factoring twice
objective
abstract Euler diagram
concrete Euler diagram
strategy
abstract dual graph
concrete dual graph
14The first inverse
objective
abstract Euler diagram
concrete Euler diagram
strategy
abstract dual graph
concrete dual graph
15Building an abstract dual graph
- Given a abstract Euler diagram,
contours A, B, C zones , A, A, B, A,
B, C
Nodes of the abstract dual graph match
zones Edges pair off nodes with labels differing
by a single letter
nodes , A, A, B, A, B, C edges
A,A,B, null, A,.
16Structure of dual graphs
17Connectivity conditions
- The dual of a concrete Euler diagram is always a
connected graph. - Also inside/outside a given contour.
18Connectivity conditions
contours A, B, C zonesnull, A, B, A,B,C
disconnected dual
undrawable abstract diagrams
19A more subtle example
contours A, B, C, D zones null, A, A,B,
A,B,C, B,C
disconnected outside A
undrawable abstract diagrams
20The second inverse
objective
abstract Euler diagram
concrete Euler diagram
strategy
abstract dual graph
concrete dual graph
21Planar dual graphs
- Dual graphs are planar graphs
(no edge-crossings) - Generated duals need plane representations
- Known algorithms - how to make use of rich dual
graph structure? (bipartite )
22Absent dual edges
shaded zones give dual nodes A,C, D and C,
D but the zones are not topologically
adjacent including all dual edges from
abstract dual yields a non-planar graph
A
B
D
C
We may have to remove some dual edges before
using the dual graph to draw an Euler diagram.
23The third inverse
objective
abstract Euler diagram
concrete Euler diagram
strategy
abstract dual graph
concrete dual graph
24From a concrete plane dual graph to an Euler
Diagram
25From a concrete plane dual graph to an Euler
Diagram
B
26From a concrete plane dual graph to an Euler
Diagram
B
C
27From a concrete plane dual graph to an Euler
Diagram
28From a concrete plane dual graph to an Euler
Diagram
A
29From a concrete plane dual graph to an Euler
Diagram
A
needs visual skill to manipulate contours
30(No Transcript)
31(No Transcript)
32Constructing contours from straight line segments
convex face
33Creating a dual with convex faces
AB
C
B
AC
B
A
C
A
ABC
C
A
C
null
34Creating a dual with convex faces
C
AC
AB
C
B
AC
A
B
A
C
A
ABC
C
A
null
C
null
35Creating a dual with convex faces
C
AC
AB
C
B
AC
A
B
A
C
A
ABC
C
A
null
C
null
A
AB
36Constructing inside arcs
C
AC
AC
AB
C
A
B
AC
A
B
A
C
A
ABC
C
A
null
AB
C
null
A
ABC
AB
37Constructing inside arcs
C
AC
AC
AB
C
A
B
AC
A
B
A
C
A
ABC
C
A
null
AB
C
null
A
ABC
AB
38Constructing inside arcs
C
AC
AC
AB
C
A
B
AC
A
B
A
C
A
ABC
C
A
null
AB
C
null
A
ABC
AB
39Inside arcs
A
A
C
C
A
B
null
A
C
B
C
40Constructing outside arcs
C
C
A
B
null
A
B
41Constructing outside arcs
A
null
A
42Constructing outside arcs
null
43(No Transcript)
44Word conditions in faces
avoid construction of new zones
45Word conditions in faces
- triple point problems
- will occur
- if
- reading around
- face boundary gives
- ABCABC
- also avoid AFFBCADEDEBC etc.
46Word conditions in faces
- If a word-obstruction appears in a planar dual
graph, is it worth trying to come up wth a
different planar representation without the
word-problem? - Can these word-obstructions be resolved in any
way?
47Overview
objective
abstract Euler diagram
concrete Euler diagram
convex faces boundary words
connectivity issues
strategy
abstract dual graph
concrete dual graph
planarity issues
48Questions and current work
Whats the best planarising algorithm for an
abstract dual graph? How can we overcome the
fact that the word-conditions are a feature of
the plane dual, and not a feature of the abstract
dual? How can we make the outcome look
nicer (less convoluted - easier to read by eye)