Advertisement
phjoe

worley

Sep 30th, 2015
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # Algo: Worley Noise
  2. import math
  3. import random
  4. import e32
  5. from graphics import Image
  6.  
  7. # ukuran 50x50, dgn jumlah seed point 50
  8.  
  9. imgx = 50
  10. imgy = 50
  11. image = Image.new((imgx, imgy))
  12. n = 50
  13. m = 0
  14.  
  15. seedsX = [random.randint(0, imgx - 1) for i in range(n)]
  16. seedsY = [random.randint(0, imgy - 1) for i in range(n)]
  17.  
  18. maxDist = 0.0
  19. for ky in range(imgy):
  20.  for kx in range(imgx):
  21.   dists = [math.hypot(seedsX[i] - kx, seedsY[i] - ky) for i in range(n)]
  22.   dists.sort()
  23.   if dists[m] > maxDist: maxDist = dists[m]
  24.  e32.ao_sleep(0)
  25.  
  26.  
  27.  
  28. # gambar
  29. for ky in range(imgy):
  30.  for kx in range(imgx):
  31.   dists = [math.hypot(seedsX[i] - kx, seedsY[i] - ky) for i in range(n)]
  32.   dists.sort()
  33.   c = int(round(255 * dists [m] / maxDist))
  34.   image.point((kx, ky), (0, 0, c))
  35.  e32.ao_sleep(0)
  36.  
  37. image.save(u"E:\\Worley.png")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement