interactive visual classification with euler diagrams

Post on 23-Mar-2016

71 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

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. Overview . Classification Problem - PowerPoint PPT Presentation

TRANSCRIPT

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.

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

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

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

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

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}

Andrew Fish, University of Brighton, UK 7

Euler Diagram Problems: static

Concrete EDAbstract ED/ Set System

Abstraction

Generation

Andrew Fish, University of Brighton, UK 8

Euler Diagram Problems: dynamic

Concrete EDAbstract ED

Abstraction

Generation

TransformationsTransformations

Andrew Fish, University of Brighton, UK 9

Euler Diagram Problems: dynamic

Concrete EDAbstract ED

Abstraction

Generation

TransformationsTransformations

Wellformedness conditions

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

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

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

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

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

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.

Andrew Fish, University of Brighton, UK 16

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Andrew Fish, University of Brighton, UK 17

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Andrew Fish, University of Brighton, UK 18

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Link to Proof

Andrew Fish, University of Brighton, UK 19

Weakly reducible Euler Diagrams

ReducibleWeakly Reducible

Completely Reducible

WF Euler diagrams

?

?

Link to Proof

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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}

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}

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

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

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

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}

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}

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

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

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

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

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

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

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.

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

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

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

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

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

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

Andrew Fish, University of Brighton, UK 55

Complexity

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

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)

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)

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

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

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

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)

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

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…

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

Andrew Fish, University of Brighton, UK 65

BookmarkTags

66

EulerVC: skip slides; demo tool

Andrew Fish, University of Brighton, UK 67

EulerVC

Andrew Fish, University of Brighton, UK 68

EulerVC

Andrew Fish, University of Brighton, UK 69

EulerVC

Andrew Fish, University of Brighton, UK 70

EulerVC

Andrew Fish, University of Brighton, UK 71

EulerVC

Andrew Fish, University of Brighton, UK 72

EulerVC

Andrew Fish, University of Brighton, UK 73

EulerVC

Andrew Fish, University of Brighton, UK 74

EulerVC

Andrew Fish, University of Brighton, UK 75

EulerVC

Andrew Fish, University of Brighton, UK 76

EulerVC

Andrew Fish, University of Brighton, UK 77

EulerVC

Andrew Fish, University of Brighton, UK 78

EulerVC

Andrew Fish, University of Brighton, UK 79

EulerVC

Andrew Fish, University of Brighton, UK 80

EulerVC

81

EulerVC

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

Andrew Fish, University of Brighton, UK 83

Blank

top related