3 # Copyright 2014 MINES ParisTech
5 # This file is part of LinPy.
7 # LinPy is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
12 # LinPy is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 # GNU General Public License for more details.
17 # You should have received a copy of the GNU General Public License
18 # along with LinPy. If not, see <http://www.gnu.org/licenses/>.
22 x
, y
, z
, t
= symbols('x y z t')
25 Le(0, x
) & Le(x
, 1) & \
26 Le(0, y
) & Le(y
, 1) & \
27 Le(0, z
) & Le(z
, 1) & \
30 def faces(polyhedron
):
31 for points
in polyhedron
.faces():
32 face
= points
[0].aspolyhedron()
33 face
= face
.union(*[point
.aspolyhedron() for point
in points
[1:]])
34 face
= face
.aspolyhedron()
37 print('Faces of tesseract\n\n {}\n\nare:\n'.format(tesseract
))
38 for face
in faces(tesseract
):
39 assert(len(face
.vertices()) == 8)
40 print(' {}'.format(face
))