3 # In geometry, the tesseract is the four-dimensional analog of the cube; the
4 # tesseract is to the cube as the cube is to the square. Just as the surface of
5 # the cube consists of 6 square faces, the hypersurface of the tesseract
6 # consists of 8 cubical cells.
8 from linpy
import Le
, symbols
11 x
, y
, z
, t
= symbols('x y z t')
13 tesseract
= Le(0, x
, 1) & Le(0, y
, 1) & Le(0, z
, 1) & Le(0, t
, 1)
16 def faces(polyhedron
):
17 for points
in polyhedron
.faces():
18 face
= points
[0].aspolyhedron()
19 face
= face
.convex_union(*[point
.aspolyhedron()
20 for point
in points
[1:]])
24 if __name__
== '__main__':
25 print('Faces of tesseract\n\n {}\n\nare:\n'.format(tesseract
))
26 for face
in faces(tesseract
):
27 assert(len(face
.vertices()) == 8)
28 print(' {}'.format(face
))