#!/usr/bin/env python3
+#
+# Copyright 2014 MINES ParisTech
+#
+# This file is part of LinPy.
+#
+# LinPy is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# LinPy is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LinPy. If not, see <http://www.gnu.org/licenses/>.
import matplotlib.pyplot as plt
from matplotlib import pylab
from mpl_toolkits.mplot3d import Axes3D
-from pypol import *
+from linpy import *
x, y, z = symbols('x y z')
-fig = plt.figure()
+fig = plt.figure(facecolor='white')
-diam_plot = fig.add_subplot(2, 2, 1)
+diam_plot = fig.add_subplot(2, 2, 1, aspect='equal')
diam_plot.set_title('Diamond')
diam = Ge(y, x - 1) & Le(y, x + 1) & Ge(y, -x - 1) & Le(y, -x + 1)
diam.plot(diam_plot, fill=True, edgecolor='red', facecolor='yellow')
-cham_plot = fig.add_subplot(2, 2, 2, projection='3d')
+cham_plot = fig.add_subplot(2, 2, 2, projection='3d', aspect='equal')
cham_plot.set_title('Chamfered cube')
cham = Le(0, x) & Le(x, 3) & Le(0, y) & Le(y, 3) & Le(0, z) & Le(z, 3) & \
Le(z - 2, x) & Le(x, z + 2) & Le(1 - z, x) & Le(x, 5 - z) & \
Le(y - 2, x) & Le(x, y + 2) & Le(1 - y, x) & Le(x, 5 - y)
cham.plot(cham_plot, facecolors=(1, 0, 0, 0.75))
-rhom_plot = fig.add_subplot(2, 2, 3, projection='3d')
+rhom_plot = fig.add_subplot(2, 2, 3, projection='3d', aspect='equal')
rhom_plot.set_title('Rhombicuboctahedron')
rhom = cham & \
Le(x + y + z, 7) & Ge(-2, -x - y - z) & \
Le(-1, -x + y + z) & Le(-x + y + z, 4)
rhom.plot(rhom_plot, facecolors=(0, 1, 0, 0.75))
-cubo_plot = fig.add_subplot(2, 2, 4, projection='3d')
+cubo_plot = fig.add_subplot(2, 2, 4, projection='3d', aspect='equal')
cubo_plot.set_title('Truncated cuboctahedron')
cubo = Le(0, x) & Le(x, 5) & Le(0, y) & Le(y, 5) & Le(0, z) & Le(z, 5) & \
Le(x -4, y) & Le(y, x + 4) & Le(-x + 1, y) & Le(y, -x + 9) & \
Le(-2, -x + y + z) & Le(-x + y + z, 7) & \
Le(-2, x + y - z) & Le(x + y - z, 7)
cubo.plot(cubo_plot, facecolors=(0, 0, 1, 0.75))
+
pylab.show()