toc
selected work
v344, 2023
Selected for RECODE Online Exhibition . PCD23@Porto . Available at the exhibition page, with code and initial proposal at abav.lugaralgum.com/selected-work/v344/.
Grafos (v2022_09)
Work for Processing Community Day @ Brasil 2022.
Can be seen executing at https://abav.lugaralgum.com/selected-work/grafos-2022-09/
Webs of collaboration
A poster generator for Processing Community Day @ Coimbra 2022. Mais informações sobre o evento em https://pcdcoimbra.dei.uc.pt/2022/
Códe at https://abav.lugaralgum.com/collaboration_web_v2022_08_01
Schools in Brazil
Published at Internet e Sociedade, n.2, v.2, Dec. 2021, available at revista.internetlab.org/escolas-no-brasil.
"""
Inspirado em uma demonstração feita pelo professor Fernando Massanori, este desenho
é produzido a partir de microdados do censo escolar 2020 que podem ser encontrados em
https://www.gov.br/inep/pt-br/acesso-a-informacao/dados-abertos/microdados/censo-escolar
Varrendo cada uma das 181279 escolas em funcionamento encontradas nos dados,
dispostas em uma grade invisível, círculos verdes e azuis variam conforme o número de
computadores disponíveis para os alunos, desktop e portateis respectivamente, os
quadrados vazados nestas mesmas cores resultam de entradas possívelmente incorretas
indicadas como 88888 na tabela. Quadrados pretos vazados são causados por escolas sem
Internet banda larga e quadrados pretos cheios por escolas sem energia elétrica.
"""
import pandas as pd
import py5
escolas = pd.read_csv('escolas2.csv', sep='\t', low_memory=False)
print(f'total de registros: {len(escolas)}')
filtro = escolas['TP_SITUACAO_FUNCIONAMENTO'] == 1
escolas_funcionando = escolas[filtro]
computadores = escolas_funcionando['QT_DESKTOP_ALUNO']
portateis = escolas_funcionando['QT_COMP_PORTATIL_ALUNO']
internet_bl = escolas_funcionando['IN_BANDA_LARGA']
sem_luz = escolas_funcionando['IN_ENERGIA_INEXISTENTE']
escala = 2
def plot(x, y, n, cor, internet=False):
py5.stroke(*cor)
py5.no_fill()
if n != n or (internet and n): # filter* NaN
pass
elif internet and n == 0:
py5.square(x * escala, y * escala, escala)
elif n == 88888:
py5.square(x * escala, y * escala, escala * 1.5)
else:
py5.circle(x * escala, y * escala, n * escala / 10)
def setup():
py5.size(426 * 2, 426 * 2, py5.PDF, 'desenho2.pdf')
py5.background(255)
py5.stroke_weight(0.3)
py5.rect_mode(py5.CENTER)
x = y = 0
for c, p, sbl, sl in zip(computadores, portateis, internet_bl, sem_luz):
if sl == 1:
py5.fill(0)
py5.no_stroke()
py5.square(x * escala, y * escala, escala) # sem luz, quadrado preto
plot(x, y, c, (0, 200, 0)) # computadores desktop para alunos em verde
plot(x, y, p, (0, 0, 200)) # computadores portáteis em azul
plot(x, y, sbl, (0, 0, 0), True) # sem banda larga, quadrado preto vazado
x += 1
if x > 426:
x = 0
y += 1
print('FIM')
py5.run_sketch()
Near Grid / quase grade, 2021
EmMeio#13: Contaminações MediaLab UnB, 2021
-> To see the fullscreen execution
LCCRMY: A RECURSIVE RANDOM WALKER
Obra exposta em Homeostasis Lab
-> To see the fullscreen execution
2850 Triangle Interpolations v3 (2019)
“A visual arts work in the domain of new media, it can also be described as an algorithmic work. It was executed in the context of exploring graphically combinatorics of elements using code. It also reflects the author’s concerns about knowledge sharing, licensing of cultural artifacts, use of free tools, access to source code and demystification of algorithmic procedures.”
s328 series, 2018—2020
a328_2020 (photographic print)
s328 + S (simplified variation for pen plotter )
desenho(), 2019
Something between zine, folder and poster, every copy is unique.
Acknoledgments and more information at desenho.lugaralgum.com](http://desenho.lugaralgum.com:).
sketch 190514c, 2019
Risograph poster 190414c
sketch-a-day project, 2018—ongoing
An artistic experiment that began in January 2018, publishing daily sketches, visual ideas expressed with code at abav.lugaralgum.com/sketch-a-day.
Lousa mágica e Lousa paramétrica, 2017—2018
Video by João Adriano Freitas
Código e instruções de montagem em abav.lugaralgum.com/lousa-magica.
Amostra dos desenhos produzidos pelo público (principalmente crianças).
Matriz 8x8 animada com Arduino, 2016
Implementing a curated set of rules for Wolfram’ s Celular Automata in a LED matrix.
In colaboration with Tiago Queiroz for colective exhibition Zonas de compensação 3.0, 5 to 21 Oct, 2016 at the galery of the Unesp Arts Instutute (IA-Unesp), São Paulo.
Code repository: WolframCellularAutomataArduino.