Studies of Euler diagrams/find segments
Appearance
This page uses the Python library discrete helpers. |
|
The function find_segments
is an attempt to automate most of the thinking that goes into the drawing of an Euler diagram.
It lists all found segments by dimension:
- 0-dimensional: cells
- 1-dimensional: borders between cells
- n-dimensional: crossings of n borders surrounded by 2n cells
Multicrossings are crossings of n borders surrounded by less than 2n cells.
Finding them as well is a problem to be solved.
This does not help to find gapspots. E.g. for functions like selera only the cells are found.
kisago
[edit | edit source]Euler diagram |
---|
segments |
---|
########################## 0 {'+−−−': [1], '−−+−': [4], '+−+−': [5], '−++−': [6], '+++−': [7], '−−−+': [8], '+−−+': [9], '−+−+': [10], '++−+': [11], '−−++': [12]} ########################## 1 A {'0−+−': [4, 5], '0++−': [6, 7], '0−−+': [8, 9], '0+−+': [10, 11]} B {'−0+−': [4, 6], '+0+−': [5, 7], '−0−+': [8, 10], '+0−+': [9, 11]} C {'+−0−': [1, 5], '−−0+': [8, 12]} D {'+−−0': [1, 9], '−−+0': [4, 12]} ########################## 2 A,B {'00+−': [4, 5, 6, 7], '00−+': [8, 9, 10, 11]} |
logota
[edit | edit source]Euler diagram |
---|
segments |
---|
########################## 0 {'+−−−': [1], '++−−': [3], '−−+−': [4], '+−+−': [5], '−+−+': [10], '++−+': [11], '−−++': [12], '−+++': [14]} ########################## 1 A {'0−+−': [4, 5], '0+−+': [10, 11]} B {'+0−−': [1, 3], '−0++': [12, 14]} C {'+−0−': [1, 5], '−+0+': [10, 14]} D {'++−0': [3, 11], '−−+0': [4, 12]} |
medusa
[edit | edit source]Euler diagram |
---|
segments |
---|
########################## 0 {'−−−−': [0], '+−−−': [1], '−+−−': [2], '++−−': [3], '−−+−': [4], '+−+−': [5], '−++−': [6], '+++−': [7], '−−−+': [8], '+−−+': [9], '−+−+': [10], '−−++': [12], '−+++': [14]} ########################## 1 A {'0−−−': [0, 1], '0+−−': [2, 3], '0−+−': [4, 5], '0++−': [6, 7], '0−−+': [8, 9]} B {'−0−−': [0, 2], '+0−−': [1, 3], '−0+−': [4, 6], '+0+−': [5, 7], '−0−+': [8, 10], '−0++': [12, 14]} C {'−−0−': [0, 4], '+−0−': [1, 5], '−+0−': [2, 6], '++0−': [3, 7], '−−0+': [8, 12], '−+0+': [10, 14]} D {'−−−0': [0, 8], '+−−0': [1, 9], '−+−0': [2, 10], '−−+0': [4, 12], '−++0': [6, 14]} ########################## 2 A,B {'00−−': [0, 1, 2, 3], '00+−': [4, 5, 6, 7]} A,C {'0−0−': [0, 1, 4, 5], '0+0−': [2, 3, 6, 7]} B,C {'−00−': [0, 2, 4, 6], '+00−': [1, 3, 5, 7], '−00+': [8, 10, 12, 14]} A,D {'0−−0': [0, 1, 8, 9]} B,D {'−0−0': [0, 2, 8, 10], '−0+0': [4, 6, 12, 14]} C,D {'−−00': [0, 4, 8, 12], '−+00': [2, 6, 10, 14]} ########################## 3 A,B,C {'000−': [0, 1, 2, 3, 4, 5, 6, 7]} B,C,D {'−000': [0, 2, 4, 6, 8, 10, 12, 14]} |
kimuri
[edit | edit source]Euler diagram |
---|
segments |
---|
########################## 0 {'+−−−': [1], '−+−−': [2], '−++−': [6], '+++−': [7], '−−−+': [8], '+−−+': [9]} ########################## 1 A {'0++−': [6, 7], '0−−+': [8, 9]} C {'−+0−': [2, 6]} D {'+−−0': [1, 9]} |