Dada uma triangulação da superfície de um poliedro p
, calcule sua característica de Euler-Poincaré χ(p) = V-E+F
, onde V
é o número de vértices, E
o número de arestas e F
o número de faces.
Detalhes
Os vértices são enumerados como 1,2,...,V
. A triangulação é dada como uma lista, em que cada entrada é uma lista dos vértices de uma face, dada no sentido horário ou anti-horário.
Apesar do nome, a triangulação também pode conter faces com mais de 3 lados. As faces podem ser assumidas como simplesmente conectadas, o que significa que o limite de cada face pode ser desenhado usando um loop fechado sem interseção.
Exemplos
Tetraedro : Este tetraedro é convexo e possui χ = 2
. Uma possível triangulação é
[[1,2,3], [1,3,4], [1,2,4], [2,3,4]]
Cubo : este cubo é convexo e possui χ = 2
. Uma possível triangulação é
[[1,2,3,4], [1,4,8,5], [1,2,6,5], [2,3,7,6], [4,3,7,8], [5,6,7,8]]
Rosquinha : Essa forma de rosquinha / toróide possui χ = 0
. Uma possível triangulação é
[[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]]
Rosquinha dupla : essa rosquinha dupla deve ter χ = -2
. É construído usando duas cópias da rosquinha acima e identificando os lados [1,2,5,4]
da primeira com a lateral [1,3,6,4]
da segunda.
[[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]]
(Exemplos verificados usando este programa Haskell .)