A pretty map of S5

This commit is contained in:
Ben Hambrecht 2018-04-15 21:21:18 +02:00
parent 0231b49850
commit 51f002b3ba

View file

@ -32,28 +32,59 @@ def print_permutation(index_list):
return "".join(perm_list)
class PermutationGrid(Scene):
def text_box(self, str):
box = TextMobject(str).scale(0.3)
box.add(SurroundingRectangle(box, stroke_color = DARK_GREY))
return box
def construct(self):
N = 5
index_list = []
for i in range(1, N + 1):
index_list.append(i)
for j in range(1, N):
index_list.append(j)
for k in range(1, N - 1):
index_list.append(k)
for l in range(1, N - 2):
index_list.append(l)
for m in range(1, N - 3):
index_list.append(m)
print print_permutation(index_list)
N = 5
index_list = []
perm5_box = VGroup()
for i in range(1, N + 1):
index_list.append(i)
perm4_box = VGroup()
for j in range(1, N):
index_list.append(j)
perm3_box = VGroup()
for k in range(1, N - 1):
index_list.append(k)
perm2_box = VGroup()
for l in range(1, N - 2):
index_list.append(l)
index_list.append(1)
perm_box = self.text_box(print_permutation(index_list))
if l > 1:
perm_box.next_to(perm2_box[-1], DOWN, buff = 0)
perm2_box.add(perm_box)
index_list.pop()
index_list.pop()
if k > 1:
perm2_box.next_to(perm3_box[-1], RIGHT, buff = 0.08)
perm3_box.add(perm2_box)
index_list.pop()
perm3_box.add(SurroundingRectangle(perm3_box, buff = 0.12, stroke_color = LIGHT_GRAY))
if j > 1:
perm3_box.next_to(perm4_box[-1], DOWN, buff = 0)
perm4_box.add(perm3_box)
index_list.pop()
if i > 1:
perm4_box.next_to(perm5_box[-1], RIGHT, buff = 0.16)
perm5_box.add(perm4_box)
index_list.pop()
index_list.pop()
index_list.pop()
perm5_box.move_to(ORIGIN)
self.add(perm5_box)