有時候,處理一些區域問題,絕對值會讓你的計算機釋放算力,而且很有趣。
首先來一個用絕對值代替距離計算的效果:
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 :