terça-feira, 18 de outubro de 2016

Trabalho I

Video from William Link on Vimeo.

A proposta deste trabalho é desenvolver, utilizando o software Processing, uma aplicação que reproduza uma obra de arte, seguindo as características de uma série de obras de algum artista. Para isso, é preciso primeiro escolher qual artista e qual série de trabalhos dele serão usados como referência para a elaboração desta aplicação.

Depois de algumas semanas completamente sem ideia de quais obras eu escolheria - e de qual artista - achei, através de um gif compartilhado no facebook de uma amiga, os trabalhos do artista Adam Pizurny, mais especificamente, este e este outro.

Além destes dois gifs, Adam possui outras obras com características semelhantes, formando portanto o que estamos considerando para este trabalho uma "série" de obras, que podemos acompanhar no seu arquivo.

Apesar de parecer uma composição bem complexa, especialmente por trabalhar com a figura humana, elaborar uma aplicação que reproduziria de forma automática estes trabalhos não foi um trabalho tão complicado assim, do ponto de vista da modelagem computacional. A única parte que foi realmente complicada do processo foi encontrar uma fonte de imagens de fotografias em 360° de figura humana.

Depois de mais uma semana sem achar imagens adequadas - a ideia que eu tinha era de encontrar uma série de fotos ordenadas como "spritesheets" de um processo de photo-scan rotacional de pessoas fazendo alguma pose artística bem "exagerada", como é a pose desta mulher na obra do Adam - eu encontrei um site britânico que hospeda uma versão de demonstração de um aplicativo ainda em desenvolvimento que permite controlar em tempo real as condições que eu buscava, usando modelos 3D desenvolvidos a partir do processo de photo-scanning. Trata-se deste aplicativo (precisa ter o plugin Unity Web Player instalado e não funciona no navegador Google Chrome).



 A versão disponível no link possui apenas dois modelos disponíveis e ele permite rotacionar o modelo livremente, bem como ajustar os ângulos das luzes da cena, além de outros controles. Perfeito para eu extrair dali os frames que eu precisava para criar a animação de rotação da pose da modelo e aplicá-los no código do Processing.

3 Modelos: Natural, Matemático e Computacional

Modelo Natural

 
GIF extraído a partir da execução da aplicação direto no Processing
Modelo Matemático

O modelo matemático foi definido com foco no elemento principal da obra. Este elemento é a Rotação. Matematicamente, a Rotação de um objeto é definida por uma Matriz e esta matriz é utilizada para desenvolver engines gráficas em modelos computacionais que implementem essa função de Rotação de Objetos:


M(\alpha ,\beta ,\gamma )={\begin{bmatrix}\cos \alpha \cos \gamma -{\mbox{sen }}\alpha \cos \beta {\mbox{sen }}\gamma &{\mbox{sen }}\alpha \cos \gamma +\cos \alpha \cos \beta {\mbox{sen }}\gamma &{\mbox{sen }}\beta {\mbox{sen }}\gamma \\-\cos \alpha {\mbox{sen }}\gamma -{\mbox{sen }}\alpha \cos \beta \cos \gamma &-{\mbox{sen }}\alpha {\mbox{sen }}\gamma +\cos \alpha \cos \beta \cos \gamma &{\mbox{sen }}\beta \cos \gamma \\{\mbox{sen }}\beta {\mbox{sen }}\gamma &-\cos \alpha {\mbox{sen }}\beta &\cos \beta \end{bmatrix}}
Matriz Geral de Rotação em três dimensões. Fonte: Wikipedia

 

Modelo Computacional


 O código dentro do Processing foi dividido em abas, que geram três arquivos na pasta da aplicação.

Código Principal, com as instruções de setup() e draw()
Código que carrega as imagens extraídas como frames e executa a animação de rotação

Código que cria as múltiplas figuras da modelo, também executando a animação nestes rastros

Download dos arquivos do Processing

Link para baixar os arquivos necessários para executar a aplicação no Processing

Nenhum comentário:

Postar um comentário