monografia - representação de ambientes com recursos de realidade aumentada

61
UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS-UNIPAC FACULDADE DE TECNOLOGIA E CIÊNCIAS DE CONSELHEIRO LAFAIETE - FATEC ENGENHARIA DA COMPUTAÇÃO GIL AMBRÓSIO LOPES JÚNIOR REPRESENTAÇÃO DE AMBIENTES COM RECURSOS DE REALIDADE AUMENTADA CONSELHEIRO LAFAIETE 2011

Upload: gil-ambrosio-lopes-junior

Post on 18-Dec-2014

781 views

Category:

Technology


1 download

DESCRIPTION

Monografia sobre Representação de ambientes de imóveis, como cômodos de uma casa em 3D usando recursos da realidade aumentada.

TRANSCRIPT

Page 1: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

UNIVERSIDADE PRESIDENTE ANTÔNIO CARLOS-UNIPAC

FACULDADE DE TECNOLOGIA E CIÊNCIAS DE

CONSELHEIRO LAFAIETE - FATEC

ENGENHARIA DA COMPUTAÇÃO

GIL AMBRÓSIO LOPES JÚNIOR

REPRESENTAÇÃO DE AMBIENTES COM RECURSOS DE

REALIDADE AUMENTADA

CONSELHEIRO LAFAIETE

2011

Page 2: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

GIL AMBRÓSIO LOPES JÚNIOR

REPRESENTAÇÃO DE AMBIENTES COM RECURSOS DE

REALIDADE AUMENTADA

Trabalho de Conclusão de Curso sobre

Representações de Ambientes com

Recursos de Realidade Aumentada,

apresentado ao curso de Engenharia da

Computação da Universidade Presidente

Antônio Carlos – UNIPAC, como

requisito parcial para obtenção do título de

Bacharel em Engenharia da Computação.

ORIENTADOR: JEAN CARLO MENDES

CONSELHEIRO LAFAIETE

2011

Page 3: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

Gil Ambrósio Lopes Júnior

REPRESENTAÇÃO DE AMBIENTES COM RECURSOS DE

REALIDADE AUMENTADA

Trabalho de Conclusão de curso apresentado à Universidade Presidente Antônio Carlos – UNIPAC,

como requisito parcial para obtenção do título de Bacharel em Engenharia da Computação.

BANCA EXAMINADORA

Prof. Jean Carlo Mendes (Orientador)

Universidade Presidente Antônio Carlos - UNIPAC

Prof. Kléber Netto Fonseca

Universidade Presidente Antônio Carlos - UNIPAC

Aprovada em: 26/12/2011

Page 4: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

Este trabalho é dedicado à minha família, minha mãe Cláudia, que sempre me apoiou

e acreditou em meu potencial, meu pai Gil Lopes, minha irmã Jéssica, aos meus avós e tios, e

a todos profissionais que utilizam os fantásticos recursos da tecnologia para o bem social e

humano.

Page 5: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

AGRADECIMENTOS

Agradeço a Deus por me dar coragem e forças para seguir em frente e não

desistir, às pessoas que me apoiaram e acreditaram em mim, meus pais, minha irmã

Jéssica e minha tia Elisa. Ao amigo Leonardo, parceiro na elaboração do projeto.

Agradeço aos professores que ministram aulas no curso de Engenharia da

Computação em especial à Daniella Barros (Rosinha), Alfredo Ganime e Wesley

Luciano, que além de professores são também amigos. E aos professores que não estão

mais presentes na Instituição, mas que tiveram uma importante participação em minha

formação, Luciana Carla e Rone Ilídio.

Agradeço ao professor Jean, por ter aceitado ser o orientador do projeto e que,

sem ele não seria possível a sua conclusão, agradeço pela paciência, interesse e

dedicação.

Page 6: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

“Os progressos obtidos por meio do ensino são lentos; já os obtidos por meio de

exemplos são mais imediatos e eficazes.”

Séneca

“Apesar dos nossos defeitos, precisamos enxergar que somos pérolas únicas no

teatro da vida e entender que não existem pessoas de sucesso e pessoas fracassadas. O que

existem são pessoas que lutam pelos seus sonhos ou desistem deles.”

Augusto Cury

Page 7: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

RESUMO

A monografia consiste em um sistema de imobiliária virtual usando os recursos de

Realidade Aumentada, tais recursos incluem: capacidade de reconhecimento angular do

código/marcadores da Realidade Aumentada para demonstração de um ambiente

tridimensional do imóvel modelado em ferramentas de modelagem 3D.

Os códigos/marcadores de Realidade Aumentada serão impressos em um cubo, cada um

em uma face que representará um cômodo ou uma parte do imóvel, para a demonstração será

criado um ponto inicial com uma determinada visualização do ambiente do imóvel. Com a

movimentação do cubo, será possível a visualização de praticamente todo o presente ambiente

do imóvel.

Palavras Chave: Realidade aumentada, virtual, ambientes.

Page 8: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

ABSTRACT

The Monograph consists of a system of virtual real estate using the resources of

Augmented Reality, these features include: ability to recognize angular Code/Markers of

Augmented Reality for demonstration of a three-dimensional environment of the building

modeled in 3D modeling tools.

The codes/markers of Augmented Reality will be printed on a cube, each face in a will

represent a room or a portion of the property. With the movement of the cube, it is possible to

see practically the whole atmosphere of building.

Keywords: Augmented reality, virtual, environments.

Page 9: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

LISTA DE FIGURAS

Figura 1 - Diagrama de realidade/virtualidade contínua .......................................................... 17

Figura 2 – Diagrama adaptado do sistema de realidade aumentada óptico. ............................. 19

Figura 3 – Diagrama adaptado de realidade aumentada por vídeo........................................... 19

Figura 4 - Diagrama adaptado e dispositivo do sistema baseado em monitor ......................... 20

Figura 5 – Marcadores no ARToolKit ...................................................................................... 22

Figura 6 – Resumo dos passos realizados pelo ARToolKit ..................................................... 22

Figura 7 – Integração entre FLARToolKit e Papervision3D ................................................... 23

Figura 8 – Problema de Oclusão .............................................................................................. 25

Figura 9 –Exemplo de oclusão nos marcadores. (a) Padrão sendo reconhecido. (b)

Escondendo uma parte da região do padrão do marcador ........................................................ 26

Figura 10 – Problema de Iluminação. (a) Marcador com luz ambiente. (b) Marcador com

excesso de luz ........................................................................................................................... 27

Figura 11 –Aplicativo de realidade aumentada que demonstra uma ação publicitária do carro

MINI da Cabrio. ....................................................................................................................... 28

Figura 12 – Jogo de boliche utilizando o Kinect ...................................................................... 29

Figura 13 – Jogo da memória, com vários marcadores ............................................................ 29

Figura 14 – Realidade aumentada na medicina: (a) Visualização da movimentação de um feto

no útero; (b) Retirada de um tumor .......................................................................................... 30

Figura 15 – Mostra uma visão do usuário usando a aplicação: (a) mostra o usuário olhando a

impressora e utilizando uns óculos translúcidos; (b) mostra a visão da aplicação, que mostra o

modo correto de remover a bandeja de papéis ......................................................................... 31

Figura 16 – Formas Primitivas ................................................................................................. 32

Figura 17 –Manipulação e edição dos pontos da malha das geometrias .................................. 32

Figura 18 – Operações booleanas ............................................................................................. 32

Figura 19 – Exemplo de textura ............................................................................................... 34

Figura 20 – Especificação do formato de objetos 3D COLLADA (.dae) ................................ 36

Figura 21 – Fases de desenvolvimento do projeto. Desenvolvimento evolucionário

exploratório ............................................................................................................................... 39

Page 10: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

Figura 22 – Cilindro com texturas. (a) Cilindro apresentado na ferramenta de modelagem. (b)

Teste do Cilindro na aplicação. ................................................................................................ 42

Figura 23 – Cubo com texturas. (a) Cubo apresentado na ferramenta de modelagem. (b) Teste

do cubo na aplicação................................................................................................................. 42

Figura 24 – Quarto com texturas. (a) Quarto apresentado na ferramenta de modelagem. (b)

Teste do quarto criado na aplicação. ........................................................................................ 43

Figura 25 –Fluxo de execução do sistema ................................................................................ 44

Figura 26 – Códigos/Marcadores do cubo de representação dos ambientes ............................ 45

Figura 27 – Exemplo de código/marcador para controle da movimentação dos ambientes .... 45

Figura 28 – Caso de uso #1 ...................................................................................................... 48

Figura 29 – Caso de uso #2 ...................................................................................................... 49

Figura 30 – Caso de uso #3 ...................................................................................................... 49

Figura 31 – Diagrama de estados ............................................................................................. 50

Figura 32 – Cubo com um código/marcador por face para a interação com a aplicação ......... 53

Figura 33 – Realidade aumentada do Estádio Olímpico João Havelange (Engenhão) ............ 53

Figura 34 – Realidade aumentada do Estádio Governador Magalhães Pinto (Mineirão) ........ 54

Figura 35 – Realidade aumentada da vista de cima de um quarto ........................................... 54

Figura 36 –Realidade aumentada da vista de cima de um quarto ............................................ 54

Figura 37 – Realidade aumentada da vista de um dos lados de uma sala ................................ 55

Page 11: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

SUMÁRIO

1 Introdução ................................................................................................................... 14

1.1 Justificativa ........................................................................................................... 14

1.2 Objetivo .................................................................................................................. 15

1.2.1 Objetivo Geral ............................................................................................... 15

1.2.2 Objetivos Específicos ............................................................................... 15

2 REFERENCIAL TEÓRICO ............................................................................. 16

2.1 Realidade Misturada ..................................................................................... 16

2.2 Realidade Aumentada ................................................................................. 17

2.3 Virtualidade Aumentada ........................................................................... 18

2.4 Realidade Aumentada Tangível ........................................................... 18

2.5 Sistemas de Realidade Aumentada ...................................................... 18

2.5.1 Sistemas de Realidade Aumentada Ópticos ................................. 18

2.5.2 Sistemas de Realidade Aumentada por Vídeo ............................ 19

2.5.3 Sistemas de Realidade Aumentada por Monitores .................... 20

2.6 Hardware ............................................................................................................ 20

2.7 Software ............................................................................................................... 21

2.8 ARToolKit ......................................................................................................... 21

2.9 NyToolKit ........................................................................................................... 22

2.10 FLARToolKit ................................................................................................. 23

2.10.1 Funcionamento do FLARToolKit ........................................................ 23

2.11 Problemas presentes em aplicações de Realidade

Aumentada ....................................................................................................................... 24

2.11.1 Problemas de Registro ................................................................................... 24

Page 12: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

2.11.2 Problemas de Oclusão ..................................................................................... 24

2.11.3 O Problema de Oclusão dos Marcadores ................................................... 25

2.11.4 O Problema de Iluminação ........................................................................... 26

2.12 Áreas de Utilização da Realidade Aumentada ........................... 27

2.12.1 Publicidade ....................................................................................................... 27

2.12.2 Jogos ................................................................................................................... 28

2.12.3 Educação ........................................................................................................... 29

2.12.4 Medicina ............................................................................................................ 30

2.12.5 Montagem e Manutenção ............................................................................. 30

2.13 Modelagem 3D .............................................................................................. 31

2.13.1 Formas Primitivas ........................................................................................... 31

2.13.2 Modelagem de Forma Livre ......................................................................... 32

2.13.3 Modelagem de Geometria Sólida Construtiva ........................................ 32

2.13.4 Modelagem por Procedimento .................................................................... 33

2.13.5 Modelagem por Derivação ........................................................................... 33

2.13.6 Renderização .................................................................................................... 33

2.13.7 Texturas ............................................................................................................. 34

2.13.8 Google SketchUp ............................................................................................ 35

2.13.9 Blender .............................................................................................................. 35

2.13.10 Collada (.dae) ................................................................................................ 35

2.14 Flash .................................................................................................................... 36

2.15 RIA (Rich Internet Application) ....................................................... 36

3 METODOLOGIA ................................................................................................... 38

4 DESENVOLVIMENTO ..................................................................................... 39

4.1 Ferramentas de Modelagem 3D ............................................................. 39

4.2 Linguagem de Programação: Action Script ................................... 40

4.3 Kits de Desenvolvimento ............................................................................. 40

4.4 PaperVision 3D ................................................................................................. 40

Page 13: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

4.5 Descrição do Esboço ....................................................................................... 40

4.6 Diagrama de Atividades (Fluxo de Execução) .............................. .44

4.7 Códigos/Marcadores ..................................................................................... 45

4.8 Especificações (Engenharia de Software) ........................................ 46

4.8.1 Requisitos Funcionais ...................................................................................... 46

4.8.2 Requisitos não Funcionais .............................................................................. 47

4.8.3 Limitações do Sistema ...................................................................................... 47

4.8.4 Requisitos de Desempenho ............................................................................. 47

4.8.5 Diagrama de Casos de Uso ............................................................................. 48

4.8.6 Diagrama de Estados ........................................................................................ 50

4.9 Validação .............................................................................................................. 50

4.10 Problemas Enfrentados ............................................................................ 51

4.10.1 Instalação de Kits de Desenvolvimento ..................................................... 51

4.10.2 Criação do Modelo 3D dos Ambientes ...................................................... 51

4.11 Resultados ......................................................................................................... 53

5 CONCLUSÃO ........................................................................................................... 56

6 TRABALHOS FUTUROS ................................................................................. 57

7 REFERÊNCIAS BIBILIOGRÁFICAS .................................................... 58

Page 14: Monografia - Representação de Ambientes com recursos de Realidade Aumentada
Page 15: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

14

1 INTRODUÇÃO

A Realidade Aumentada é uma tecnologia que permite uma interação com o usuário, o

que é obtido através do uso de computação gráfica e de realidade virtual, que resulta na

sobreposição de objetos virtuais com o mundo real.

Além de permitir objetos virtuais em ambientes reais, permite também o manuseio com

as mãos. Entretanto, para que objetos virtuais façam parte do ambiente real e sejam

manuseados, utiliza-se um software capaz de captar o ambiente real e o posicionamento dos

objetos virtuais.

Segundo KIRNER e SISCOUTO (2007), com o crescente uso de webcans e o avanço

tecnológico da visão computacional e o crescente avanço em processamentos computacionais

e de imagens, o rastreamento ótico passou a ser uma realidade em função da disponibilidade

do equipamento de hardware utilizado e seu baixo custo.

O hardware de realidade aumentada pode usar dispositivos de realidade

virtual, mas tende a não obstruir as mãos, que devem atuar naturalmente no

ambiente misturado. Técnicas de rastreamento visual, usando visão

computacional e processamentos de imagens são importantes neste caso.

(TORI, 2006)

Com o uso da Realidade Aumentada para a criação de ambientes virtuais, torna-se

possível a utilização desses ambientes por diversos campos do mercado, como por empresas

responsáveis por publicidade e propaganda, imobiliárias, em arquitetura, construção civil,

dentre outros.

1.1 Justificativa

Com a demanda e exigências do mercado atual é necessário o desenvolvimento de

novas tecnologias, uma delas é a realidade aumentada que se apresenta em diversos campos

de atuação. No presente projeto, é proposto o uso de recursos de realidade aumentada e

representações em 3D, voltadas para o mercado imobiliário.

Com a conclusão e funcionamento do projeto, ele poderá ser apresentado como um

produto a ser comercializado através de imobiliárias que estiverem interessadas em apresentar

Page 16: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

15

seus imóveis de uma forma inovadora, prática e cômoda. Também serão abertas novas

possibilidades para uso em novos projetos, em que é indicado o desenvolvimento de novos

ambientes de apresentação em 3D.

1.2 Objetivos

1.2.1 Objetivo Geral

Desenvolver um sistema para apresentação de interiores de imóveis, onde o ambiente

é representado através de recursos de realidade aumentada, facilitando a visualização do

produto à venda para um possível cliente, que mesmo próximo ou distante do imóvel já possa

ter uma ideia de como é o imóvel que está interessado em adquirir. A apresentação dos

recursos propostos poderá ser demonstrada em diversos ambientes como ambiente web e

possibilitará também amostra em outros ambientes computacionais.

1.2.2 Objetivos Específicos

→ Estudar as novas linguagens utilizadas em criações de softwares, as linguagens de

programação, os recursos de criação de objetos gráficos através do uso de recursos

computacionais, as novas tecnologias de representações gráficas bem como a realidade

aumentada e o seu funcionamento, e as técnicas de programação de interfaces ricas para

internet (RIA).

→ Analisar e elaborar objetos e ambientes em três dimensões.

Page 17: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

16

2 REFERENCIAL TEÓRICO

A ideia de realidade aumentada surgiu com o cientista americano Thomas Caudell que

trabalhava na Boing, empresa de montagem de aviões. Os funcionários da empresa se perdiam

em meio a inúmeros cabos, com isso Caudell teve a ideia de equipar esses operários com

óculos que projetavam etiquetas virtuais diferenciando cada cabo. As etiquetas que eram

compostas por códigos de barra já não realizavam sua função adequadamente, carregar muitas

e todas as informações necessárias. Para resolver esse problema foram criados os códigos de

duas dimensões, que permitiam o armazenamento de uma maior quantidade de informações.

Esses códigos bidimensionais são responsáveis por projetar os objetos virtuais em uma

filmagem do mundo real. Com isso criou-se apenas o protótipo, mas foi a partir daí que surgiu

o conceito de realidade aumentada, ou seja, a realidade que é vista todos os dias incrementada

