diff --git a/2019/sketch_191020a/0002.png b/2019/sketch_191020a/0002.png new file mode 100644 index 00000000..f72e55f4 Binary files /dev/null and b/2019/sketch_191020a/0002.png differ diff --git a/2019/sketch_191020a/0003.png b/2019/sketch_191020a/0003.png new file mode 100644 index 00000000..212df7c2 Binary files /dev/null and b/2019/sketch_191020a/0003.png differ diff --git a/2019/sketch_191020a/0005.png b/2019/sketch_191020a/0005.png new file mode 100644 index 00000000..f49f0c0b Binary files /dev/null and b/2019/sketch_191020a/0005.png differ diff --git a/2019/sketch_191020a/0006.png b/2019/sketch_191020a/0006.png new file mode 100644 index 00000000..e5968b4a Binary files /dev/null and b/2019/sketch_191020a/0006.png differ diff --git a/2019/sketch_191020a/0007.png b/2019/sketch_191020a/0007.png new file mode 100644 index 00000000..e715423b Binary files /dev/null and b/2019/sketch_191020a/0007.png differ diff --git a/2019/sketch_191020a/0008.png b/2019/sketch_191020a/0008.png new file mode 100644 index 00000000..fef643be Binary files /dev/null and b/2019/sketch_191020a/0008.png differ diff --git a/2019/sketch_191020a/0009.png b/2019/sketch_191020a/0009.png new file mode 100644 index 00000000..39f4edf1 Binary files /dev/null and b/2019/sketch_191020a/0009.png differ diff --git a/2019/sketch_191020a/0010.png b/2019/sketch_191020a/0010.png new file mode 100644 index 00000000..053fd4be Binary files /dev/null and b/2019/sketch_191020a/0010.png differ diff --git a/2019/sketch_191020a/sketch_191020a.png b/2019/sketch_191020a/sketch_191020a.png new file mode 100644 index 00000000..c5047a1e Binary files /dev/null and b/2019/sketch_191020a/sketch_191020a.png differ diff --git a/2019/sketch_191020a/sketch_191020a.pyde b/2019/sketch_191020a/sketch_191020a.pyde new file mode 100644 index 00000000..f6f3045c --- /dev/null +++ b/2019/sketch_191020a/sketch_191020a.pyde @@ -0,0 +1,58 @@ +from random import choice + +def setup(): + size(600, 600) + noLoop() + rectMode(CENTER) + strokeJoin(ROUND) + blendMode(MULTIPLY) + +def draw(): + background(255) + grid(width / 2, width / 2, 4, width) + +def grid(xo, yo, n, tw, e=None): + """ + Faça o desenho do grid baseado em uma subdivisão (grade) recursiva + """ + cw = tw / n + offset = (cw - tw) / 2. + for i in range(n): + x = xo + offset + cw * i + for j in range(n): + y = yo + offset + cw * j + if cw > 30 and random(10) < 8: # faz subdivisão recursiva + grid(x, y, 3, cw) + else: # faz um elemento "sozinho" + poly_arrow(x, y, cw, i, j) + + + +def poly_arrow(x, y, s, i, j): + w = s / (1 + i) # x / s) + h = s / (1 + j ) # y / s) + noStroke() + fill(64 + i * 64, 64 + j * 64, 200) + """ Seta na posição x, y com largura w e altura h""" + mw = w + mh = h + pushMatrix() # preserva o sistema de coordenadas atual + translate(x, y) # translada a origem do sistema de coordenadas + r = choice((0, 1, 2, 4)) + rotate(r * HALF_PI) + beginShape() # começa a desenhar a forma, inicia um polígono + vertex(0, -0 - mw) + vertex(-mw , 0) + vertex(-mw, mh) + vertex(0, mh - mw) + vertex(mw, mh) + vertex(mw, 0) + # vertex(0, 0) + endShape(CLOSE) # encerra a forma a fechando no primeiro vértice + popMatrix() # retorna o sistema de coordenadas anterior + + +def keyPressed(): + if key == 's': + saveFrame("####.png") + redraw()