diff --git a/2019/sketch_191023a/0006.png b/2019/sketch_191023a/0006.png new file mode 100644 index 00000000..47dc654a Binary files /dev/null and b/2019/sketch_191023a/0006.png differ diff --git a/2019/sketch_191023a/0007.png b/2019/sketch_191023a/0007.png new file mode 100644 index 00000000..8ab942a1 Binary files /dev/null and b/2019/sketch_191023a/0007.png differ diff --git a/2019/sketch_191023a/0008.png b/2019/sketch_191023a/0008.png new file mode 100644 index 00000000..a7febc98 Binary files /dev/null and b/2019/sketch_191023a/0008.png differ diff --git a/2019/sketch_191023a/0010.png b/2019/sketch_191023a/0010.png new file mode 100644 index 00000000..89b3b13f Binary files /dev/null and b/2019/sketch_191023a/0010.png differ diff --git a/2019/sketch_191023a/0013.png b/2019/sketch_191023a/0013.png new file mode 100644 index 00000000..3d852f85 Binary files /dev/null and b/2019/sketch_191023a/0013.png differ diff --git a/2019/sketch_191023a/0014.png b/2019/sketch_191023a/0014.png new file mode 100644 index 00000000..0b8ed483 Binary files /dev/null and b/2019/sketch_191023a/0014.png differ diff --git a/2019/sketch_191023a/0015.png b/2019/sketch_191023a/0015.png new file mode 100644 index 00000000..e638e4b1 Binary files /dev/null and b/2019/sketch_191023a/0015.png differ diff --git a/2019/sketch_191023a/0016.png b/2019/sketch_191023a/0016.png new file mode 100644 index 00000000..fe0d4c95 Binary files /dev/null and b/2019/sketch_191023a/0016.png differ diff --git a/2019/sketch_191023a/sketch_191023a.png b/2019/sketch_191023a/sketch_191023a.png new file mode 100644 index 00000000..e772fba3 Binary files /dev/null and b/2019/sketch_191023a/sketch_191023a.png differ diff --git a/2019/sketch_191023a/sketch_191023a.pyde b/2019/sketch_191023a/sketch_191023a.pyde new file mode 100644 index 00000000..1663b347 --- /dev/null +++ b/2019/sketch_191023a/sketch_191023a.pyde @@ -0,0 +1,60 @@ +from random import choice + +def setup(): + size(600, 600) + noLoop() + rectMode(CENTER) + strokeJoin(ROUND) + blendMode(MULTIPLY) + colorMode(HSB) + +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) + noFill() + strokeWeight(s / 5) + stroke((32 * j + i * 64) % 255, 200, 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() diff --git a/2019/sketch_191024a/0005.png b/2019/sketch_191024a/0005.png new file mode 100644 index 00000000..c1f102da Binary files /dev/null and b/2019/sketch_191024a/0005.png differ diff --git a/2019/sketch_191024a/0006.png b/2019/sketch_191024a/0006.png new file mode 100644 index 00000000..f716d283 Binary files /dev/null and b/2019/sketch_191024a/0006.png differ diff --git a/2019/sketch_191024a/0007.png b/2019/sketch_191024a/0007.png new file mode 100644 index 00000000..0c315b85 Binary files /dev/null and b/2019/sketch_191024a/0007.png differ diff --git a/2019/sketch_191024a/0008.png b/2019/sketch_191024a/0008.png new file mode 100644 index 00000000..45381210 Binary files /dev/null and b/2019/sketch_191024a/0008.png differ diff --git a/2019/sketch_191024a/0009.png b/2019/sketch_191024a/0009.png new file mode 100644 index 00000000..1990f127 Binary files /dev/null and b/2019/sketch_191024a/0009.png differ diff --git a/2019/sketch_191024a/0010.png b/2019/sketch_191024a/0010.png new file mode 100644 index 00000000..47f21775 Binary files /dev/null and b/2019/sketch_191024a/0010.png differ diff --git a/2019/sketch_191024a/0011.png b/2019/sketch_191024a/0011.png new file mode 100644 index 00000000..10f576f5 Binary files /dev/null and b/2019/sketch_191024a/0011.png differ diff --git a/2019/sketch_191024a/0013.png b/2019/sketch_191024a/0013.png new file mode 100644 index 00000000..e5477d04 Binary files /dev/null and b/2019/sketch_191024a/0013.png differ diff --git a/2019/sketch_191024a/sketch_191024a.png b/2019/sketch_191024a/sketch_191024a.png new file mode 100644 index 00000000..18a5181d Binary files /dev/null and b/2019/sketch_191024a/sketch_191024a.png differ diff --git a/2019/sketch_191024a/sketch_191024a.pyde b/2019/sketch_191024a/sketch_191024a.pyde new file mode 100644 index 00000000..a8b524d3 --- /dev/null +++ b/2019/sketch_191024a/sketch_191024a.pyde @@ -0,0 +1,57 @@ +from random import choice + +def setup(): + size(600, 600) + noLoop() + # strokeJoin(ROUND) + # blendMode(MULTIPLY) + colorMode(HSB) + +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): + noFill() + strokeWeight(s / 5) + stroke((32 * j + i * 64) % 255, 200, 200) + """ Seta na posição x, y com largura w e altura h""" + mw = s + mh = s + 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()