com elementos virtuais projetados em um visor ou monitor.

As aplicações de realidade aumentada são possíveis graças à combinação dos códigos

de duas dimensões presentes em marcadores e um programa de computador. Os códigos de

duas dimensões permitem a projeção de objetos virtuais no mundo real, com melhora

significativa das informações mostradas, permitindo, assim, uma maior interatividade e ainda

que novas tecnologias sejam utilizadas com maior praticidade.

A realidade aumentada tem como definição a sobreposição de objetos gerados por

computador em um ambiente real. Essa definição deve ser aplicada juntamente com o uso da

Realidade Misturada, que também é uma sobreposição de objetos virtuais em um ambiente

físico, que se tata da mistura do real com o virtual. A realidade misturada permite duas

possibilidades, a virtualidade aumentada que se trata de o ambiente dominante ser o mundo

virtual e a realidade aumentada que tem como ambiente predominante o mundo real.

2.1 Realidade Misturada

A Realidade misturada é a sobreposição de objetos virtuais gerados por computador com

o ambiente físico, mostrada ao usuário, em tempo real, com o apoio de algum dispositivo

tecnológico. A realidade misturada apresenta duas modalidades: realidade aumentada e

virtualidade aumentada. [traduzido de KIRNER, C.; TORÍ, R (2004)].

Page 18: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

17

Figura 1 – Diagrama de realidade/virtualidade contínua.

Fonte: KIRNER, C.; KIRNER, C.; TORÍ, R (2004).

2.2 Realidade Aumentada

Segundo KIRNER e TORI (2004) a realidade aumentada pode ser definida de várias

maneiras:

a) É uma particularização de realidade misturada, quando o ambiente principal é

real ou há predominância do real;

b) É o enriquecimento do ambiente real com objetos virtuais, usando algum

dispositivo tecnológico, funcionado em tempo real.

c) É uma melhoria do mundo real com textos, imagens e objetos virtuais, gerados

por computador [Insley, 2003 apud KIRNER, C.; TORÍ];

d) É a mistura de mundos reais e virtuais em algum ponto da

realidade/virtualidade contínua que conecta ambientes completamente reais a

ambientes completamente virtuais [Milgran, 1994 apud KIRNER, C.; TORÍ, R

(2004).];

e) É um sistema que suplementa o mundo real com objetos virtuais gerados por

computador, parecendo coexistir no mesmo espaço e apresentando as seguintes

propriedades:

- Combina objetos reais e virtuais no ambiente real;

- Executa interativamente em tempo real;

- Alinha objetos reais e virtuais entre si;

- Aplica-se a todos os sentidos, incluindo audição, tato e força e cheiro

[AZUMA, 2001 apud KIRNER, C.; TORÍ, R (2004).]

Page 19: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

18

2.3 Virtualidade Aumentada

De acordo com KIRNER e TORI (2004) a virtualidade aumentada pode ser definida

como uma particularização da realidade misturada, quando o ambiente principal é o virtual ou

há predominância do virtual. É o enriquecimento do ambiente virtual com elementos reais

pré-capturados ou capturados em tempo real.

2.4 Realidade Aumentada Tangível

Segundo SANTOS FILHO (2005), a realidade aumentada tangível utiliza interfaces

tangíveis, que têm por objetivo utilizar objetos reais como dispositivos de entrada e saída para

suas interações.

Suas interfaces utilizam objetos físicos que podem ser controlados, o que faz com que seu

uso seja bem fácil. Nessas interfaces o uso dos dispositivos físicos pode ser combinado com

as alternativas de exibição melhoradas e oferecidas pela sobreposição da imagem virtual.

O projeto apresentado se trata de uma aplicação de realidade aumentada tangível por

funcionar com o uso de um objeto físico, que se trata de um cubo, onde é usado para as

interações de entrada da aplicação proposta.

2.5 Sistemas de Realidade Aumentada

Há três métodos de construção de sistemas de realidade aumentada: óptico, por vídeo e

por monitores. Todos têm como finalidade a combinação dos ambientes reais com os

ambientes virtuais.

2.5.1 Sistemas de Realidade Aumentada Ópticos

Sistemas de realidade aumentada ópticos permitem a visualização de um ambiente real,

de forma direta e também permite a visualização de imagens ou objetos virtuais gerados

através de aplicações.

Page 20: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

19

Figura 2 – Diagrama adaptado do sistema de realidade aumentada óptico.

Fonte: AZUMA, 97

2.5.2 Sistemas de Realidade Aumentada por Vídeo

Em sistemas de realidade aumentada por vídeo é possível se visualizar o ambiente real

por câmeras fixas a um capacete, onde têm como papel representar a função dos olhos do

usuário. A cena real, captada pelas câmeras se mistura com elementos virtuais que devem ser

apresentado diretamente nos olhos do usuário do sistema por mini monitores de vídeo

acoplados ao capacete.

Figura 3 – Diagrama adaptado de realidade aumentada por vídeo.

Fonte: AZUMA, 97

Page 21: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

20

2.5.3 Sistemas de Realidade Aumentada por Monitores

O funcionamento dos sistemas de realidade aumentada por monitores se trata de um

sistema muito parecido com os sistemas de realidade aumentada por vídeo, mas sua diferença

é de que o combinador de cenas envia a combinação dos mundos reais e virtuais para as

câmeras fixadas ao capacete apresentado no sistema por vídeo que irá ser transmitido

diretamente para um monitor ou projetor.

Figura 4 – Diagrama adaptado e dispositivo do sistema baseado em monitor.

Fonte: AZUMA, 97

2.6 Hardware

Os sistemas de realidade aumentada podem usar dispositivos de hardware de realidade

virtual, porém não obstrui as mãos.

A tecnologia de realidade virtual envolve todo o hardware utilizado pelo usuário para

participar do ambiente virtual. Estão incluídos ai os rastreadores, os capacetes, os

navegadores, luvas, fones de ouvido, as câmeras os dispositivos de reação e outros

dispositivos específicos. (VINCE, 1995, 2004, SHERMAN, 2003 APUD KIRNER, C. ;

TORI, R., 2004).

Page 22: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

21

2.7 Software

A realidade aumentada também demanda softwares mais potentes de acordo com que

vão surgindo novas aplicações mais complexas e poderosas.

O software atua na fase de preparação do sistema, como software de autoria de

ambientes 3D, e na fase de execução. (TORI R., KIRNER C., SISCOUTO R., 2006).

Os softwares de autoria podem envolver linguagens, toolkits implementados sob a

forma de bibliotecas, toolkits gráficos e até mesmo game engines.

2.8 ARToolKit

De acordo com SILVA(2006), o ARToolKit foi desenvolvido pelo Dr. Hirokazu Kato

da Universidade de Osaka, Japão e é apoiado pelo Human Interface Technology Laboratory

(HITLab) da Universidade de Washington e pelo HITLab NZ da Universidade de Canterbury,

Nova Zêlandia. O ARToolKit já foi modificado diversas vezes, conforme a necessidade dos

programadores.

O ARToolKit é uma biblioteca para desenvolvimento de aplicações que utilizam

recursos de realidade aumentada, escrito nas linguagens de programação C e C++. Utiliza a

visão computacional para realizar os cálculos referentes à posição e orientação da câmera de

acordo com o marcador em tempo real.

SANTOS FILHO (2005), descreve o funcionamento do ARToolKit da seguinte

maneira, primeiramente, o marcador é capturado em tempo real (Figura 5a) por uma câmera,

onde seu padrão é transformado em binário (preto ou branco) a partir do valor do limiar

(Figura 5b). Na imagem obtida é encontrada uma região quadrada, onde para cada uma delas

existe um padrão já armazenado na base de dados do ARToolKit, caso a região quadrada

represente um marcador que se encontra armazenado, é calculada a posição da imagem

capturada pela câmera. Uma matriz é preenchida com as coordenadas do mundo real que se

referem ao objeto virtual a ser posicionado sobre o marcador e então a imagem virtual é

inserida no dispositivo de reprodução relacionada ao marcador (Figura 5c).

Page 23: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

22

(A) (B) (C)

Figura 5: Marcadores no ARToolKit

Fonte: SANTOS FILHO (2005).

Figura 6: Resumo dos passos realizados pelo ARToolKit (HITLab,2004).

Fonte: SILVA, 2006.

2.9 NyARToolKit.

O NyARToolKit é uma biblioteca para desenvolvimento de aplicativos de realidade

aumentada para dispositivos móveis como celulares, baseado no ARToolKit. Foi

desenvolvido para uso em diversas linguagens de programação como JAVA, C++, C# e

ActionScript3. Funciona no sistemas operacionais Windows e Linux.

Junto com o ARToolKit o NyARToolKit em sua versão portátil em JAVA serviu

como base para o desenvolvimento da ferramenta FLARToolKit.

Page 24: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

23

2.10 FLARToolKit.

O FLARToolKit se trata da versão para desenvolvimento de aplicativos em realidade

