Dada una triangulación de la superficie de un poliedro p
, calcule su Característica de Euler-Poincaré χ(p) = V-E+F
, donde V
está el número de vértices, E
el número de aristas y F
el número de caras.
Detalles
Los vértices se enumeran como 1,2,...,V
. La triangulación se da como una lista, donde cada entrada es una lista de los vértices de una cara, dada en el sentido horario o antihorario.
A pesar del nombre, la triangulación también puede contener caras con más de 3 lados. Se puede suponer que las caras están simplemente conectadas, lo que significa que el límite de cada cara se puede dibujar utilizando un bucle cerrado que no se cruza automáticamente.
Ejemplos
Tetraedro : este tetraedro es convexo y tiene χ = 2
. Una posible triangulación es
[[1,2,3], [1,3,4], [1,2,4], [2,3,4]]
Cubo : Este cubo es convexo y tiene χ = 2
. Una posible triangulación es
[[1,2,3,4], [1,4,8,5], [1,2,6,5], [2,3,7,6], [4,3,7,8], [5,6,7,8]]
Donut : Esta forma de rosquilla / toroide tiene χ = 0
. Una posible triangulación es
[[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]]
Doble Donut : Este doble donut debería tener χ = -2
. Se construye usando dos copias del donut de arriba e identificando los lados [1,2,5,4]
del primero con el lado [1,3,6,4]
del segundo.
[[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]]
(Ejemplos verificados usando este programa Haskell ).