玩OpenGL无意间发现一张公式生成的图片,被惊艳到了。
今早把代码翻译成了python。
import PIL.Image as I
from math import sin, cos
W, H, R = 500, 500, 10
img = I.new('RGBA', (W, H), (255, 255, 255, 255))
x = -R
while x < R:
y = -R
while y < R:
r = cos(x) + sin(y)
# 计算坐标
color_x = int(W / 2 + (W / 2 / 10) * x)
color_y = int(H / 2 + (H / 2 / 10) * y)
# 计算颜色
color_r = int(cos(y * r) * 255) if cos(y * r) > 0 else 0
color_g = int(cos(x * y * r) * 255) if cos(x * y * r) > 0 else 0
color_b = int(sin(x * r) * 255) if sin(x * r) > 0 else 0
img.putpixel((color_x, color_y), (color_r, color_g, color_b))
y += 0.04
x += 0.04
img.show()