Actio 3 - Código de la portada
Portada realizada por código Python en Drawbot
Basado en gist.github.com/justvanrossum
def drawArc(center, radius, startAngle, endAngle):
bez = BezierPath()
# se generan los parámetros generales del arco
bez.arc(center, radius, startAngle, endAngle, False)
drawPath(bez)
# función para definir los patrones
# se genera el patrón 1
def tile1(x, y, q=0):
with savedState():
translate(x, y)
rotate(q * 90, center=(0.5, 0.5))
for r in [0.2, 0.4, 0.6, 0.8]:
drawArc((0, 0), r, 0, 90)
if r == 0.8:
drawArc((1, 1), r, 180, 198)
drawArc((1, 1), r, 252, 270)
else:
drawArc((1, 1), r, 180, 270)
# se genera el patrón 2 modificando el patrón 1
def tile2(x, y):
tile1(x, y, 1)
# se genera el patrón 3 modificando el patrón 1
def tile3(x, y):
tile1(x, y, 2)
# se genera el patrón 4 modificando el patrón 1
def tile4(x, y):
tile1(x, y, 3)
# se genera el patrón 5
def tile5(x, y):
with savedState():
translate(x, y)
for i in range(4):
drawArc((0, 0.5), 0.1, 270, 90)
drawArc((0, 0.5), 0.3, 270, 90)
rotate(90, center=(0.5, 0.5))
# se genera patrón 6
def tile6(x, y):
with savedState():
translate(x, y)
oval(0.3, 0.3, 0.4, 0.4)
for i in range(4):
drawArc((0, 0), 0.2, 0, 90)
drawArc((0, 0), 0.4, 0, 90)
rotate(90, center=(0.5, 0.5))
# array de todos los patrones
allTiles = [tile1, tile2, tile3, tile4, tile5, tile6]
# número de filas de patrones
numTiles = 16
# color de fondo
fill(0.5)
rect(0, 0, 1000, 1000)
# rellena el espacio dependiendo del numero de filas
scale(1000 / numTiles)
# propiedades de los patrones
fill(None)
stroke(0.7)
strokeWidth(0)
rect(0, 0, numTiles, numTiles)
strokeWidth(0.05)
for i in range(numTiles):
for j in range(numTiles):
tile = choice(allTiles)
tile(i, j)
# variables para generar colores aleatorios
random1 = random();
random2 = random();
random3 = random();
# cambia el modo de fusión de color y se genera el degradado de fondo
blendMode(“multiply”)
radialGradient(
(8, 8),
(12, 12),
[(random1, random2, random3), (random3, random2, random1), (random2, random1, random3)],
[0, .2, 1]
)
# se dibuja el rectángulo de color
rect(0, 0, numTiles, numTiles)
# se guarda la imagen
saveImage(“actio03.png”)
saveImage(“actio03.svg”)
saveImage(“actio03.pdf”)