23 e 24
Po Szerokość: | Wysokość: | Rozmiar: 105 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 122 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 116 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 108 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 99 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 97 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 120 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 116 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 106 KiB |
|
@ -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()
|
Po Szerokość: | Wysokość: | Rozmiar: 182 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 173 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 127 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 184 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 195 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 136 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 186 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 174 KiB |
Po Szerokość: | Wysokość: | Rozmiar: 177 KiB |
|
@ -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()
|