Transcript
Page 1: Interactive Visual  Classification  with Euler Diagrams

Interactive Visual Classification with Euler Diagrams

Gennaro Cordasco,Rosario De Chiara

Università degli Studi di Salerno, Italy

Andrew Fish*

University of Brighton, UK

*funded by UK EPSRC grant EP/E011160: Visualization with Euler Diagrams.

Page 2: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK

Overview

• Classification Problem– related Euler Diagram applications

• Diagram Abstraction Problem• Concepts needed– e.g. weakly reducible, marked points, …

• On-line algorithms – complexity analysis

• EulerVC application demo

2

Page 3: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 3

Classification Problem

• Resource classification is often challenging for users, and commonly hierarchical classifications are not sufficient for their needs.

• Free-form tagging approaches provide a flat space, utilising different tagging and visualisation mechanisms.

• What about using non-hierarchical classification structures, and what about the use of (Euler) diagrams…?

Page 4: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK

Related Euler Diagram Applications

• LHS [Inria]: Visualizing the numbers of documents matching a query from a library database, facilitating query modifications.

• RHS [Salerno]: File organisation with VennFS allows the user to draw Euler Diagrams in order to organize files within categories.

4

Page 5: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK

The main problem

• To compute the set of zones associated to a given collection of curves

• Zones are not so easy to describe, they can be non-convex, non-simply connected,…

• How to update the zone set when we add curves?

5

Page 6: Interactive Visual  Classification  with Euler Diagrams

6

Euler Diagram ExampleLHS: A concrete diagram with 4 contours (simple closed

curves in plane) and 6 zones (regions inside a set of contours and outside the rest).

RHS: Depicts the abstract diagram/set system, which is the abstraction of the LHS: d= {A,B,C,D}, {∅,{B},{C},{D},{A,B},{B,C}}

ABC

D{A,B}

{B} {B,C}

{C} {D}

Page 7: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 7

Euler Diagram Problems: static

Concrete EDAbstract ED/ Set System

Abstraction

Generation

Page 8: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 8

Euler Diagram Problems: dynamic

Concrete EDAbstract ED

Abstraction

Generation

TransformationsTransformations

Page 9: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 9

Euler Diagram Problems: dynamic

Concrete EDAbstract ED

Abstraction

Generation

TransformationsTransformations

Wellformedness conditions

Page 10: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 10

ED wellformedness conditions • contours are simple closed curves,

each with a single, unique label; • contours meet transversely (so no

tangential meetings or concurrency) and at most two contours meet at a single point;

• zones cannot be disconnected– i.e. each minimal region is a zone.

• Or, if you prefer… wellformed Euler diagrams can be thought of as “simple Euler diagrams”; i.e. simple Venn diagrams where some regions of intersection can be empty/missing”.

Page 11: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 11

Fast Diagram InterpretationGiven a wellformed concrete Euler diagram d:1. compute the abstract Euler diagram for d

A

B

4 Zones:{A}{A,B}{B}∅

Page 12: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 12

Fast Diagram InterpretationGiven a wellformed concrete Euler diagram d:1. compute the abstract Euler diagram for d 2. evaluate if the addition of a new contour or removal of an

existing contour yields a wellformed diagram (and update the abstract diagram accordingly).

A

B

A

B

C

C

Page 13: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 13

• On-line approach– We consider the diagram construction using the

natural operations of contour addition/removal.

Fast Diagram Interpretation

A

B

A

B

A

C

B

C

Timeline

Page 14: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 14

• On-line approach– We consider the diagram construction using the

natural operations of contour addition/removal.– What class of diagrams is this?

Fast Diagram Interpretation

A

B

A

B

A

C

B

C

Timeline

Page 15: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 15

Weakly reducible Euler Diagrams• Reducible Venn diagrams [e.g. see Ruskey 97]

– the removal of one of its curves yields a Venn diagram

• Reducible Euler diagrams– the removal of one of its curves yields a WF Euler diagram

