-
Notifications
You must be signed in to change notification settings - Fork 2
/
newt.py
31 lines (23 loc) · 1.1 KB
/
newt.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/python
from PIL import ImageDraw, ImageFont
from FrameGenerator import FrameGenerator
for rootDegree in range(4, 6):
imgs = []
width = 1000#4096
height = 1000#2160
fg = FrameGenerator(rootDegree, width, height, -width / 1000, width / 1000, -height / 1000, height / 1000)
numberOfIterations = 0
while len(fg.points_left) > 4000 or fg.is_first_iteration:
imgs.append(fg.iterate(2))
print('Calculated {:2d}th root using {:2d} iterations ({:d} points left to converge)'.format(rootDegree, numberOfIterations, len(fg.points_left)))
numberOfIterations += 2
draw = ImageDraw.Draw(imgs[len(imgs) - 1])
font = ImageFont.truetype('DejaVuSans.ttf', int(height / 25.0))
draw.text((int(width / 2.0), 0), str(numberOfIterations), (255, 255, 255), font=font)
#imgs[len(imgs) - 1].save('test/test_{:d}.gif'.format(len(imgs)))
imgs[0].save('img/{:d}th_root.gif'.format(rootDegree),
save_all=True,
append_images=imgs[1:],
duration=100,
loop=0,
optimize=True)