SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
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
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
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
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.
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.
“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
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.
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.
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
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
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
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
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
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
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.
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)].
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).]
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.
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
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).
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).
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.
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).
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).
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.
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).
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.
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.
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).
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.
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.
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)
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
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)
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).
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
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.
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.
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.
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
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.
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
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
44

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




      Figura 25: Diagrama de Atividades do sistema (Fluxo de execução).
                              Fonte: do Autor.
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.
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.
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.
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.
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
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.
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.
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);
                   }
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.
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.
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.
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.
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.
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.
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.
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.

Mais conteúdo relacionado

Semelhante a Representação de ambientes virtuais com realidade aumentada

Tcc controle robótico referenciado por sistema de visão computacional utiliza...
Tcc controle robótico referenciado por sistema de visão computacional utiliza...Tcc controle robótico referenciado por sistema de visão computacional utiliza...
Tcc controle robótico referenciado por sistema de visão computacional utiliza...Hamilton Sena
 
Monografia - Luiz Fernando Cruz v5
Monografia - Luiz Fernando Cruz v5Monografia - Luiz Fernando Cruz v5
Monografia - Luiz Fernando Cruz v5Luiz Fernando Cruz
 
Mineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesMineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesBruno Alisson
 
Visão artificial
Visão artificialVisão artificial
Visão artificialPedrolobo8
 
Ar tool kit-cap6-2004
Ar tool kit-cap6-2004Ar tool kit-cap6-2004
Ar tool kit-cap6-2004caetano_selva
 
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!Daniel Corrêa
 
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!Daniel Corrêa
 
Guia Básico Utilizando o Joomla 1.5!
Guia Básico Utilizando o Joomla 1.5!Guia Básico Utilizando o Joomla 1.5!
Guia Básico Utilizando o Joomla 1.5!João Augusto
 
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisMarcelo Ramos
 
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Gabriel Cabral
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsEdward David Moreno
 
A intermediação no processo logistico de produtos virtuais
A intermediação no processo logistico de produtos virtuaisA intermediação no processo logistico de produtos virtuais
A intermediação no processo logistico de produtos virtuaisAndré de Mello Santana
 
Curso de simulink_2.0
Curso de simulink_2.0Curso de simulink_2.0
Curso de simulink_2.0Luís Garcia
 
Monografia douglashiura
Monografia douglashiuraMonografia douglashiura
Monografia douglashiuraDouglas Longo
 
Virtualização
VirtualizaçãoVirtualização
VirtualizaçãoSubao
 
Dissertacao jean felixcabette
Dissertacao jean felixcabetteDissertacao jean felixcabette
Dissertacao jean felixcabetterenatomoser
 
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEIS
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEISREDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEIS
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEISRaphael Melo Gomes
 
SisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo FinanceiroSisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo FinanceiroUNIEURO
 

Semelhante a Representação de ambientes virtuais com realidade aumentada (20)

Tcc controle robótico referenciado por sistema de visão computacional utiliza...
Tcc controle robótico referenciado por sistema de visão computacional utiliza...Tcc controle robótico referenciado por sistema de visão computacional utiliza...
Tcc controle robótico referenciado por sistema de visão computacional utiliza...
 
Monografia - Luiz Fernando Cruz v5
Monografia - Luiz Fernando Cruz v5Monografia - Luiz Fernando Cruz v5
Monografia - Luiz Fernando Cruz v5
 
Mineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e AplicaçõesMineração de Dados: Conceitos e Aplicações
Mineração de Dados: Conceitos e Aplicações
 
Visão artificial
Visão artificialVisão artificial
Visão artificial
 
Comp grafica ufrrj
Comp grafica ufrrjComp grafica ufrrj
Comp grafica ufrrj
 
Ar tool kit-cap6-2004
Ar tool kit-cap6-2004Ar tool kit-cap6-2004
Ar tool kit-cap6-2004
 
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!
GESTÃO DE CONTEÚDO WEB: GUIA BÁSICO UTILIZANDO O JOOMLA!
 
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!
Gestão de Conteúdo Web: Guia Básico Utilizando o Joomla!
 
Guia Básico Utilizando o Joomla 1.5!
Guia Básico Utilizando o Joomla 1.5!Guia Básico Utilizando o Joomla 1.5!
Guia Básico Utilizando o Joomla 1.5!
 
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos Municipais
 
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
Monografia - Engenharia de software baseada em modelos um estudo sobre WebML ...
 
Implementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufsImplementacao e desempenho da virtualizacao no dcomp ufs
Implementacao e desempenho da virtualizacao no dcomp ufs
 
A intermediação no processo logistico de produtos virtuais
A intermediação no processo logistico de produtos virtuaisA intermediação no processo logistico de produtos virtuais
A intermediação no processo logistico de produtos virtuais
 
Tecnologia assistiva na Arquitetura das smart homes: o uso de sensores para a...
Tecnologia assistiva na Arquitetura das smart homes: o uso de sensores para a...Tecnologia assistiva na Arquitetura das smart homes: o uso de sensores para a...
Tecnologia assistiva na Arquitetura das smart homes: o uso de sensores para a...
 
Curso de simulink_2.0
Curso de simulink_2.0Curso de simulink_2.0
Curso de simulink_2.0
 
Monografia douglashiura
Monografia douglashiuraMonografia douglashiura
Monografia douglashiura
 
Virtualização
VirtualizaçãoVirtualização
Virtualização
 
Dissertacao jean felixcabette
Dissertacao jean felixcabetteDissertacao jean felixcabette
Dissertacao jean felixcabette
 
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEIS
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEISREDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEIS
REDES NEURAIS ARTIFICIAIS NA AVALIAÇÃO ESTRUTURAL DE PAVIMENTOS FLEXÍVEIS
 
SisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo FinanceiroSisEdu – Sistema Educacional - Módulo Financeiro
SisEdu – Sistema Educacional - Módulo Financeiro
 

Representação de ambientes virtuais com realidade aumentada

  • 1. 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
  • 2. 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
  • 3. 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
  • 4. 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.
  • 5. 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.
  • 6. “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
  • 7. 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.
  • 8. 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.
  • 9. 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
  • 10. 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
  • 11. 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
  • 12. 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
  • 13. 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
  • 14.
  • 15. 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
  • 16. 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.
  • 17. 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)].
  • 18. 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).]
  • 19. 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.
  • 20. 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
  • 21. 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).
  • 22. 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).
  • 23. 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.
  • 24. 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).
  • 25. 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).
  • 26. 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.
  • 27. 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).
  • 28. 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.
  • 29. 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.
  • 30. 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).
  • 31. 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.
  • 32. 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.
  • 33. 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)
  • 34. 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
  • 35. 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)
  • 36. 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).
  • 37. 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
  • 38. 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.
  • 39. 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.
  • 40. 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.
  • 41. 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
  • 42. 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.
  • 43. 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
  • 44. 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
  • 45. 44 4.6 Diagrama de Atividades (Fluxo de Execução) Figura 25: Diagrama de Atividades do sistema (Fluxo de execução). Fonte: do Autor.
  • 46. 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.
  • 47. 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.
  • 48. 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.
  • 49. 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.
  • 50. 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
  • 51. 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.
  • 52. 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.
  • 53. 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); }
  • 54. 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.
  • 55. 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.
  • 56. 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.
  • 57. 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.
  • 58. 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.
  • 59. 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.
  • 60. 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.
  • 61. 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.