• Completely reducible Euler diagrams – There is a sequence of curve removals that yields the empty

ED through WF diagrams (or a sequence of curve additions from the empty ED).

• Weakly reducible Euler diagrams – There is a sequence of curve removals and additions that

yields the empty ED through WF diagrams.

Page 16: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 16

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Page 17: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 17

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Page 18: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 18

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Link to Proof

Page 19: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 19

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Link to Proof

Page 20: Interactive Visual  Classification  with Euler Diagrams

20

Wellformedness online verification• Theorem 1: Let d = C, Z, be a weakly reducible Euler

diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components– ip(d) denotes number of intersection points

1 component6 intersection points 1+6+1=8 zones

2 component2 intersection points 2+2+1=5 zones

3 component4 intersection points 3+4+1=8 zones

Page 21: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 21

Wellformedness online verification• Theorem 1: Let d = C, Z, be a weakly reducible Euler

diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components– ip(d) denotes number of intersection points

• Proof: by induction for single component case– Use that the addition of a new contour generates x > 1 intersection points splitting the new contour into x segments, each of which splits a different zone (otherwise the component was not connected) and so we have x new zones.

A

Page 22: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 22

Wellformedness online verification• Theorem 1: Let d = C, Z, be a weakly reducible Euler

diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components– ip(d) denotes number of intersection points

• Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iff d+A satisfies the “zones condition” above.

A

Page 23: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 23

Wellformedness online verification• Theorem 1: Let d = C, Z, be a weakly reducible Euler

diagram, then |Z| = ip(d) + cc(d) + 1 where – cc(d) denotes the number of components– ip(d) denotes number of intersection points

• Corollary of Proof: The addition of a simple closed curve A to a weakly reducible diagram d which only meets d in transverse intersections at points which are not intersection points of d yields a WF Euler diagram iff d+A satisfies the “zones condition” above.

• The point(s): – We have enough points to “mark” the zone set– Can check wellformedness after curve addition by counting

A

Page 24: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 24

Euler Diagram Abstraction

For our interface, we want both:– Quick construction method– Quick interpretation method

So, we consider the use of ellipses.Given two ellipses A and B, one can quickly find:

– their intersection points (in particular, since in a wellformed diagram tangential points are not allowed, we will have 0, 2 or 4 intersection points);

– their relationship (that is, if they overlap, if one is contained in the other or if they are disjoint)

Page 25: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 25

Marked Points• We can represent each zone of d using a single marked

point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

A

B

C

D E

2( )m x m R ( ) ( )m x cl zm

Page 26: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 26

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

2( )m x m R ( ) ( )m x cl zm

Page 27: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 27

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

2( )m x m R ( ) ( )m x cl zm

Page 28: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 28

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

2( )m x m R ( ) ( )m x cl zm

Page 29: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 29

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

2( )m x m R ( ) ( )m x cl zm

Page 30: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 30

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the

closure of z.

2( )m x m R ( ) ( )m x cl zm

Page 31: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 31

Marked Points

A

B

C

D E

• We can represent each zone of d using a single marked point; that is, we associate to each zone z Z(d) a single point such that where cl(z) is the closure of z. And we can update this set of marked points appropriately upon the addition or removal of curves.

2( )m x m R ( ) ( )m x cl zm

Page 32: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 32

Ellipse Addition

A

B

C

D

d

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Page 33: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 33

Ellipse Addition

A

B

C

D

d

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}}

Page 34: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 34

Ellipse Additiond is a wellformed diagram

A

B

C

D

d

Zd={, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {C,D}, {A,B,C}}

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Page 35: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 35

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse Addition

A

B

C

D E

x1

x2

x3

x4x5

x6

d

Compute E's relationship with d

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Page 36: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 36

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse Addition

A

B

C

D E

x1

x2

x3

x4x5

x6

d

Is d +E wellformed ?

By using Thm 1

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Page 37: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 37

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse AdditionCompute Split zones

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Each arc splits exactly one zone

A

B

C

