```python '' # https://iquilezles.org/articles/palettes/ import numpy as np W, H = 800, 40 imgs = [] for _ in range(20): a, b, c, d = np.random.rand(4, 3) # c = np.ones(3) palette = lambda t: np.clip(a + b * np.cos(2 * np.pi * (c * t + d)), 0, 1) line = [palette(t) for t in np.linspace(0, 1, W)] img = np.stack([line] * H) img = (img * 255).astype(np.uint8) imgs.append(img) img = np.vstack(imgs) __import__('PIL.Image').Image.fromarray(img) '' import numpy as np a, b, c, d = np.array([ [.5, .5, .5], [.5, .5, .5], [1., 1., 1.], [0., .33, .67]]) W, H = 800, 20 palette = lambda t: np.clip(a + b * np.cos(2 * np.pi * (c * t + d)), 0, 1) line = [palette(t) for t in np.linspace(0, 1, W)] img = (np.stack([line] * H) * 255).astype(np.uint8) __import__('PIL.Image').Image.fromarray(img) '' ```