絕對值函數處理範圍問題

有時候,處理一些區域問題,絕對值會讓你的計算機釋放算力,而且很有趣。

首先來一個用絕對值代替距離計算的效果:


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 :

很好看的LOGO

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章