aumentada na linguagem de programação ActionScript 3 para Flash e é baseado nas

bibliotecas ARToolKit e em NyARToolKit na sua versão portátil desenvolvida em JAVA.

Reconhece os marcadores da imagem de entrada calculando sua orientação e posição no

mundo real.

Desenvolvido por Saqoosha, o FLARToolKit é passível de juntar animações e

imagens em três dimensões, como no ARToolKit, bem como animações e aplicações

desenvolvidas com a tecnologia Papervision3D(SAQOOSHA,2010 apud MATOS,2010).

Figura 7: Integração entre FLARToolKit e Papervision3D.

Fonte: PAPERVISION 3D, 2009 apud MATOS, 2010.

2.10.1 Funcionamento do FLARToolKit.

Por ser uma versão do ARToolKit, os princípios básicos de funcionamento do

FLARToolKit são os mesmos, ou seja, é detectada uma imagem pré-cadastrada no sistema

pela webcam e é calculada sua posição através de algoritmos de rastreamento no espaço 3D,

exibindo a aplicação também cadastrada previamente no sistema (PAPERVISION3D,2009

apud MATOS, 2010).

Page 25: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

24

2.11 Problemas presentes em aplicações de Realidade Aumentada

Como praticamente todas as aplicações e ferramentas voltadas para a computação

costumam apresentar alguns problemas comuns, a realidade aumentada também tem os seus.

O que deve ser feito é buscar soluções cabíveis para os problemas ou até mesmo tentar

contorná-los, através do correto uso dos marcadores, que são onde as maiorias dos problemas

ocorrem.

Conforme descrito por Kato (ARTOOLKIT, 2010 apud MATOS, 2010) uma das

principais dificuldades encontradas no desenvolvimento de aplicações em realidade

aumentada é o problema do rastreamento do ponto de vista do usuário. Ou seja, para saber em

qual ponto de vista deve ser desenhada a imagem virtual, a aplicação deve saber de onde o

usuário está olhando no mundo real. (MATOS, 2010).

2.11.1 Problemas de Registro

De acordo com AZUMA (1994 apud MATOS, 2010), para o correto funcionamento

das aplicações que utilizam realidade aumentada é necessário que os objetos reais e virtuais

estejam corretamente alinhados para que se tenha uma perfeita ilusão de existências dos

ambientes real e virtual misturados. O alinhamento resultante dos objetos reais e virtuais tem

como definição o nome de registro que possui como função informar ao sistema a posição e

as dimensões dos objetos reais que irão fazer parte do cenário a ser visualizado. (COMPORT,

MARCHAND e CHAUMETTE, 2003 apud MATOS, 2010).

2.11.2 Problemas de Oclusão

Os problemas de oclusão são bastante comuns em aplicações de realidade aumentada,

ocorrem com os marcadores e também com os objetos no mundo real.

Oclusão refere-se ao ato de ocultar (mascarar) porções dos

objetos reais ou virtuais na cena 3D tornando sua coexistência o

mais real possível. (GROHS e MAESTRI, 2002, p. 41 apud

MATOS, 2010).

Page 26: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

25

Na figura 8 pode-se observar uma cena contendo dois objetos virtuais, um tabuleiro de

xadrez e uma mulher. O Tabuleiro de xadrez fica oculto parcialmente por um gabinete de

computador real e a mulher oculta parte do ambiente real.

Figura 8: Problema de Oclusão

Fonte: (BALCISOY et al, 2000, p.3 apud MATOS,2010).

A aplicação deveria apresentar a imagem real e, sobre ela, a virtual, que deveria

aparecer sobre o gabinete, caso não existisse a oclusão em parte do tabuleiro.

2.11.3 O Problema da Oclusão nos Marcadores

Ao utilizar os marcadores de uma aplicação em realidade aumentada, o usuário deve

ter o cuidado de não colocar os dedos ou obstruir de forma alguma parte do marcador, pois

quando uma parte do marcador é escondida, a aplicação perde o padrão do marcador e como

resultado o objeto virtual não é mostrado.

SANTOS FILHO (2005) explica que a oclusão não apresenta somente desvantagens,

seu efeito pode ser explorado com o uso de diversos marcadores, como o usuário desejar que

os objetos virtuais de um determinado marcador não sejam mais exibidos.

Page 27: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

26

(a) (b)

Figura 9: Exemplo de oclusão nos marcadores. (a) Padrão sendo reconhecido.

(b) Escondendo uma parte da região do padrão do marcador.

Fonte: SANTOS FILHO (2005).

2.11.4 O Problema de Iluminação

Em aplicações desenvolvidas para o uso de técnicas de realidade aumentada existe

uma grande preocupação com a iluminação do ambiente em que a aplicação será usada. Essa

preocupação vem do fato de que pouca iluminação pode interferir no processo de

reconhecimento dos padrões existentes nos marcadores, da mesma forma, marcadores muito

iluminados pode acarretar o surgimento de sombras que devem ser evitadas.

O uso adequado das aplicações quanto à iluminação, deve ser realizado em

iluminações naturais do ambiente.

Segundo SANTOS FILHO (2005), o problema de iluminação deve ser tratado com

muito cuidado, pois a não resolução dele acarreta no não funcionamento adequado da

aplicação. Deve-se utilizar uma luz próximo da luz ambiente. Ambientes com muita

iluminação fazem com que o padrão dos marcadores desapareça, não sendo possível para a

aplicação identificar qual marcador está sendo utilizado. (SANTOS FILHO, 2005).

Page 28: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

27

(a) (b)

Figura 10: Problema de iluminação. (a) Marcador com luz ambiente. (b)

Marcador com excesso de luz.

Fonte: SANTOS FILHO (2005).

2.12 Áreas de Utilização de Realidade Aumentada

A realidade aumentada se apresenta em diversos campos como, por exemplo,

publicidade, jogos, educação, medicina, montagem e manutenção dentre outros.

A seguir é apresentada uma especificação e explicação da realidade aumentada

funcionando sobre os campos de atuação apresentados.

2.12.1 Publicidade

A cada dia as empresas buscam diferentes formas de atrair clientes para seus negócios,

a maneira que elas buscam para realizar essa tarefa é através do uso de publicidade e

propaganda e uma nova tecnologia que vem ganhando cada vez mais espaço nessas áreas é a

realidade aumentada, que é utilizada para a produção de anúncios com baixo custo.

Ações publicitárias que usam a tecnologia estão cada vez mais, ganhando espaço e

uma que pode ser citada é, a ação publicitária do carro MINI Cabrio.

Page 29: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

28

Figura 11 – Aplicativo de realidade aumentada que demonstra uma ação publicitária

do carro MINI da Cabrio.

Fonte: Cadeia Criativa. 2010.

