Trabalho Final Parte 1 - Gerador de Arte

A proposta do trabalho é criar um gerador automático de arte, no processing, baseado em uma série já existente. O artista escolhido por mim foi o Hélio Oiticica, com sua série baseada na técnica de guache sobre cartão, que foi desenvolvida junto com o Grupo Frente. Descobri a existência do artista através de um trabalho realizado pela professora Natália Castro com seus alunos de ensino fundamental. Uma obra do autor em questão estava exposta em sua sala de aula, e por base nela, descobri a série que me inspirei para realizar o trabalho.
Obra exposta na sala da professora

Dentro da série, encontrei 3 obras semelhantes para tomar por base para a construção do gerador. Entre elas analisei 4 características em comum: a quantidade de colunas, a largura das colunas, o tipo da paleta de cores, e as cores em si.
Obras originais

Modelo Natural

Hélio Oiticica nasceu no Rio de Janeiro em 26 de julho de 1937 e morreu em 22 de março de 1980. Foi considerado um dos maiores artistas da arte brasileira, atuando como pintor, escultor, artista plástico e performático de aspirações anarquistas. A série escolhida, foi feita no período em que Hélio estava no Grupo Frente, que foi um grupo artístico brasileiro criado pelo carioca Ivan Serpa, e que foi considerado um marco no movimento construtivo das artes plásticas. Em 1955, o artista entra em contato com o Grupo Frente e dá início as suas pinturas geométricas abstratas em guache sobre cartão (técnica utilizada pela série escolhida).
Hélio Oiticica (1937 - 1980)

A série, que foi desenvolvida nessa época, foi exposta na segunda e terceira exposição do Grupo Frente. Hélio busco explorar a potência espacial da cor, onde o fundo escuro é quebrado por formas mais claras, cores brilhantes, que parecem estar suspensas “para dar um espaço de vai-e-vem, de ambivalência visual total”. Nessas obras, a grade é substituída por planos verticais de cores escuras, cada um extremamente próximo do outro na faixa cromática. As formas das obras são arranjadas em forma de grade, que parecem mudar ritmicamente e flutuar sutilmente sobre a superfície do papel.
Grupo Frente em 1956

Modelo Matemático



Após a análise de cada obra, cheguei às seguintes conclusões:
  • A quantidade de colunas varia entre 4 e 9
  • A largura de cada coluna varia entre 8px e 176px
  • Cada coluna tem de 1 até 3 quadrilátros.
  • A quantidade de cores em cada quadro varia entre 5 e 7.
  • A obra pode ser tanto policromática quanto monocromática (variando saturação/brilho de uma mesma cor)
Para as cores, utilizei o conta gotas em área do Photoshop para encontrar as cores referentes a cada retângulo. Ao todo encontrei cerca de 15 cores, incluindo variações de uma mesma cor.
Gráfico do padrão HSV
Dentro do projeto implementei as cores utilizando o padrão HSV, na qual ficou mais fácil setar as cores.

Modelo Computacional

Para facilitar meu trabalho, dividi o a aplicação em duas etapas, sendo a primeira a organização dos elementos na tela, e a segunda a aplicação das cores.

ETAPA 1:

Partindo para a elaboração da aplicação, iniciei criando as variáveis referentes as 4 características principais: quantidade de colunas, tipo de paleta, intervalo de largura das colunas, e dois arrays que guardam as cores, um para monocromático e outro policromático. 

Criei depois uma nova função que será responsável organizar as larguras de cada coluna para que se ajustem perfeitamente a largura da tela. Ela recebe como parâmetro a largura e a posição da coluna dentro de um array global que guarda as larguras das colunas. A lógica por trás dessa função é saber se a largura da tela menos a largura da coluna é menor do que o espaço que ainda resta para as outras colunas. Caso seja, uma variável de verificação que eu criei recebe verdadeiro, caso contrário ela recebe falso.

Essa função é chamada dentro de uma outra, que é a responsável por preencher o array com as larguras de cada coluna. Dentro dela crio um laço de repetição que percorre todas as posições do array. Defino a largura aleatória de cada coluna através da variável criada anteriormente, verificando através da função anterior, se o valor atual pode ser usado. Dentro dessa função, manipulo uma variável que diz quanto de largura ainda tem para ser colocado nas colunas. Caso o laço esteja na ultima coluna, essa recebe o valor que sobrou da variável.

Amostra do que o código fazia até então.


ETAPA 2:

Essa segunda etapa iniciei preenchendo os arrays das paletas de cores. Para isso criei uma função para cada um que faz esse papel de colocar as cores posição por posição.

A ultima função que crio é a que irá desenhar cada retângulo em seu respectivo lugar e cor. Dentro dela faço um laço de repetição que percorre todas as posições do array de colunas, de em cada coluna lanço um valor aleatório para saber quantos retângulos terá nela (). Após isso verifico quantas figuras terá na coluna através do switch() e desenho a quantidade de retângulos necessários.
Implementação das formas dentro de cada coluna

Após tudo funcionando, utilizei a função fill() para pintar o interior das figuras com uma cor aleatória do array referente a sua paleta. 
Por fim, chamo as funções no método setup() e mostro no console a quantidade de colunas e a o tipo de paleta da obra gerada.

Resultados obtidos:

Para baixar o código comentado clique aqui

Comentários

Postagens mais visitadas deste blog

Atividade 16 - Polígono regular

Atividade 15 - Transição entre Imagens

Atividade 7 - Adaptive Logo