Atividade 15 - Efeitos de transição!

Na última aula foi visto o processo de implementação do efeito chroma key e como a teoria dos conjuntos se relaciona com todo conteúdo visto. A atividade busca expor e discutir o modelo natural e matemático de efeitos de transição de um Video Toaster 4000, uma espécie de "placa de vídeo" ou um próprio computador dedicado somente ao processamento de imagens muito utilizado na década de 90 e início da década de 2000.
Enunciado da atividade:
"expor e discutir os modelos natural e matemático, com base na teoria dos conjuntos,
de uma aplicação que implementa um dos efeitos apresentados em http://goo.gl/KATZjk,
aplicado entre duas imagens à sua escolha."
Vídeo da atividade

O efeito escolhido do vídeo foi o que aparece aos 20 minutos e 17 segundos(20:17)
Efeito escolhido


01 - Imagens
As imagens escolhidas foram encontradas no Google:
Imagem A

Imagem B

Para que possa caber todas as imagens no processing, redimensionei as duas imagens no photoshop e deixei com as dimensões de 320 x 180:

Imagem A redimensionada

Imagem B redimensionada

02 - Modelo Natural
O efeito escolhido é, basicamente, uma sobreposição de imagem com animação. O primeiro vídeo fica no fundo, como uma espécie de background, e o segundo vídeo é "puxado" da esquerda para direita ficando por cima e, consequentemente, ao terminar a animação, sobrepondo o outro vídeo. 

03 - Modelo Matemático
Expondo o modelo matemático da atividade, conclui-se que o mesmo é baseado na teoria dos conjuntos. De modo que há três conjuntos:
- Conjunto A: formado por pixels da imagem A
- Conjunto B: formado por pixels da imagem B
- Conjunto C: inicialmente formada por pixels da imagem A

O efeito da transição é uma troca dos pixels da imagem A pela imagem B.
O conjunto C é justamente a imagem resultada dessa transição. De modo que, inicialmente ela possui os pixels da imagem A(situação 1) e durante a transição é feita uma interseção dos conjuntos A e B(situação 2), resultando em um conjunto só com os pixels da imagem B(situação 3).


Situação 1

Situação 2

Situação 3

04 - Modelo Computacional
Por último fiz uma aplicação no processing para ilustrar os dois modelos anteriores.
Basicamente o código cria 3 variáveis do tipo PImage, para cada conjunto. Também é criado uma variável chamada mouse do tipo float para armazenar a posição X do mouse.

No setup, o size recebeu os valores (960,180) para dividir a tela com as 3 imagens e usei a função loadimage para todas as imagens.

Criei a função transicao com um scanline que repassa os pixels da imagem B para a imagem C conforme é feito a verificação de cada linha e coluna. 

Para a linha(x), enquanto a variável x for menor ou igual a posição do mouseX, a variável vai ser incrementada em um. Assim certifica-se de que os pixels horizontais irão mudar ao longo que o mouse vai se arrastando para direita.

Para a coluna(y), enquanto a variável y for menor ou igual a 180, a variável vai ser incrementada em um. Assim também é certificado que todos os pixels verticais irão mudar, já que a altura da imagem é 180.

Depois é só chamar a função transicao utilizando de parâmetro a variável mouse. 3







Comentários