D E

dx2

x3

x4x5

x6

x1

Page 38: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 38

Compute Split zones

Split Zones={, {C}, {B,C},{B},{A,B},{A}}

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse Addition

A

B

C

D E

dx2

x3

x4x5

x6

x1

Each arc splits exactly one zone

Page 39: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 39

Generate new zones

Split Zones={, {C}, {B,C},{B},{A,B},{A}}New Zones={{E}, {C,E}, {B,C,E}, {B,E}, {A,B,E}, {A,E}}

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse AdditionZd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

A

B

C

D E

dx2

x3

x4x5

x6

x1

Page 40: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 40

Update marked points

Points x2 and x3 are swapped with y1 and y2, respectively. For instance, y1 previously marking {C} in d now marks {C,E}, whilst {C} is marked by x2.

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse Addition

A

B

C

D E

x1

x2

x3

x4x5

x6

d

y1

y2

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Page 41: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 41

Update covered zones

Zones {A,C} and {A,B,C} are not split and their marking points, y3 and y4, are in interior(E), so these zones need to be updated and become {A,C,E} and {A,B,C,E}.

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

Ellipse Addition

A

B

C

D E

x1

x2

x3

x4x5

x6

d

y1

y2y3

y4

Zd={,{A},{B},{C},{A,B},{A,C},{B,C},{C,D},{A,B,C}}Cont(E)=Over(E)={A,B,C}Inter(E)={x1,x2,x3,x4,x5,x6}

Page 42: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 42

Ellipse Additiond+E is a wellformed diagram

Zd+E={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

A

B

C

D E

Page 43: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 43

Ellipse Additiond+E is a wellformed diagram

Zd+E={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagram

A

B

C

D E

dx2

x3

x4x5

x6

x1

Skip Ellipse Deletion

Page 44: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 44

Ellipse Removald=d+E

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

C

Page 45: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 45

Ellipse Removald=d+E

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}

A

B

C

D E

d

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

C

C

C

C

Cx1

x2

x3

x4x5

x6

Page 46: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 46

Ellipse Removald is a wellformed diagram

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

C

Page 47: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 47

Ellipse RemovalCompute C’s relationship with d-C

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

Cz2

z3

z4

z5

z6

z1

Page 48: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 48

Ellipse RemovalIs d-C wellformed?

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

Cz2

z3

z4

z5

z6

z1

Only disconnected zones need to be checked.

Page 49: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 49

Compute Split zones

Split Zones={ ,{B}, {E}, {A,E}, {B,E}, {A,B,E}}

Ellipse Removal

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

Cz2

z3

z4

z5

z6

z1

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Each arc splits exactly one zone

Page 50: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 50

Merge zones

Ellipse Removal

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

Cz2

z3

z4

z5

z6

z1

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Each arc splits exactly one zone

Page 51: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 51

Ellipse RemovalRemove marked points that belong to C

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

Cz2

z3

z4

z5

z6

z1

Page 52: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 52

Ellipse RemovalRemove marked points that belong to C

Zd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Remove a

contour C

Compute C's

relationship with d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

C

Page 53: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 53

Update covered zones

Zone {C,D} is not split by C and its marked point is in interior(C), so it needs to be updated and it becomes {D}.

Ellipse RemovalZd={, {A}, {B}, {C}, {E}, {A,B}, {A,E}, {B,C}, {B,E}, {C,D}, {C,E}, {A,B,E}, {A,C,E}, {B,C,E}, {A,B,C,E}}Cont(C)=∅Over(C)={A,B,E}Inter(C)={z1,z2,z3,z4,z5,z6}

Remove a

contour C Compute

C's relationship with

d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

A

B

C

D E

C

C

C

C

C

Page 54: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 54

d-C is a wellformed diagram

Ellipse Removal

Remove a

contour C Compute

C's relationship with

d-C

Is d - C wellformed

?

Remove C from d Compute

Split zones

MergeZones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

C

C

d -C is a wellformed diagram

C

C

C

C

C

Zd-C={, {A}, {B}, {E}, {D}, {A,B}, {A,E}, {B,E}, {A,B,E},}

A

B

D E

Page 55: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 55

Complexity

• Ellipse addition and removal algorithms are similar and their complexity is

Page 56: Interactive Visual  Classification  with Euler Diagrams

56

Complexity

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

For each other curve, compute intersection points with E; if curve C disjoint then check if marked point for C is in interior (E)

Page 57: Interactive Visual  Classification  with Euler Diagrams

57

Complexity

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

Check no tangential/triple points created. Check WF using the number of intersection points of E with other curves (Thm 1)

Page 58: Interactive Visual  Classification  with Euler Diagrams

58

Complexity

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

a) Each arc splits exactly 1 zone

