Ejemplo n.º 1
0
from utils import lerp, sq, constrain
from math import sqrt

if __name__ == "__main__":
    D = 0.9
    SIZE = 16
    data = []
    pal = []

    for i in range(8):
        c = int(lerp(0, 255, float(i) / 7))
        pal.extend([c, c, c])

    im = Image.new('L', (SIZE, SIZE * 8))
    im.putpalette(pal)
    pix = im.load()

    for size in range(8, 16):
        r = lerp(2.0, 1.0, float(size - 8) / 7)

        for i in range(SIZE):
            for j in range(SIZE):
                u = lerp(-r, r, float(i) / (SIZE - 1))
                v = lerp(-r, r, float(j) / (SIZE - 1))

                d = sq(1.4 - constrain(sqrt(sq(u) + sq(v)), 0.0, 1.4))

                pix[i, j + (size - 8) * SIZE] = int(constrain(d, 0.0, 1.0) * 7)

    im.save("plotter-flares.png", "PNG")
Ejemplo n.º 2
0
    for i in range(8):
        pal.extend([0, 0, 0])
    for i in range(16):
        c = int(lerp(0, 255, float(i + 1) / 16))
        pal.extend([c, c, c])
    for i in range(4):
        pal.extend([255, 255, 255])
    for i in range(4):
        c = int(lerp(255, 0, float(i + 1) / 4))
        pal.extend([c, c, c])

    for i in range(size[0]):
        for j in range(size[1]):
            x = lerp(-D, D, float(i) / size[0])
            y = lerp(-D, D, float(j) / size[1])

            d = dist(x, y, 0, 0)

            if d < D:
                p = constrain(int(sq(1.0 - d) * 128), 0, 31)
            else:
                p = 0

            data.append(int(p))

    im = Image.new('L', size)
    im.putdata(data)
    im.putpalette(pal)
    im.save(sys.argv[1], "PNG")
Ejemplo n.º 3
0
from utils import lerp, sq, constrain
from math import sqrt

if __name__ == "__main__":
    D = 0.9
    SIZE = 16
    data = []
    pal = []

    for i in range(8):
        c = int(lerp(0, 255, float(i) / 7))
        pal.extend([c, c, c])

    im = Image.new('L', (SIZE, SIZE * 8))
    im.putpalette(pal)
    pix = im.load()

    for size in range(8, 16):
        r = lerp(2.0, 1.0, float(size - 8) / 7)

        for i in range(SIZE):
            for j in range(SIZE):
                u = lerp(-r, r, float(i) / (SIZE - 1))
                v = lerp(-r, r, float(j) / (SIZE - 1))

                d = sq(1.4 - constrain(sqrt(sq(u) + sq(v)), 0.0, 1.4))

                pix[i, j + (size - 8) * SIZE] = int(constrain(d, 0.0, 1.0) * 7)

    im.save("plotter-flares.png", "PNG")
Ejemplo n.º 4
0
  for i in range(8):
    pal.extend([0, 0, 0])
  for i in range(16):
    c = int(lerp(0, 255, float(i + 1) / 16))
    pal.extend([c, c, c])
  for i in range(4):
    pal.extend([255, 255, 255])
  for i in range(4):
    c = int(lerp(255, 0, float(i + 1) / 4))
    pal.extend([c, c, c])

  for i in range(size[0]):
    for j in range(size[1]):
      x = lerp(-D, D, float(i) / size[0])
      y = lerp(-D, D, float(j) / size[1])

      d = dist(x, y, 0, 0);

      if d < D:
        p = constrain(int(sq(1.0 - d) * 128), 0, 31)
      else:
        p = 0

      data.append(int(p))

  im = Image.new('L', size)
  im.putdata(data)
  im.putpalette(pal)
  im.save("metaball.png", "PNG")