• Nenhum resultado encontrado

Extensão de Síntese de Imagens no Mosaicode para Arte Digital

N/A
N/A
Protected

Academic year: 2023

Share "Extensão de Síntese de Imagens no Mosaicode para Arte Digital"

Copied!
57
0
0

Texto

A UFSJ e a cidade de São João del-Rei, que me proporcionaram excelente infraestrutura, suporte educacional e financeiro e boas experiências ao longo do caminho. Com esta perspectiva em mente, o objetivo deste trabalho é descrever uma extensão de Síntese de Imagem para Mosaicode que abstraia conceitos de computação gráfica e aparatos matemáticos, e também crie um conjunto de funções que ajudariam um artista a criar seu trabalho, e como um programador conheça este domínio e faça protótipos de suas aplicações.

Contextualização

OpenGL, Java3D, WebGL e Vulkan são exemplos de bibliotecas para linguagens de uso geral conhecidas por criar imagens sintéticas. Uma descrição mais detalhada da ferramenta será apresentada na subseção 2.3, onde serão explicados cada elemento deste ambiente.

Objetivos

Cenário e Justificativa

Essas ferramentas têm o mesmo objetivo, ajudar a criar aplicativos de arte digital que funcionem com a síntese de imagens. Este trabalho também está relacionado ao campo da arte digital e busca fornecer uma opção tecnológica baseada nas necessidades do artista para soluções de síntese de imagem sob demanda.

Metodologia

Para o caso específico da síntese de imagens, a criação de uma extensão para o ambiente Mosaicode que atenda a esse requisito vai aliar o desejo do grupo de estudos de facilitar a criação de arte digital por pessoas interessadas nessa área com menos esforço e poucos conhecimentos de programação, o que amplia uma série de funções neste ambiente de programação. Juntas, as três últimas etapas levaram à implementação de blocos que auxiliam na manipulação de valores e dados para criação em arte digital.

Organização do Trabalho

Este capítulo apresenta os conceitos e definições importantes que nortearam este trabalho, cuja explicação é necessária para a compreensão do trabalho como um todo. Por fim, apresentaremos material teórico sobre os elementos matemáticos usados ​​para criar blocos mais complexos.

Arte Digital

A construção do virtual torna-se real na medida em que o usuário tem a sensação da criação sintética. Assim, a definição de virtual remete ao distanciamento do imediato, do conceito de presente (CARISSIMI, 2008). Com um significado amplo, a arte digital engloba diversas formas, mídias e formatos, como instalações, web arte, realidade virtual, aumentada e mista.

As categorias feitas com formas e temas podem se tornar problemáticas ao se sobreporem e se misturarem, criando novos tipos de conteúdo que ainda são implantados no contexto da arte digital (PAUL, 2003). As instalações em arte digital podem advir de videoinstalações que incorporam em suas projeções a captura de imagens em tempo real, ou de sistemas com a intenção de se tornarem ambientes imersivos e interativos harmonizados em um ambiente virtual (PAUL, 2003). definição onde os criadores de conteúdo não utilizam a web apenas como meio de visualização e distribuição, mas para criar arte utilizando ambientes e elementos disponíveis na web. O hacktivismo pode ter uma ligação muito forte com a arte digital, que é de difícil comercialização e quebra o paradigma de que arte só é feita por gênios, permitindo que qualquer pessoa com acesso ao computador crie obras, permitindo alguns artistas, que usa ideais de ativismo político junto com hacking habilidades para desafiar a realidade em ambientes como redes sociais e internet, causando estranheza e desconforto ao telespectador (ARISAWA, 2011).

Figura 2 – Página web redirecionada através do site jodi.org. A cada acesso, a página encaminha para o navegador uma aplicação de Web Art
Figura 2 – Página web redirecionada através do site jodi.org. A cada acesso, a página encaminha para o navegador uma aplicação de Web Art

Instrumento Digital

Essa conexão determinará como o instrumento se comportará, configurando a direção das ações de movimento do usuário para criar o artefato. Este trabalho se encaixa tanto na parte de síntese, pois cria o código para a biblioteca de síntese de imagens, na interação com o usuário, visto que a ferramenta oferece um módulo de interface com o usuário, quanto na parte de mapeamento, pois a programação visual facilita para o artista essa realização interligação e controle entre interface e síntese. Para ajudar o artista a interagir com o aplicativo, alguns blocos de interação foram criados, como blocos de mouse e teclado, embora esse não seja o foco da extensão como seria em uma extensão de captura e processamento de imagens.

