diff options
author | Brett Weiland <brett_weiland@gmail.com> | 2024-06-11 14:50:14 -0500 |
---|---|---|
committer | Brett Weiland <brett_weiland@gmail.com> | 2024-06-11 14:50:14 -0500 |
commit | cb69732f68c0bd46c1574de16ce1aee6f38e439b (patch) | |
tree | def1daaec81a0d4cd7b3d44b2c26b9535e07579c /backup |
Diffstat (limited to 'backup')
-rw-r--r-- | backup | 62 |
1 files changed, 62 insertions, 0 deletions
@@ -0,0 +1,62 @@ +#!/usr/bin/env python3 +import numpy as np +import matplotlib.pyplot as plt +from alive_progress import alive_bar + +img_res_x = 1000 +img_res_y = 1000 +total_pixels = img_res_x * img_res_y # so we don't gotta compute it every time + +periods = .25 +square_x = 1 +square_y = 1 + +xmin = (-periods * np.pi) + (square_x * np.pi) +xmax = (periods * np.pi) + (square_x * np.pi) +ymin = (-periods * np.pi) + (square_y * np.pi) +ymax = (periods * np.pi) + (square_y * np.pi) + +escape = 10000 +iterations = 255*3 +c_x = 2 * np.pi +c_y = 2 * np.pi + + +image = np.empty([img_res_y, img_res_x]) + +with alive_bar(img_res_y, bar = 'filling', spinner = 'waves') as bar: + for pix_y, y in enumerate(np.linspace(ymin, ymax, img_res_y)): + for pix_x, x in enumerate(np.linspace(xmin, xmax, img_res_x)): + on_x = x + on_y = y + for i in range(iterations): + completed_ratio = (((pix_x * pix_y * 1)) / total_pixels) + next_x = (completed_ratio * (on_x/np.sin(on_y))) + ((1 - completed_ratio) * on_x/np.tan(on_y)) + on_y = (completed_ratio * (on_y/np.sin(on_x))) + ((1 - completed_ratio) * on_y/np.tan(on_x)) + on_x = next_x + if on_x**2 + on_y**2 > escape: + break + image[pix_y][pix_x] = i + bar() + + + + +plt.style.use('dark_background') +# fuck this shit +fig = plt.figure(frameon=False) +fig.set_size_inches(img_res_x/fig.dpi, img_res_y/fig.dpi) +#fig.set_size_inches(width/height, 1, forward=False) + +ax = plt.Axes(fig, [0., 0., 1., 1.]) +ax.set_axis_off() +fig.add_axes(ax) + +cmap = plt.cm.viridis +cmap.set_bad((0,0,0)) +cmap.set_over((0,0,0)) +cmap.set_under((0,0,0)) + +ax.imshow(image, norm="log", aspect="auto", cmap=cmap) +fig.savefig("linear_transform_sin_tan_arnolds_tongue_hotspot.png") +plt.show() |