b) # arcs = O(|C|)c) Consecutive

arcs split zones which differ by one exactly contour, so we order the points of inter(E).

Page 59: Interactive Visual  Classification  with Euler Diagrams

59

Complexity

Draw a new

contour E Compute

E's relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

Add E to split zones

Page 60: Interactive Visual  Classification  with Euler Diagrams

60

Complexity

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

Iterate through Inter(E) and perform set membership check

Page 61: Interactive Visual  Classification  with Euler Diagrams

61

Complexity

Draw a new

contour E

Compute E's

relationship with

d

Is d +E wellformed

?

Add E to d

Compute Split zones

Generate new

Zones

Update Marked Points

Update covered Zones

Cont(E)Over(E

)Inter(E)

Reject A

noyes

d is a wellformed diagram

E

EE

E

E

d +E is a wellformed diagramO(|C|)

O(|C|)

O(|C| log |C|)O(|C|)

O(|C|)

O(|Z|)

Iterate through non-split zone set and check if their marked point is in interior(E)

Page 62: Interactive Visual  Classification  with Euler Diagrams

62

A naive approach

Draw a new

contour E

A new contour

is added

Duplicate each zone

Check Zones

d is an Euler diagram

E

E

O(1)

O(|Z|)

O(|Z|f(|C|))

O(|Z|f(|C|))

f(|C|) = time needed to check if

a given zone is present in d + E

Page 63: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 63

EulerVC

• As a proof of concept we have implemented the algorithms as general purpose Java library– And used it to build a small application which

allows users to use Euler Diagrams to classify internet bookmarks on their desktop, or on Delicious…

Page 64: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 64

“Delicious is a social bookmarking web service for storing, sharing, and discovering web bookmarks” (from Wikipedia)

– Users can tag each of their bookmarks with freely chosen index terms

Page 65: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 65

BookmarkTags

Page 66: Interactive Visual  Classification  with Euler Diagrams

66

EulerVC: skip slides; demo tool

Page 67: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 67

EulerVC

Page 68: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 68

EulerVC

Page 69: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 69

EulerVC

Page 70: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 70

EulerVC

Page 71: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 71

EulerVC

Page 72: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 72

EulerVC

Page 73: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 73

EulerVC

Page 74: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 74

EulerVC

Page 75: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 75

EulerVC

Page 76: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 76

EulerVC

Page 77: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 77

EulerVC

Page 78: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 78

EulerVC

Page 79: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 79

EulerVC

Page 80: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 80

EulerVC

Page 81: Interactive Visual  Classification  with Euler Diagrams

81

EulerVC

Page 82: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 82

Conclusion• Algorithms developed to solve the on-line diagram

abstraction problem.• EulerVC application constructed useful for:

– User classification of resources (requires user testing…)– Exploratory research of diagram properties like weak

reducibility (see Symmetric Venn(5) with Ellipses)

• Future plans: – Handle NWF cases by extending the use of marked pts– General resource handling (web pages, photos, files...) – Integration with EulerView idea (for larger scale)– Investigate diagram classes

Page 83: Interactive Visual  Classification  with Euler Diagrams

Andrew Fish, University of Brighton, UK 83

Blank


Top Related