hackmd.io/@villares/prog-ilustra-r2
Extra interação
def setup():
size(600, 600)
def draw():
fill(random_int(128),
random(128, 255),
255)
tamanho = random_int(20, 100)
circle(mouse_x, mouse_y, tamanho)
def key_pressed():
if key == ' ':
background(0)
Escopo de variáveis (local vs. global) https://abav.lugaralgum.com/material-aulas/Processing-Python-py5/escopo_py.html
https://upload.wikimedia.org/wikipedia/commons/d/dd/Adalovelace.jpg
tamanho = 20 # global
def setup():
global img, ar
size(800, 600)
#no_smooth()
img = load_image('imagem.jpg')
print(img.width, img.height)
ar = img.width / img.height
def draw():
nova_largura = mouse_x
nova_altura = nova_largura / ar
image(img, 0, 0, nova_largura, nova_altura)
# background(200, 250, 200)
# colunas = int(width / tamanho)
# filas = int(height / tamanho)
# print(tamanho)
# for num_fila in range(filas):
# y = tamanho / 2 + tamanho * num_fila
# for num_col in range(colunas): # num_col 0, 1, 2 ... 19
# x = tamanho / 2 + tamanho * num_col
# circle(x, y, tamanho / 2)
pontilismo (draw)
def draw():
no_stroke()
for _ in range(100):
x, y = random_int(width), random_int(height)
# valor_alvo = remap(valor_orginal, ini_origem, fim_origm, ini_alvo, fim, alvo)
xi = int(remap(x, 0, width, 0, img.width))
yi = int(remap(y, 0, height, 0, img.height))
cor = img.get_pixels(xi, yi)
fill(cor)
circle(x, y, 4)
Versão com tamanho variável
tamanho = 10 # global
def setup():
global img, ar
size(800, 795)
#no_smooth()
img = load_image('imagem.jpg')
# ar = img.width / img.height
# print(img.width, img.height, ar)
def draw():
no_stroke()
background(0)
colunas = int(width / tamanho)
filas = int(height / tamanho)
print(tamanho)
for num_fila in range(filas):
y = tamanho / 2 + tamanho * num_fila
for num_col in range(colunas): # num_col 0, 1, 2 ... 19
x = tamanho / 2 + tamanho * num_col
cor = conta_gotas(x, y, img)
fill(cor)
circle(x, y, tamanho)
def conta_gotas(x, y, img_source):
xi = int(remap(x, 0, width, 0, img_source.width))
yi = int(remap(y, 0, height, 0, img_source.height))
return img_source.get_pixels(xi, yi)
def key_pressed():
global tamanho
if key == '-' and tamanho > 1:
tamanho = tamanho - 1
if key == '+' or key == '=':
tamanho = tamanho + 1
saturado psicodélico
def draw():
no_stroke()
background(0)
colunas = int(width / tamanho)
filas = int(height / tamanho)
print(tamanho)
for num_fila in range(filas):
y = tamanho / 2 + tamanho * num_fila
for num_col in range(colunas): # num_col 0, 1, 2 ... 19
x = tamanho / 2 + tamanho * num_col
cor = conta_gotas(x, y, img)
m = hue(cor)
b = brightness(cor) # 0 ... 255
#d = tamanho / 255 * b
d = remap(b, 0, 255, 0, tamanho)
color_mode(HSB) # matiz, sat, brilho
fill(m, 255, 255)
circle(x, y, d)
def draw():
no_stroke()
background(255)
colunas = int(width / tamanho)
filas = int(height / tamanho)
print(tamanho)
for num_fila in range(filas):
y = tamanho / 2 + tamanho * num_fila
for num_col in range(colunas): # num_col 0, 1, 2 ... 19
x = tamanho / 2 + tamanho * num_col
cor = conta_gotas(x, y, img)
m = hue(cor)
b = brightness(cor) # 0 ... 255
#d = tamanho / 255 * b
d = remap(b, 0, 255, tamanho, 0)
color_mode(HSB) # matiz, sat, brilho
fill(m, 255, 128)
circle(x, y, d)
com ellipse
tamanho = 10 # global
def setup():
global img, ar
size(800, 795)
#no_smooth()
img = load_image('imagem.jpg')
# ar = img.width / img.height
# print(img.width, img.height, ar)
def draw():
no_stroke()
background(255)
colunas = int(width / tamanho)
filas = int(height / tamanho)
print(tamanho)
for num_fila in range(filas):
y = tamanho / 2 + tamanho * num_fila
for num_col in range(colunas): # num_col 0, 1, 2 ... 19
x = tamanho / 2 + tamanho * num_col
cor = conta_gotas(x, y, img)
fill(cor)
# m = hue(cor)
b = brightness(cor) # 0 ... 255
# #d = tamanho / 255 * b
d = remap(b, 0, 255, tamanho, 0)
# color_mode(HSB) # matiz, sat, brilho
# fill(m, 255, 128)
ellipse(x, y, d, tamanho)
def conta_gotas(x, y, img_source):
xi = int(remap(x, 0, width, 0, img_source.width))
yi = int(remap(y, 0, height, 0, img_source.height))
return img_source.get_pixels(xi, yi)
def key_pressed():
global tamanho
if key == '-' and tamanho > 1:
tamanho = tamanho - 1
if key == '+' or key == '=':
tamanho = tamanho + 1
fundo preto
fundo branco
ellipse(x, y, d, tamanho / 2 + tamanho / 2 * sin(dist(x, y, 400, 400) / 20 + frame_count / 20))
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up