Add tesseract example
authorVivien Maisonneuve <v.maisonneuve@gmail.com>
Sun, 13 Jul 2014 14:07:45 +0000 (16:07 +0200)
committerVivien Maisonneuve <v.maisonneuve@gmail.com>
Sun, 13 Jul 2014 14:07:45 +0000 (16:07 +0200)
examples/tesseract.py [new file with mode: 0755]

diff --git a/examples/tesseract.py b/examples/tesseract.py
new file mode 100755 (executable)
index 0000000..b2a5e97
--- /dev/null
@@ -0,0 +1,23 @@
+#!/usr/bin/env python3
+
+from pypol import *
+
+x, y, z, t = symbols('x y z t')
+
+tesseract = \
+    Le(0, x) & Le(x, 1) & \
+    Le(0, y) & Le(y, 1) & \
+    Le(0, z) & Le(z, 1) & \
+    Le(0, t) & Le(t, 1)
+
+def faces(polyhedron):
+    for points in polyhedron.faces():
+        face = points[0].aspolyhedron()
+        face = face.union(*[point.aspolyhedron() for point in points[1:]])
+        face = face.aspolyhedron()
+        yield face
+
+print('Faces of tesseract\n\n  {}\n\nare:\n'.format(tesseract))
+for face in faces(tesseract):
+    assert(len(face.vertices()) == 8)
+    print('  {}'.format(face))