%pylab inline
%autoreload 2
import equidecompose as e
# JSAnimation import available at https://github.com/jakevdp/JSAnimation
from JSAnimation import IPython_display
Populating the interactive namespace from numpy and matplotlib
tri = e.axis_align(e.random_triangle()).reset_transform()
rect = e.tri2rect(tri)
e.animate(rect, 30)
rect = e.random_rect()
square = e.rect2square(rect)
e.animate(square, 30)
tri = e.axis_align(e.random_triangle()).reset_transform()
r = e.tri2rect(tri)
s = e.rect2square(r)
e.animate(s, 30)
# Uncut triangle -> square
tri = e.axis_align(e.random_triangle()).reset_transform()
for i in range(5):
tri = e.random_cut_shape(tri)
r = e.tri2rect(tri)
s = e.rect2square(r)
e.animate(s, 30)
s1 = e.random_square()
_, _, x, _ = s1.bbox()
s2 = e.random_square().translate((x + 5, 0)).reset_transform()
r = e.combine_two_squares(s1, s2)
e.animate(r, 30)
squares = [e.random_square() for i in range(5)]
r = e.combine_squares(squares)
e.animate(r, 30)
squares = [e.random_square() for i in range(3)]
r = e.combine_squares(squares)
e.animate(r, 30)
e.random_example(4)
e.random_example(5)
e.random_example(10)