Com esses elementos, é possível considerar essa extensão como um módulo de criação capaz de desenvolver um instrumento completo, apesar das limitações das opções do módulo Interação. Construir o aplicativo como uma ferramenta digital pode facilitar a distribuição e o uso por muitas pessoas. Esses dispositivos oferecem uma interface mais amigável, são mais fáceis de operar e fornecem feedback previsível.

Mosaicode

Os blocos podem ser interconectados por conexões, que são links de código que transferem dados de algum tipo entre as portas de um bloco de saída para um bloco de entrada. Eles também definem a hierarquia na qual os blocos são inseridos para gerar o código-fonte final, posicionando o primeiro bloco no fluxo do link antes do segundo bloco no fluxo, no código gerado. Os trechos de código escritos com o código do rótulo são inseridos no código final que é gerado cada vez que o mesmo bloco é colocado no diagrama.

As tags de código único, por outro lado, inserem trechos de código apenas uma vez, mesmo que vários blocos idênticos sejam inseridos no diagrama. Juntos, os blocos, links e código de amostra formam uma extensão, que é um componente que representa um domínio e normalmente é escrito usando uma linguagem de programação específica, usando bibliotecas e APIs. A Caixa 4 mostra um terminal indicando as ações realizadas no ambiente e uma linha de código para executar o código gerado.

Trabalhos Relacionados

GEM/Pure Data

À direita, um botão Executar para executar o aplicativo, um botão Publicar para disponibilizar o aplicativo no servidor e um botão Exibir Código-fonte para exibir o código gerado a partir do diagrama. Pure Data é OpenSource com uma comunidade ativa e é extensível a partir de objetos (externos) ou módulos (patches) e roda em múltiplas plataformas como Windows, GNU/Linux e MacOS. A programação visual do Pure Data junto com os recursos do GEM permitem que não programadores criem gráficos e áudio complexos simultaneamente com maior facilidade.

EyesWeb

Isadora

A Intersecção entre a Matemática e a Arte

Simetria

A simetria de inversão é provocada por uma linha ou ponto imaginário, onde tudo de um lado é o oposto do outro lado. Dilatação: Nessa simetria, a imagem permanece, mas a forma se expande ou se contrai sem alterar as dimensões originais. a) Inversão (b) Mandala é um exemplo de simetria rotacional.

Fractais

De um segmento de recta, divide-se em três partes do mesmo tamanho e destes segmentos retira-se o situado ao centro. Seguindo a fórmula para calcular a dimensão Fractal, onde U é um terço do comprimento inicial, L é o comprimento inicial e N é dois, referindo-se ao número de objetos criados por uma iteração, a dimensão é de aproximadamente 0,63. A curva apresentada por ele é construída a partir de um segmento reto, que se divide em três partes iguais.

Curva de Koch: Criada por Helge von Koch, onde a construção começa com um segmento de linha dividido em três partes, como acontecia nos fractais anteriores. Triângulo de Sierpinski: É um fractal descrito por Waclaw Sierpinski onde as operações são realizadas a partir de triângulos. Nela, um cubo original é transformado em vinte e sete cubos um terço do lado do original.

Figura 8 – Exemplo para Dimensão de Homotetia
Figura 8 – Exemplo para Dimensão de Homotetia

Diagrama de Voronoi

Biblioteca para criação da Extensão: OpenGL

Exemplos em OpenGL

Se o número de iterações for menor ou igual a um, a função aborta e retorna para onde foi chamada. Em sua assinatura, são passadas por referência as coordenadas do segmento e o número de iterações que serão realizadas no objeto. Na assinatura da função é passado o número de iterações que o objeto irá realizar, juntamente com as coordenadas dos três pontos que formaram o triângulo inicial.

Na assinatura da função, são passados ​​o número da iteração e as quatro coordenadas necessárias para definir o quadrado. Se a contagem de iteração for maior que um, vinte chamadas recursivas serão feitas. função, com o número de iterações menos um e o tamanho dividido por três. Se o número de iterações for maior que um, uma conversão para o ponto especificado na assinatura é executada e um cubo do tamanho especificado é renderizado e a função retorna. a) Tapete de Sierpinski (b) Diagrama de Voronoi.

