Você está na página 1de 5

Tem a: Realidade Aumentada com Processing.

Integrante s: José Carlos, Marcos Maranzana, Ronaldo Santos e Yuri Botelho.

Res um o do projeto: Nosso projeto consistia em experimentar o que fosse possível


fazer com a interação entre Processing e a Realidade Aumentada. Porém ao longo do
desenvolvimento do projeto, barramos nas limitações de uma biblioteca ainda em
construção, onde tornou-se a interação de objetos 3D junto da movimentação dos
marcadores em tempo real um grande problema. Com base nesses problemas e com os
conhecimentos conquistados ao longo da pesquisa, desenvolvemos um jogo onde
interagimos através de objetos coloridos e movimentos, com elementos virtuais.

1 – Realidad e aum entad a:

1.a – O que é?

Realidade Aumentada é um ambiente, interativo, que envolve tanto realidade virtual como
elementos do mundo real, criando um ambiente misto em tempo real.

Indo mais a fundo, a realidade Aumentada é defnida usualmente como a sobreposição de


objetos virtuais tridimensionais, gerados por computador, com um ambiente real, por meio
de algum dispositivo tecnológico. Entretanto, esta conceituação é muito geral e só fca
clara com sua inserção em um contexto mais amplo: o da Realidade Misturada.
A Realidade Misturada, misturando o real com o virtual, abrange duas possibilidades: a
Realidade Aumentada, cujo ambiente predominante é o mundo real, e a Virtualidade
Aumentada, cujo ambiente predominante é o mundo virtual. Pode- se dizer, então, que a
Realidade Aumentada é uma particularização da Realidade Misturada. Segundo Mike
Elgan: “A realidade aumentada é uma solução em busca de um problema.”

1.b – Quais os tipos?

- Optical See- through: projeta imagens e informações em um pára- brisa ou outra interface
transparente à frente da pessoa.

- Video See- through: por meio de um capacete ou óculos dá para ver imagens reais com
informações virtuais.

- Espacial: a informação virtual é projetada sobre objetos da cena.

- Indireta: objetos virtuais são projetados no monitor e seguem movimentos do mundo


real.
1.d – Des envolvim ento:

Blibiote c a ARToolkit:

O ARToolkit é a biblioteca que trabalha a visão computacional para detectar marcadores


capturados por uma camera, possibilitando a renderização de imagens computacionais na
posição onde eles foram detectados. É a principal ferramenta para deseenvolvimento de
interfaces com RA, servindo de base para o desenvolvimento de tantas outras.

Bibliote c a s bas e a d a no ARToolkit:

O FL ARTo olKit é uma versão AS3 do ARToolKit. O ARToolKit era uma biblioteca C que
habilitava realidade aumentada; entretanto a versão compatível com Adobe
Flash/Flex/AIR, FLARToolkit, não é meramente um port da versão original. o FLARToolkit
é portado do Java, versão chamada NyARToolKit.

O NyAR To olKit parece executar muito mais rápido que a versão original em C após um
grande esforço de nyatla.

Nós trabalharemos com uma variação da biblioteca NyARToolkit que é a NyAR4psg,


voltada para o desenvolvimento de interfaces com RA para Processing.

2 – Proc e s s in g:

2.a – O que é?

O Processing é uma linguagem de programação de código aberto, um ambiente de


desenvolvimento para pessoas que desejam criar imagens, animações e interações.
Inicialmente desenvolvido para servir como um caderno de desenho de software e para
ensinar os fundamentos da programação de computadores dentro de um contexto visual.
Com diversos desenvolvedores o software evolui, possibilitando com suas ferramentas
gerar códigos profssionais. Hoje, existem milhares de estudantes, artistas, designers,
pesquisadores e amadores que utilizam o Processing como software de aprendizagem,
para produzir protótipos e para geração de códigos.

2.b – Qual sua origem ?

O projeto foi iniciado em 2001 por Casey Reas e Ben Fry, ambos ex- membro do grupo de
Computação no Media Lab do MIT. Eles são os co- fundadores do tratamento e os
primeiros designers da linguagem e do software. A equipe que liderou o impulso atual
para o processing 2.0 inclui: Florian Jenett , Design e Net burgermeister Dan Shifman ,
Tutorials, Andreas Schlegel , Contributed Libraries , Andres Colubri , OpenGL integration,
Filip Visnjic ,Exhibition curator, George Michael Brower , Contributed Tools , Jonathan
Feinberg , Parsing & Android hacking , Chris Lonnen , Processing Development
Environment, Patrick Hebron , Video Library, Damien Di Fede , Sound Library.
4 – Projeto:

Diante de uma grande vantagem oferecida pelo Processing, o acesso a placa gráfca,
diferente de outros softwares com resposta imediata no contexto visual, como o Flash, e a
linguagem simples e com ótimas referências para iniciantes, começamos a nossa
pesquisa com o intuito de desenvolver aplicações onde toda a interação seria
proporcionada em um ambiente de realidade aumentada. Como já foi dito, a biblioteca de
realidade aumentada para Processing que é uma adaptação da NyARToolkit, porém sem
o mesmo potencial, não se mostrou muito capaz para renderizar objetos 3D junto de
interações que exijam movimentos com o marcador sem que a leitura pela webcam fosse
comprometida, fazendo com que os objetos representados sob o marcador sumisse. A
tendência é que essa biblioteca seja aprimorada tornando-se capaz de trabalhar da
melhor forma com a realidade aumentada, colaborando com o crescimento de projetos
voltados para Realidade Aumentada, que desponta como solução de interface em vários
seguimentos da multimídia.

O potencial do Processing continua inegável, a e por esse motivo nós desenvolvemos um