(http://cadeiacriativa.wordpress.com)

2.12.2 Jogos

Para SANTOS FILHO (2005), uma das áreas mais rentáveis da realidade aumentada é

o setor de entretenimento, onde podem ser criados jogos com técnicas de imersão, onde o

usuário pode utilizar a área de sua casa para se “transportar” ao ambiente de jogo.

Vários jogos que utilizam os recursos de realidade aumentada já foram criados e

existem jogos que vão dos mais complicados ao mais simples, que podem ou não fazer a

utilização de marcadores.

Tem-se como o meio mais interessante para jogos com realidade aumentada, o Kinect,

lançado em 2010 pela Microsoft® como periférico para o console XBOX 360. O Kinect

permite ao usuário jogar sem o controle, usando apenas o seu próprio corpo e movimentos.

O Kinect se trata de um grande exemplo de funcionamento da realidade aumentada.

Nele, tanto o mundo real quanto o virtual, se misturam e interagem com perfeição, com isso o

jogador tem a sensação de estar dentro do jogo.

Page 30: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

29

Figura 12: Jogo de boliche utilizando o Kinect.

Fonte: Blog logganinformatica. 2010.

(http://logganinformatica.blogspot.com)

2.12.3 Educação

O uso da realidade aumentada na educação se encaixa muito bem e vai desde aos

sistemas de ensino para crianças deficientes até ao ensino superior.

A utilização da realidade aumentada auxilia no entendimento de gráficos, métodos e

vários outros objetos de estudo, tendo como exemplos adicionais, aplicações de matemática e

um jogo de memória onde as crianças devem associar animais a partir de imagens projetadas.

Com o uso da realidade aumentada o aprendizado é mais bem aproveitado devido à

interatividade que oferece.

Figura 13: Jogo da memória, com vários marcadores.

Fonte: SANTOS FILHO (2005).

Page 31: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

30

2.12.4 Medicina

Hoje em dia já existem cirurgias que são realizadas com o uso da realidade aumentada.

Nessas cirurgias o médico tem uma melhor visualização do corpo do paciente, que são

representadas por modelos 3D onde ajudam o médico ao fazer cortes no corpo e reduz os

riscos de prejudicar o paciente.

(a) (b)

Figura 14: Realidade aumentada na medicina: (a) Visualização da movimentação de

um feto no útero; (b) Retirada de um tumor.

Fonte: SANTOS FILHO (2005).

2.12.5 Montagem e Manutenção

Com a utilização de técnicas de realidade aumentada o uso de manuais torna-se não

necessário, pois o usuário terá uma representação em 3D de seu equipamento que mostra os

passos a serem realizados para uma determinada tarefa de manutenção ou montagem. Esse

recurso também pode ser aproveitado em cursos técnicos, onde o aluno deve seguir os passos

apresentados pela iteração 3D e assim, desta forma aprender como realizar determinadas

tarefas de manutenção e montagem de equipamentos.

SANTOS FILHO (2005) descreve uma aplicação interessante que foi desenvolvida

por pesquisadores da Universidade de Columbia, onde ela ajuda usuários no processo de

manutenção de uma impressora a laser.

Page 32: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

31

(a) (b)

Figura 15: Mostra uma visão do usuário usando a aplicação: (a) mostra o usuário

olhando para a impressora e utilizando uns óculos translúcidos, (b) mostra a visão da

aplicação, que mostra o modo correto de remover a bandeja de papéis.

Fonte: SANTOS FILHO (2005).

2.13 Modelagem 3D

Os métodos de modelagem em três dimensões oferecidos pela maior parte dos

softwares de modelagem tridimensional, de acordo com Lucena (2002, apud NETO, MELO,

Revista da Pesquisa, AGO/2004 – JUL/2005), podem ser divididos em cinco categorias:

• Formas primitivas;

• Modelagem de Forma Livre;

• Geometria Sólida Construtiva;

• Modelagem por procedimento;

• Modelagem por derivação.

(NETO, MELO, Revista da Pesquisa, AGO/2004 – JUL/2005)

2.13.1 Formas Primitivas

As formas primitivas constituem uma coleção de formas geométricas pré-construídas.

As geometrias mais comuns de acordo com NETO, MELO (AGO/2004 – JUL/2005) são: a

esfera, o cubo, o cilindro e o cone.

Page 33: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

32

Figura 16: Formas Primitivas

Fonte: NETO, MELO (Revista da Pesquisa, AGO/2004 – JUL/2005)

2.13.2 Modelagem de Forma Livre

A modelagem de forma livre é caracterizada de acordo com as possibilidades de

manipulação das geometrias, através de suas curvas. Permite ao usuário trabalhar com pontos

isolados da malha ou em conjunto desses pontos. (NETO, MELO, Revista da Pesquisa

,AGO/2004 – JUL/2005).

Figura 17: Manipulação e edição dos pontos da malha das geometrias

Fonte: NETO, MELO (Revista da Pesquisa,AGO/2004 – JUL/2005).

2.13.3 Modelagem de Geometria Sólida Construtiva

NETO, MELO(Revista da Pesquisa, AGO/2004 – JUL/2005) dizem que a forma de

modelagem de Geometria Sólida Construtiva, faz uso de operações de união, intersecção e

diferença entre duas geometrias, para a geração de novas formas tridimensionais, chamadas

de operações booleanas.

Figura 18: Operações booleanas

Fonte: NETO, MELO (Revista da Pesquisa, AGO/2004 – JUL/2005)

Page 34: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

33

2.13.4 Modelagem por Procedimento

De acordo com NETO, MELO (Revista da Pesquisa, AGO/2004 – JUL/2005) a

modelagem por procedimento, utiliza um algoritmo para atribuir um tipo de procedimento ou

ação, responsável pela definição de um objeto a ser gerado. Para isso, tem-se diversos tipos de

parâmetros a serem configurados que possibilitam a facilidade de modificação dos atributos

que formam o objeto.

2.13.5 Modelagem por Derivação

Ainda para NETO, MELO (Revista da Pesquisa, AGO/2004 – JUL/2005) o método de

modelagem por derivação, é dividido em três formas de geração de modelos tridimensionais,

mas todas têm relações entre duas ou mais formas bidimensionais para a criação de um objeto

de três dimensões:

• Extrusão: permite que uma cópia da forma bidimensional seja estendida ao

longo de um eixo selecionado.

• Secção transversal serial: permite a conexão de diversas secções

bidimensionais que podem possuir diversas formas e tamanhos.

• Revolução: Dentro da modelagem por derivação, a técnica de revolução

utiliza um giro completo em torno do próprio eixo de uma forma bidimensional.

2.13.6 Renderização

A renderização se trata de uma técnica necessária para que todos os parâmetros dos

objetos criados sejam calculados e transferidos para uma imagem final. É importante relatar

que, a tridimensionalidade de uma imagem é ilusória, uma vez que tanto o processo de

criação, quanto a imagem final, estão fixadas à um plano bidimensional. (NETO, MELO,

Revista da Pesquisa, AGO/2004 – JUL/2005).

Para que a imagem final seja criada, de acordo com Kerlon (2000 apud NETO, MELO

Revista da Pesquisa, AGO/2004 – JUL/2005), há três métodos de renderização:

• Z-Buffer: Os objetos são espalhados de acordo com seus parâmetros de

profundidade na cena, que devem ser guardados em um meio de armazenagem

Page 35: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

34

temporário usado para compensar as diferenças nas taxas de dados e o fluxo de dados

entre dois dispositivos (por exemplo, um computador e uma impressora), para

verificar se determinado ponto de cada objeto criado está visível.

• Ray Tracing: Realiza cálculos dos caminhos, no ambiente 3D, dos raios

emitidos por uma fonte de luz, desta forma é possível visualizar o efeito de fontes de

luz, uma vez que o método de Z-Buffer não tem atenção ao trajeto dos raios luminosos

que estiveram sendo transmitidos do interior de um material transparente.

• Radiosity: É o método responsável por calcular a transferência da quantidade

de luz entre as superfícies de todos os objetos na renderização até que a energia da luz

seja absorvida pelas superfícies, ou dissipada no espaço. Esse método também é

responsável pelo cálculo da direção da luz para todo o ambiente relacionado com o

objeto criado.

2.13.7 Texturas

As texturas são as características de uma superfície, onde se torna possível a

identificação e diferenciação de objetos e formas, portanto, uma textura se trata de uma

sensação visual e/ou tátil.

Existem dois tipos de texturas, as naturais, que são aquelas que caracterizam os

aspectos do exterior de formas e coisas existentes na natureza, como por exemplo, as pedras,

folhas, peles, solo, madeira, etc.

Também existem as texturas artificiais, que são resultantes da intervenção do ser

humano, são criadas a partir da manipulação de materiais e de técnicas utilizadas nas

linguagens plásticas. As texturas artificiais podem ser criadas com características ornamentais

ou funcionais.

Em objetos virtuais, as texturas que os compõe, retratam exatamente as texturas

naturais e artificiais existentes, que são usadas para criar um melhor visual e representação do

modelo computacional criado.

Figura 19: Exemplo de textura artificial.

Fonte: ensinarEVT, 2011. (http://ensinarevt.com)

Page 36: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

35

2.13.8 Google SketchUp

O Google SketchUp é um sistema simples, fácil de aprender e intuitivo de usar, usada

como ferramenta para criar, explorar, exportar e importar modelos em 3D.

É um sistema em que se podem criar modelos em três dimensões partindo do zero ou

usando dados existentes, importando desenhos, plantas, fotos, imagens aéreas e outras

informações que podem ser usadas como ferramentas para modelagem. Com o SketchUp é

possível ser exportados os objetos modelados para o formato COLLADA (.dae).

2.13.9 Blender

O Blender se trata de um conjunto de ferramentas para a criação de conteúdos em três

dimensões. Permite executar tarefas completas para modelagem como, renderização,

animação, pós-produção, criação e visualização de conteúdo 3D interativo, com os benefícios

de portabilidade. (Blender Org.).

É também utilizado para visualizar espaços tridimensionais, imagens estáticas, assim

como vídeos em alta definição, possui um motor 3D em tempo real, que permite a criação de

conteúdos 3D interativos. (Blender Org.). Foi desenvolvido pela empresa Not a Number, e

agora é desenvolvido como software livre pela Blender Foundation. (Blender Org.). Com o

Blender é possível ser exportados os objetos modelados para o formato COLLADA (.dae).

2.13.10 Collada (.dae)

Formato utilizado por ferramentas de modelagem 3D e utilizado em aplicações com

recursos de realidade aumentada que oferecem visualizações em três dimensões.

COLLADA são atividades colaborativas de design para definir um padrão de

esquemas de recursos digitais interativos para aplicações 3D. Tem por definição um esquema

de banco de dados que permite que aplicações de criação 3D troquem de forma livre, ativos

digitais sem perda de informação. O formato COLLADA é capaz de suportar todos os

recursos que aplicações interativas 3D necessitam, como efeitos de sombreamento.

(Collada.org).

Page 37: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

36

Figura 20: Especificação do formato de objetos 3D COLLADA (.dae)

Fonte: Figura adaptada de KHRONOSTM, COLLADATM. (2008).

2.14 Flash

Flash é uma tecnologia usada na Web que possibilita a criação de animações vetoriais.

O uso de gráficos vetoriais permite realizar animações de pouco peso, ou seja, que demoram

pouco para ser carregadas. (ALVAREZ, 2004).

Segundo o site CriarWeb e ALVAREZ(2004) o flash utiliza a linguagem de

programação ActionScript, que permite executar diferentes partes de uma animação ou

aplicação em função de eventos produzidos pelo usuário.

2.15 RIA (Rich Internet Application)

Dando início à próxima inovação no lado dos clientes na internet, foi construída, pela

Adobe®, uma interface para internet que irá melhorar a qualidade dos aplicativos de usuário

final, tornando a internet mais relevante e útil para empresas e consumidores.

Trata-se de um avanço na prestação de experiências efetivas para usuários finais,

permitindo que aplicações de Internet, que mistura conteúdos de aplicações, de lógica e de

comunicações, seja um mecanismo mais agradável e útil para os clientes, essa é uma

alternativa bastante interessante que fornece uma arquitetura sólida e dinâmica.

Aplicações para uso da Realidade Aumentada são sistemas que possuem uma

interatividade com o usuário, por esse motivo são criadas dando maior importância ao

Page 38: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

37

usuário, por isso são consideradas como aplicação RIA, essas são sistemas independentes que

garantem flexibilidade e são executados a partir de navegadores de internet.

Page 39: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

38

3 METODOLOGIA

Para o desenvolvimento do projeto foram feitos estudos de materiais como aplicativos,

imagens e vídeos que utilizam e exemplificam o uso da realidade aumentada para diversos

fins. Depois disso, foram realizados ainda, estudos mais aprofundados para levantamento de

requisitos e o desenvolvimento da engenharia de software que trata o sistema do projeto.

Posteriormente foram feitos novos estudos e desenvolvimento dos ambientes e objetos em

3D, que serão utilizados para a execução do projeto e assim foi realizada a integração e o

funcionamento com os ambientes e objetos tridimensionais.

Page 40: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

39

4 DESENVOLVIMENTO

O projeto foi desenvolvido através do uso de ferramentas de modelagem 3D como o

Google Sketchup e Blender. A implementação dos códigos (Marcadores) e interpretação da

realidade aumentada foi feita na linguagem de programação ActionScript usando o kit de

desenvolvimento FLARToolKit em sua versão 2.5.4 e também com o uso da biblioteca

gráfica PaperVision3D. Outras linguagens e kits de desenvolvimento mais conhecidos que

permitem a criação de aplicativos que utilizam a realidade aumentada são, JAVA e C++ que

usam os ToolKits, JARToolKit e ARToolKit respectivamente.

A figura 21 especifica as fases do projeto:

Figura 21: Fases de desenvolvimento do projeto. Desenvolvimento evolucionário

exploratório.

Fonte: Imagem adaptada de (SOMMERVILLE, 2007 apud MATOS, 2010).

Segue uma breve descrição das ferramentas citadas:

4.1 Ferramentas de Modelagem 3D

• Google Sketchup: Ferramenta utilizada para criar modelos de objetos e ambientes em

3D. Foi o software utilizado para modelagem dos objetos 3D no presente projeto.

• Blender: Software de código aberto, desenvolvido pela Blender Foundation, para

modelagem, animação, texturização, composição, renderização, edição de vídeo e criação de

aplicações interativas em 3D. Também foi utilizado para modelagem dos objetos 3D do

trabalho.

Page 41: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

40

4.2 Linguagem de Programação: ActionScript

A linguagem de programação utilizada no projeto foi a ActionScript, que se trata de

uma linguagem de programação usada para criar aplicações em Flash. Possibilita a criação de

projetos interativos ou aplicações complexas que envolvam base de dados e serviços web.

4.3 Kits de Desenvolvimento

O ARToolKit se trata de uma biblioteca de software utilizada para desenvolvimento de

aplicações em realidade aumentada, baseada nas linguagens C e C++. Possui código aberto

que possibilita alteração e ajustes para aplicações especificas. Não foi utilizado no projeto

devido a existência de vários problemas na ferramenta.

O JARToolKit se trata de uma biblioteca criada na linguagem de programação JAVA,

feita dos princípios da biblioteca ARToolKit. Possibilita desenvolver aplicações sobre

realidade aumentada, utilizando comandos gerados pelo vídeo capturado, possibilitando o uso

em várias aplicações no assunto.

O Kit de desenvolvimento utilizado para a implementação do projeto, se trata do

FLARToolKit que é uma ferramenta de código aberto, portanto livre e gratuita, que junto à

biblioteca PaperVision3D, possibilita desenvolver aplicativos para web que utilizam a

realidade aumentada, usando a linguagem de programação ActionScript.

4.4 PaperVision3D

A Biblioteca PaperVision3D possui código aberto e é utilizada para criar e modelar

objetos virtuais em três dimensões. A PaperVision3D foi utilizada para o desenvolvimento do

trabalho, integrando-a junto ao kit de desenvolvimento FLARToolKit.

4.5 Descrição do Esboço

O projeto se trata do desenvolvimento de uma aplicação que utiliza recursos de

realidade aumentada para visualização de ambientes de casas e outros imóveis, podendo

Page 42: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

41

também possibilitar visualizações de outros tipos de ambientes. Portanto refere-se a um

sistema de imobiliária virtual.

Com o uso dos recursos de realidade aumentada, a aplicação irá possibilitar também a

capacidade de reconhecimento angular do código de realidade aumentada para a

movimentação em um ambiente tridimensional do imóvel apresentado para a visualização do

usuário.

Para a utilização da aplicação, os códigos/marcadores de realidade aumentada foram

impressos em um cubo, onde cada face possui um código/marcador que representa um

cômodo ou uma parte do imóvel, onde é apresentado um ponto inicial com determinada

visualização do ambiente. Outro código/marcador é utilizado para a visualização de

praticamente todo o ambiente, para um movimento de zoom, a face do cubo com o

código/marcador referente ao ambiente que o usuário deseja visualizar deve ser aproximada

da câmera para efeito de zoom (aumentar) ou afastada da câmera para ver o ambiente como

todo (diminuir). Ao se inclinar a o código/marcador adicional são realizadas mais algumas

ações:

• Código/Marcador, quando inclinado para frente, é realizada a ação de “olhar

para baixo”, sendo mostrado assim o chão do ambiente.

• Código/Marcador sendo inclinado para trás, realiza a ação de “olhar para cima”,

assim possibilitando a visualização do teto do ambiente.

• Ao se tombar o código/marcador para qualquer um dos lados (esquerda ou

direita) irá ser realizada a ação de “olhar para” o lado que o código/marcador foi tombado,

mostrando assim as partes da esquerda e da direita do ambiente.

• Para uma mudança de cômodos ou ambientes, simplesmente muda-se a face do

cubo.

Para o uso da aplicação foram modeladas algumas formas geométricas em 3D, e uma

pequena sala com uma mesa no centro que foram utilizadas em testes.

Page 43: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

42

(a) (b)

Figura 22: Cilindro com texturas. (a) Cilindro apresentado na ferramenta de

modelagem. (b) Teste do Cilindro na aplicação.

Fonte: do Autor

(a) (b)

Figura 23: Cubo com texturas. (a) Cubo apresentado na ferramenta de modelagem. (b) Teste

do cubo na aplicação.

Fonte: do Autor

Page 44: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

43

(a) (b)

Figura 24: Quarto com texturas. (a) Quarto apresentado na ferramenta de modelagem. (b)

Teste do quarto criado na aplicação.

Fonte: do Autor

Page 45: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

44

4.6 Diagrama de Atividades (Fluxo de Execução)

Figura 25: Diagrama de Atividades do sistema (Fluxo de execução).

Fonte: do Autor.

Page 46: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

45

4.7 Códigos/Marcadores

Figura 26: Códigos/Marcadores do cubo de representação de ambientes.

Fonte: do Autor.

Figura 27: Exemplo de Código/Marcador para controle da movimentação dos

ambientes.

Fonte: do Autor.

Page 47: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

46

4.8 Especificações (Engenharia de Software)

A Engenharia de Software se trata de um estudo e aplicação para o desenvolvimento,

operações e manutenção de softwares, usada para dar uma maior qualidade e produtividade ao

software, relacionada aos aspectos de produção, desde os estágios iniciais de especificação do

sistema até sua manutenção.

Devido ao projeto ser um tipo de software e possuir dificuldades para sua criação, será

necessária a implementação da Engenharia de Software, visando demonstrar as

funcionalidades e recursos do sistema, como pode ser visto a seguir.

4.8.1 Requisitos Funcionais

RF #1: Os marcadores deverão ser impressos no formato de um cubo, ou outra forma

geométrica que possibilite a impressão de um marcador em cada face e que seja uma peça que

ofereça a possibilidade de ser montada a partir de uma matriz de papel.

RF #2: Cada face do cubo deverá possuir um marcador diferente que represente um ambiente

diferente.

RF #3: O controle do ambiente virtual deverá ser realizado por um marcador específico para

controle.

RF #4: A impressão deverá ser feita em papel fosco, para evitar falhas no reconhecimento do

marcador.

RF #5: O computador do usuário deve possuir webcam instalada e em perfeito funcionamento

para o reconhecimento das imagens.

RF #6: As matrizes de montagem do cubo deverão ser disponibilizadas pela divulgadora por

meio de folders com a matriz para recortar e montar e as instruções de montagem, e por meio

do site, através do download de um arquivo PDF (Portable Document Format) contendo a

matriz e as instruções de montagem além do marcador de controle.

Page 48: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

47

RF #7: Durante a simulação o usuário poderá definir o ângulo de visão, ampliar a visão

(aplicar ou retirar o zoom) e rotacionar a sua visão, por meio de movimentos com o marcador

de controle.

RF #8: O sistema deve apresentar a interface e as instruções de uso em português.

4.8.2 Requisitos não Funcionais

RNF #1: O sistema deve ser implementado na linguagem FLASH, visando a construção de

um sistema flexível quanto a plataforma a ser utilizada. O sistema pode rodar em diferentes

sistemas operacionais, por exemplo: Windows ou Linux, e ter versões para dispositivos

móveis.

RNF #2: O sistema deve fornecer ao usuário uma interface amigável e intuitiva, que obedeça

aos princípios básicos da Realidade Aumentada.

4.8.3 Limitações do Sistema

LS #1: O sistema requer o sistema Operacional Windows XP ou Linux equivalente, com

Adobe Flash Player 9 ou superior instalado e navegadores Microsoft Internet Explorer 8,

Mozilla Firefox 3 e Google Chrome 4 ou suas respectivas versões superiores.

LS #2: O sistema requer uma câmera com qualidade VGA (640X480 pixels) ou superior.

LS #3: O sistema requer uma conexão banda larga de no mínimo 256Kbps.

4.8.4 Requisitos de Desempenho

• RD #1 – O sistema deverá ser executado em tempo real.

Page 49: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

48

4.8.5 Diagramas de Caso de Uso

Em práticas de UML, o desenvolvimento dos diagramas de Caso de Uso tem como

objetivo a modelagem do sistema.

No sistema em questão, foi identificado apenas um ator: o Usuário.

• UC #1 – Caso de uso 1.

Figura 28: Caso de uso #1.

Fonte: do Autor

O usuário deverá escolher o lado correspondente ao ambiente que deseja exibir através

do uso do cubo de marcadores de ambientes, então irá ser definido o modo de visão desejado,

aplicando movimentação e rotação ao ambiente.

É composto pelos casos de uso Escolhe_Lado e Define_modo_visao.

Descrição:

• Escolhe_Ambiente

→Ator: Usuário

→Pré-Condições: A aplicação deve ter sido iniciada

→Curso Normal: O usuário acessa o site da aplicação ou ambiente e exibe à

câmera a face do cubo que contém o ambiente desejado.

Page 50: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

49

→Curso de Execução: Se não houver um marcador válido, o ambiente não

será exibido.

• UC #2 – Caso de Uso 2.

Figura 29: Caso de uso #2

Fonte: do Autor

• UC #3 – Caso de Uso 3.

Figura 30: Caso de uso #3

Fonte: do Autor

Descrição:

• Define_Modo_Visao

→Ator: Usuário

Page 51: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

50

→Pré-Condições: A aplicação deve ter sido iniciada e o ambiente

escolhido.

→Curso Normal: Após a escolha do ambiente, o usuário define o modo de

visão de acordo com a rotação e a inclinação aplicada.

→Curso de Execução: Se não houver um marcador válido, o ambiente não

será exibido.

4.8.6 Diagrama de Estados

Figura 31: Diagrama de estados

Fonte: do Autor

4.9 Validação

Com a aplicação já funcionando, então o modelo do ambiente, modelado em três

dimensões que resultou em um arquivo de extensão COLLADA(.dae) é importado e

associado ao código/marcador que irá ser responsável por sua demonstração na aplicação.

Depois de ser realizada essa tarefa, é exportado o arquivo .fla, que executa o código

ActionScript feito anteriormente. Depois de realizadas essas tarefas, o projeto descrito se

encontra pronto para a realização de testes de suas funcionalidades.

Page 52: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

51

4.10 Problemas Enfrentados

Assim como em todo trabalho e projeto, neste também foram enfrentadas algumas

dificuldades tais como, a escolha do kit de desenvolvimento e a criação do modelo 3D dos

ambientes.

4.10.1 Instalação de Kits de Desenvolvimento

Na primeira tentativa de instalação do kit de desenvolvimento para a linguagem de

programação JAVA, o JARToolKit, houveram dificuldades de instalação e integração com a

IDE de desenvolvimento gratuita ECLIPSE e, consequentemente, com a utilização da

ferramenta.

A outra dificuldade foi que, uma vez que não foi possível a instalação do JARToolKit

com sucesso, houve nova tentativa de instalação e integração com o software de

desenvolvimento Visual Studio em suas versões 2010 e 2008, o ARToolKit, nesse caso

também não foi obtido êxito.

Diante das tentativas fracassadas, finalmente obteve-se sucesso com a instalação e

integração de outro kit de desenvolvimento encontrado, o FLARToolKit, sendo utilizada sua

IDE de desenvolvimento FLASHDEVELOP na versão 3.3.1.

4.10.2 Criação do Modelo 3D dos Ambientes

Na criação do modelo 3D a dificuldade enfrentada foi a de integração das texturas que

compõem e colorem o modelo a ser apresentado pela aplicação.

Foi realizada tentativas com modelos feitos nos ambientes de modelagem Google

SketchUp e Blender, associando-se aos modelos criados suas texturas e, logo após de

concluído, o modelo gerado foi exportado pelas próprias ferramentas de modelagem 3D para

o formado .dae compatível com a aplicação. Após realização dessas tarefas, o modelo foi

integrado ao sistema, colocando-se o nome do modelo e associando-o ao código em

ActionScript 3 criado para a aplicação e, também, acrescentando-se o modelo a ser

apresentado pela aplicação no diretório bin do projeto.

Page 53: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

52

Depois de inúmeros testes observou-se que, deveriam ser colocadas na pasta bin do

projeto, a pasta “images” gerada na conversão do modelo para .dae, que contém as texturas,

criando-se um arquivo de texto em bloco de notas com o nome de “textures”, para que assim

fosse sendo indicado o caminho de cada textura, como mostra o exemplo a seguir:

<../images/texture0.jpg> <../images/texture0.jpg><../images/texture0.png>

Com esses passos realizados, foi obtida satisfatoriamente a apresentação correta do

modelo 3D do ambiente a ser apresentado pela aplicação. Porém, surgiu nova dificuldade

quanto à implementação do tamanho de exibição do modelo, onde deveriam ser configurados

no código da aplicação, acessando-se a classe “ProjetoPapervision3D.as”, sendo possível

solucioná-la a partir da configuração do padrão, “modeloDAE.scale”, para um valor sempre

positivo que faz com que o modelo tenha um tamanho adequado para sua apresentação.

Também houve um problema de posição inicial do objeto 3D, que foi resolvido, setando-se

corretamente o parâmetro “modeloDAE.rotationX”, também presente na classe

“modeloDAE.scale”.

A seguir é mostrado o código da classe citada:

private function configurarPapervision3D():void

{

baseModelo = new FLARBaseNode();

cena3D = new Scene3D();

camera3D = new FLARCamera3D(parametrosCamera);

viewport3D = new Viewport3D(larguraTela, alturaTela);

renderizador = new LazyRenderEngine(cena3D, camera3D,

viewport3D);

modeloDAE = new DAE();

modeloDAE.load(arquivoModelo);

modeloDAE.rotationX = 90;

modeloDAE.scale += 2

baseModelo.addChild(modeloDAE, "modelo");

Cena3D.addChild(baseModelo);

}

Page 54: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

53

4.11 Resultados

Após a resolução dos problemas, foram obtidos resultados satisfatórios para a

apresentação adequada do projeto.

Foi conseguida a integração das texturas ao modelo 3D do ambiente a ser apresentado

pelo projeto, onde o primeiro teste feito obteve um bom resultado com o uso de um modelo

do Estádio Governador Magalhães Pinto (Mineirão), antes de sua reforma para a Copa do

Mundo de 2014 e o Estádio Olímpico João Havelange (Engenhão) obtidos no site do

Armazém 3D do Google para SketchUp.

Figura 32: Cubo com um código/marcador por face para interação com a aplicação.

Fonte: do Autor.

Figura 33: Realidade Aumentada do Estádio Olímpico João Havelange (Engenhão).

Fonte: do Autor.

Page 55: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

54

Figura 34: Realidade Aumentada do Estádio Governador Magalhães Pinto (Mineirão).

Fonte: do Autor.

Figura 35: Realidade Aumentada da vista de cima de um quarto.

Fonte: do Autor.

Figura 36: Realidade Aumentada da vista de cima de um quarto.

Fonte: do Autor.

Page 56: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

55

Figura 37: Realidade Aumentada da vista de um dos lados de uma sala.

Fonte: do Autor.

Os resultados foram obtidos devido às soluções dos problemas apresentados e pelo uso

do sistema, onde é mostrado para a câmera do computador um dos marcadores utilizados pela

aplicação, onde é reconhecido o padrão do marcador utilizado, e assim mostrado no vídeo o

modelo 3D do ambiente associado àquele marcador.

Page 57: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

56

5 CONCLUSÃO

O uso do projeto concluído implicará na praticidade que o mundo moderno exige, com

rapidez, qualidade do produto oferecido bem como do serviço prestado. No caso desse projeto

em si, observa-se o pouco investimento e os preços acessíveis dos equipamentos para a

utilização do software.

Quanto à proposta do projeto, viabiliza-se seu uso em diversas áreas como em

empresas de publicidade e propaganda, construtoras, imobiliárias, e também por vários

profissionais como arquitetos, paisagistas e engenheiros, que poderão apresentar seus projetos

de forma fácil, prática, rápida e inovadora.

Com relação às dificuldades encontradas durante a execução desse trabalho, destaca-se

que, uma vez tratando-se de um conteúdo novo e ainda em fase de expansão, não existem

ferramentas completas e estáveis que auxiliem a implementação dos aplicativos; observa-se a

necessidade de maiores esforços para a criação de ferramentas mais eficientes.

Sugere-se que, diante de uma proposta tão atual e dinâmica, mais estudos sejam

realizados para a construção de novas ideias e projetos no ramo da Realidade Aumentada, e

que esse trabalho sirva como referencial e que possa ser utilizado por outras pessoas

interessadas em criar novos projetos com aplicações de mesma capacidade.

Page 58: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

57

6 TRABALHOS FUTUROS

Com a conclusão e funcionamento do projeto, ele poderá ser apresentado como um

produto a ser comercializado através de imobiliárias que estiverem interessadas em apresentar

seus imóveis de uma forma inovadora, prática e cômoda. Também serão abertas novas

possibilidades para uso em novos projetos, onde são indicados o desenvolvimento de novos

ambientes de apresentação em 3D usando os recursos da realidade aumentada, para tais

indicações, é apresentado a implementação e melhoria em ambientes web e móvel.

Deverá ser criado também um ambiente computacional onde o usuário poderá

importar modelos 3D dos interiores de residências, lojas, ambientes externos e outros espaços,

feitos em softwares como AutoCad, Google SketchUp, Blender e outros, onde o sistema

deverá gerar à partir desses modelos a realidade aumentada do ambiente correspondente. Essa

aplicação poderá ser usada em lojas de vendas de acabamentos e para projetistas de imóveis.

Page 59: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

58

7 REFERÊNCIAS BIBILIOGRÁFICAS

•ActionScript. Disponível em: <http://www.unaerp.br/comunicacao/professor/andrea/

arquivos/action_script_pd.pdf>. Acesso em 05 de Maio. 2011.

• Afinal o que é Engenharia de Software? Disponível em: <http://www.portalarquiteto.com.

br/afinal-o-que-e-engenharia-de-software>. Acesso em 23 de Mar. 2011.

• AZUMA, R.T. A Survery of Augmented Reality. UNC Chapel Hill, In Presence:

Teleoperators and Visual Environments, 1997.

• Blender Org. Manual-Introduction. Disponível em: <http://wiki.blender.org/index.php/Do

c:PT/Manual/Introduction>. Acesso em 05 de Maio. 2011.

• Blender. Disponível em: < http://www.blender.org/>. Acesso em 05 de Maio de 2011.

• Blog Logganinformatica. Game Kinect. Disponível em:<http://logganinformatica.blogspot

.com/2011/02/games-kinect.html>.Acesso em 05 de Maio de 2011.

• Cadeia Criativa. O que é Realidade Aumentada. Disponível em: <http://cadeiacriativa.w

ordpress.com/2010/11/08/como-funciona-realidade-aumentada>. Acesso em 05 de Maio de

2011.

• Collada.org. COLLADA. Disponível em: <https://collada.org/mediawiki/index.php/COLL

ADA>. Acesso em 19 de Maio. 2011.

• ensinarEVT. A Textura. Disponível em:< http://ensinarevt.com/conteudos/textura/index.ht

ml>. Acesso em 17 de Nov. 2011.

• Google Armazém 3D. Disponível em: <http://sketchup.google.com/3dwarehouse/?hl=pt-

BR>. Acesso em 18 de Out. 2011.

Page 60: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

59

• Google Sketchup. Disponível em: <http://sketchup.google.com/ >.Acesso em 4 de Dez. de

2010.

• KHRONOStm, COLLADAtm. COLLADA OVERVIEW. 2008. 29 f.

• KIRNER, C. ; TORI, R. (2004) - Introdução à Realidade Virtual, Realidade Misturada e

Hiper-realidade. In: Kirner, C.; Tori, R. (Org.). Realidade Virtual: Conceitos, Tecnologia e

Tendências. 1 ed. São Paulo: Editora SENAC, 2004, v. 1, p. 3-20. Disponível

em: <http://www.realidadevirtual.com.br/cmsimple-rv>. Acesso em 9 de Maio. 2011.

• MATOS, Raul César do Carmo. Projeto de um Protótipo de Aplicação Web com

Realidade aumentada. 2010. 78 f. (Graduação em Informática para Gestão de Negócios) –

Faculdade de Tecnologia da Zona Leste, Centro Paula Souza. Disponível em: <

http://fateczl.edu.br/TCC/2010-2/TCC-010.pdf>. Acesso em 9 de Maio. 2011.

• NETO, Walter Dutra da Silveira., MELLO, Andrei Krepsky. Técnicas de animação em 3D.

Revista da Pesquisa, Florianópolis,1,2, Ago/2004 – Jul/2005. Disponível em:

<http://www.ceart.udesc.br/revista_dapesquisa/volume1/numero2/design/animacao_ambiente

s_3D.pdf> Acesso em 13 de Maio. 2011.

• NyARToolKit. Disponível em: <http://nyatla.jp/nyartoolkit/wiki/index.php>.Acesso em

11 de Maio. 2011.

• O que é FLARToolKit. Disponível em: < http://www.libspark.org/wiki/saqoosha/FLARTo

olKit/en >. Acesso em 11 de Maio. 2011.

• O que é Flash. Disponível em: < http://www.criarweb.com/artigos/282.php>. Acesso em 19

de Maio. De 2011.

• Realidade Aumentada. Disponível em: <http://www.realidadeaumentada.com.br>. Acesso

em 13 de Set. 2010.

Page 61: Monografia - Representação de Ambientes com recursos de Realidade Aumentada

60

• Realidade Virtual e Aumentada: Definições. Disponível em: <http://www.ckirner.com/rea

lidadevirtual/?DEFINI%C7%D5ES>. Acesso em 20 de Mar. 2011.

• RIA. Rich Internet applications. Disponível em: <http://www.adobe.com/resources/busine

ss/rich_internet_apps/>. Acesso em 19 de Out. 2011.

• SANTOS FILHO, Clovis de Oliveira. Estudo e aplicações da Realidade Aumentada.

2000. 70 f. (Bacharelado de Engenharia da Computação) – Departamento de Sistemas

Computacionais, Escola Politécnica de Pernambuco. Disponível em:

<http://dsc.upe.br/~tcc/20052/ClovisSantos.pdf>. Acesso em 20 de Mar. 2011.

• SILVA, Réryka Rubia P.C.L. Ambiente Colaborativo com Realidade Aumentada. 2006.

93 f. (Mestrado em Ciência da Computação) – Faculdade de Ciências Exatas e da Natureza,

Universidade Metodista de Piracicaba. Disponível em: <

http://www.unimep.br/phpg/bibdig/pdfs/2006/CDSMFSPRWSTN.pdf >. Acesso em 11 de

Maio. 2011.

• TORI R., Kirner C., SISCOUTO., R. Livro do Pré-Simpósio: Fundamentos Tecnologia de

Realidade Virtual e Aumentada. Belém: Editora SBC, VIII Symposium on Virtual Reality.

2006. Disponível em: <http://143.54.31.10/ce-rv/documentos/introd-conceitos-rv-

ra%5B1%5D.pdf>. Acesso em 9 de Maio. 2011.