Data una triangolazione della superficie di un poliedro p
, calcola il suo Euler-Poincaré-Characteristic χ(p) = V-E+F
, dove V
sono il numero di vertici, E
il numero di spigoli e F
il numero di facce.
Dettagli
I vertici sono elencati come 1,2,...,V
. La triangolazione è data come un elenco, in cui ogni voce è un elenco dei vertici di una faccia, dato in senso orario o antiorario.
Nonostante il nome, la triangolazione può contenere anche facce con più di 3 lati. Si può presumere che le facce siano semplicemente connesse, il che significa che il confine di ciascuna faccia può essere disegnato usando un anello chiuso non autointersecante.
Esempi
Tetraedro : questo tetraedro è convesso e presenta χ = 2
. Una possibile triangolazione è
[[1,2,3], [1,3,4], [1,2,4], [2,3,4]]
Cubo : questo cubo è convesso e presenta χ = 2
. Una possibile triangolazione è
[[1,2,3,4], [1,4,8,5], [1,2,6,5], [2,3,7,6], [4,3,7,8], [5,6,7,8]]
Ciambella : questa forma di ciambella / toroide ha χ = 0
. Una possibile triangolazione è
[[1,2,5,4], [2,5,6,3], [1,3,6,4], [1,2,7,9], [2,3,8,7], [1,9,8,3], [4,9,8,6], [4,5,7,9], [5,7,8,6]]
Doppia ciambella : questa doppia ciambella dovrebbe avere χ = -2
. È costruito usando due copie della ciambella sopra e identificando i lati [1,2,5,4]
del primo con il lato [1,3,6,4]
del secondo.
[[2,5,6,3], [1,3,6,4], [1,2,7,9], [2,3,8,7], [1,9,8,3], [4,9,8,6], [4,5,7,9], [5,7,8,6], [1,10,11,4], [10,11,5,2], [1,10,12,14], [10,2,13,12], [1,14,13,2], [4,14,13,5], [4,11,12,14], [11,12,13,5]]
(Esempi verificati utilizzando questo programma Haskell .)