jogo para que se tenha a ideia do que poderá ser feito, caso a biblioteca para realidade
aumentada seja aprimorada.

4.a – Color Pong:

Ainda baseados nos conceitos, que pretendíamos utilizar n a realidade aumentada, fzemos
uma re-leitura de um clássico dos video games: O Pong.

No Color Pong o jogador opta por jogar com outra pessoa ou sozinho. Até aí nada de diferente,
mas antes do jogo iniciar, o jogador já se depara com a sua imagem captada pela webcam e a
solicitação para que posicione um objeto colorido em um quadrado desenhado no centro da tela.
Esta ação nada comum no Pong original, é para que o jogador calibre o seu controlador, neste
jogo a interação não será por meio de um joystick, mouse ou teclado, mas sim pela detecção de
um objeto colorido e movimentos realizados pelo jogador.

Quando o jogo começa, o vídeo é totalmente modifcado, onde o jogador é transformado em um


conjunto de quadrados que mudam de cor a cada ponto, fazendo desta, uma experiência bem
incomum onde tanto a dinâmica como o visual do jogo foram modifcados, porém a sua essência
continua inalterada.

4.b – Como funciona o código:

O código foi construído com base nos diversos tutoriais e exemplos disponíveis na
comunidade de desenvolvimento com Processing. Tendo como destaque a edição de
vídeo e o colour tracking de Daniel Shifman e James Alliban respectivamente.

Pong: Com um único tipo de código de desenho do Processing, o rect(), já é possível criar
os elementos principais do jogo, as raquetes, a bolinha e as linhas que dividem a tela. Os
códigos de incremento realizam os movimentos da bolinha, e os códigos de contato,
realizam uma verifcação onde é comparada a posição da bolinha com a das raquetes,
fazendo com que, caso ambos estejam na mesma posição X e Y da tela, inverta a direção
no movimento da bolinha, causando a impressão da rebatida.
Vídeo: Após invocar a biblioteca de captura de vídeo do Processing e fazer os ajustes
básicos do vídeo, é feita uma varredura nos eixos X e Y do vídeo, onde será detectada as
áreas de brilho na imagem. Junto disso, com os parâmetros de dimensão máxima dos
quadrados já estabelecidas, é realizado o processo onde cada quadrado é desenhado na
na tela, tendo o seu tamanho defnido pela intensidade de brilho na região. Ficando o
brilho da imagem representado por quadrados coloridos e as sombras pelo fundo de outra
cor. Tudo isso em tempo real.

Rastreamento de cores: Após carregar o vídeo, é feito um carregamento de todos os


pixels presentes no vídeo. Pode- se defnir qualquer área da tela para realizar a captura da
cor, nós escolhemos o centro da tela. Na captura, é atribuído a uma variável o valor de cor
presente neste pixel, e logo depois uma separação da cor nos canais R, G e B,
incorporados a outras variáveis.

Após a captura da cor, é realizado um loop constante, rastreando os pixels do vídeo e


validando as cores apresentadas com aquela que foi capturada.

Para auxiliar na comparação das cores é necessário aumentar a gama de cores, para
criar uma tolerância maior na alteração das cores do vídeo, algo comum em um ambiente
onde tanto a luz do monitor como o próprio refexo do objeto pode fazer com que os
valores da cor utilizada sejam diferentes daquele que foi capturado. Neste parâmetro é
criada uma distância de 25 para mais e para menos em cada canal de cor, possibilitando
a detecção da cor mesmo que haja oscilação destes valores.

O código é aberto, portanto lá é possível identifcar cada detalhe da construção do jogo e


da utilização de cada elemento contido aqui. Os comentários foram inseridos no código
para facilitar ao máximo o aprendizado de estudantes que assim como nós, procuram por
referências e exemplos práticos que auxiliem no aprendizado desta excelente ferramenta
de desenvolvimento.

4.f – Res ultado obtido:

Desenvolvimento de um jogo onde pudemos explorar a capacidade de construir


elementos gráf cos diferenciados junto de uma interface muito próxima da que era
pretendida com a realidade aumentada. Com os resultados do Color Pong surgem mais
referências do que poderá ser feito em futuros projetos com a realidade aumentada.

9 – Refêren ci a Bibliográf c a s :

[1] Aplicações de Realidade Aumentada com Flartoolkit [Online] [Outubro 2010]


Disponível:
http://www.ckirner.com/realidadevirtual/?%26nbsp%3B_APLICA%C7%D5E S:FlartoolKit

[2] Tipos de Realidade Aumentada [Online] [Outubro 2010] Disponível:


http://info.abril.com.br/professional/desenvolvimento/bem-vindo-a- realidade-
aumentada.shtml?4
[3] O que é Realidade Aumentada e ARToolKit [Online] [Outubro 2010] Disponível:
http://www.vivaolinux.com.br/artigo/ARToolKit-Criando-aplicativos- de- Realidade-
Aumentada

[4] Defnição de realidade aumentada [Online] [Outubro 2010] Disponível:


http://www.realidadeaumentada.com.br/home/

[5] Origem da R.A. [Online] [Outubro 2010] Disponível:


http://www.baixaki.com.br/info/2124-como- funciona- a- realidade- aumentada.htm

[6] Bibliotecas de R.A. [Online] [Outubro 2010] Disponível:


http://realidadeaumentada.com.br/home/index.php?
option=com_content&task=view&id=6&Itemid=28

[7] Sobre a biblioteca FLARToolkit. [Online] [Outubro 2010] Disponível:


http://www.infoq.com/br/news/2009/04/augmented-reality-with-fash

[8] Site ofcial do software Processing. [Online] [Novembro 2010] Disponível:


http://processing.org/

Você também pode gostar