Tabela 1 – Possíveis parâmetros para glBegin.
Tabela 1 – Possíveis parâmetros para glBegin.

Extensão de Síntese de Imagens em OpenGL/C++

  • Padrão de Código
  • Conexões
  • Blocos
  • Visão geral da extensão

Primeiramente, será apresentada a extensão resultante da pesquisa, juntamente com as opções de implementação de todas as etapas importantes para a criação de uma extensão: o padrão de código, os tipos de conexões e os blocos gerados para ela até o momento. As do tipo Flow definem a ordem em que os blocos serão colocados durante a geração do código, e seu conteúdo não possui linha de código. Os blocos são divididos em oito categorias, e a distribuição dos blocos entre eles está disponível na tabela 2.

Para blocos modelados em três, retângulo, quadrado e triângulo são as formas já disponíveis na biblioteca. Os blocos Brush e Mirror Brush funcionam de forma semelhante: são brushes que utilizam o mouse, e ao clicar com o botão esquerdo e pressioná-lo, é criado um traço que é desenhado na tela. Além disso, ele possui operações hierárquicas, como empurrar e abrir o estado da tela em uma pilha de blocos push e pop.

Tabela 2 – Blocos presentes na Extensão de Síntese de Imagens do Mosaicode
Tabela 2 – Blocos presentes na Extensão de Síntese de Imagens do Mosaicode

O Chaos das 5

A distância do ponto onde o mouse foi clicado até o ponto onde o botão foi solto determina o raio do objeto criado. Nesse ambiente é possível realizar algumas transformações: aumentar a escala das formas; gire nos eixos X, Y e Z e centralize todos os objetos em um ponto. Além disso, as funcionalidades do aplicativo são uma chave que devolve os objetos ao seu centro de origem, uma chave que executa todas as transformações feitas no ambiente e uma chave que limpa a janela, liberando espaço dos objetos construídos.

Produções Acadêmicas

Desenvolvimento de extensões de processamento e síntese de imagens para a ferramenta Mosaicode - Oficina de Trabalhos de Graduação em 31º em Gráficos, Modelos e Imagens (SIBGRAPI)/2018 (GOMES; RESENDE; SCHIAVONI, 2018): Neste trabalho, apresentamos as etapas de um desenvolvedor deve levar para criar uma extensão em Mosaicode. Como exemplo de criação de plugins, apresentamos plugins para Síntese de Imagem e Processamento de Imagem, apresentando diagramas como exemplo. Desenvolvimento de blocos OpenGL para a ferramenta Mosaicode - XXV SIC/2018 (GOMES; SCHIAVONI, 2018): Esta produção, feita na forma de artigo de relatório de iniciação científica, descreve a extensão da Síntese de Imagens, destacando detalhes de implementação.

Neste trabalho, apresentamos uma proposta de extensão da ferramenta de síntese de imagens Mosaicode 1 com uma biblioteca OpenGL C/C++ que cria blocos para o domínio da arte digital. Seria interessante fazer um teste de usabilidade com alunos que acabaram de fazer este curso para ver onde a ferramenta pode melhorar como ferramenta de síntese de imagens. Ao interligar a extensão de Síntese de Imagens com a extensão de Visão Computacional e Processamento de Imagens (GOMES; RESENDE; SCHIAVONI, 2018), ela se tornaria uma ferramenta para a criação de instrumentos de imagem digital com possibilidades de criação complexas.

Imagem

Figura 1 – Fluxograma do processo de criação de um bloco
Figura 2 – Página web redirecionada através do site jodi.org. A cada acesso, a página encaminha para o navegador uma aplicação de Web Art
Figura 3 – Intervenção pública de Alfredo Jaar nomeada A Logo for America, ex- ex-posta em Piccadilly Circus, London em 2016
Figura 5 – Ambiente de Programação Mosaicode com a Extensão de Webart em Javascript campo 3 representa as propriedades do bloco Oscillator, que está selecionado no canvas.
+7

Referências

Documentos relacionados

O primeiro ponto de destaque foi a comprovação do aumento do número de projetos de PD&I analisados no primeiro ciclo trimestral experimentado; no segundo ponto, se constatou que