有时候,处理一些区域问题,绝对值会让你的计算机释放算力,而且很有趣。
首先来一个用绝对值代替距离计算的效果:
from PIL import Image
W = 400
H = 400
img = Image.new ( "RGB" , (W,H))
x = 0
y = 0
pixSet= (255,0,0,128) # RGBA
for j in range(H):
for i in range(W):
x = H/2 - j;
y = i - H/2;
a = abs(x) + abs(y)
if a < 100:
img.putpixel((i,j),pixSet)
img.show()
如果把a的生成式写成:a = abs(x) + abs(y) + 2 * (abs(x * y) ) / (abs(x + y) + 1)
这样可以得到一个很可爱的图像:
把a和判断重写一下,来点好看的
a = abs(x) + abs(y) + 2 * ( abs(x * y )/( abs(x * abs(x) + y) + 50 ) )
if a < 100 and a > 40 :