ipythonblocks
¶For more on ipythonblocks
see the home page at https://github.com/jiffyclub/ipythonblocks.
from ipythonblocks import BlockGrid
import math
w = 100
h = 100
r = 35
grid = BlockGrid(w, h, block_size=4)
for block in grid:
val = math.fabs(math.sqrt((w / 2. - block.col) ** 2 + (h / 2. - block.row) ** 2) - r) ** 1.5 / r * 255
block.red = val
block.green = val
block.blue = val
grid.show()
grid = BlockGrid(w, h, block_size=4)
for block in grid:
block.red = 255 * float(w - block.col) / w
block.green = 255 * float(h - block.row) / h
block.blue = 255 * block.col / w
grid
w = 40
h = 40
grid = BlockGrid(w, h)
for block in grid:
block.size = min(abs(w / 2 - block.col), abs(h / 2 - block.row))
grid
w = 40
h = 40
grid = BlockGrid(w, h)
for block in grid:
block.size = min(abs(w / 2 - block.col), abs(h / 2 - block.row))
if block.row < h / 2 and block.col < w / 2:
val = max(block.row, block.col) / (w / 2.) * 255
block.set_colors(val, val, val)
elif block.row < h / 2 and block.col >= w / 2:
val = max(block.row, h - block.col - 1) / (w / 2.) * 255
block.set_colors(val, val, 255)
elif block.row >= h / 2 and block.col < w / 2:
val = max(w - block.row - 1, block.col) / (w / 2.) * 255
block.set_colors(255, val, val)
elif block.row >= h / 2 and block.col >= w / 2:
val = max(w - block.row - 1, h - block.col - 1) / (w / 2.) * 255
block.set_colors(val, 255, val)
grid
w = 40
h = 40
grid = BlockGrid(w, h)
for block in grid:
block.size = min(abs(w / 2 - block.col), abs(h / 2 - block.row))
if block.row < h / 2 and block.col < w / 2:
val = 255 * (1 - max(block.row, block.col) / (w / 2.))
block.set_colors(val, val, val)
elif block.row < h / 2 and block.col >= w / 2:
val = max(block.row, h - block.col - 1) / (w / 2.) * 255
block.set_colors(0, 0, val)
elif block.row >= h / 2 and block.col < w / 2:
val = max(w - block.row - 1, block.col) / (w / 2.) * 255
block.set_colors(val, 0, 0)
elif block.row >= h / 2 and block.col >= w / 2:
val = max(w - block.row - 1, h - block.col - 1) / (w / 2.) * 255
block.set_colors(0, val, 0)
grid