Itumbiara, GO, Brasil. Realização
Transcription
Itumbiara, GO, Brasil. Realização
Itumbiara, GO, Brasil. http://wrva07.ulbraitumbiara.com.br http://grvg.ulbraitumbiara.com.br http://www.ulbraitumbiara.com.br Realização: Anais WRVA’07 Workshop de Realidade Virtual e Aumentada Itumbiara, 20 – 23 de Novembro de 2007 Comissão Organizadora Coordenação do Evento Prof. Dr. Marcos Wagner de Souza Ribeiro - Coordenador Geral Prof. PhD. Edgard Afonso Lamounier Jr. - Vice Coordenador Geral Comissão Organizadora José Carlos da Silva Jr. Jucélio Costa de Araújo Hugo Xavier Rocha Roger Amândio Luz Wender Antônio da Silva Edição Marcos Wagner de Souza Ribeiro Wender Antônio da Silva Apoio: Workshop de Realidade Virtual e Aumentada (2007: Itumbiara, Goiás) Anais WRVA’07 / editado por Marcos Wagner de Souza Ribeiro e Wender Antônio da Silva – Itumbiara, 2007 184 p. ISBN 1. Realidade Virtual 2. Realidade Aumentada WRVA 2007 Comitê do Programa WRVA’07 Presidente: Edgard Afonso Lamounier Júnior - UFU Vice-Presidente: Marcos Wagner de Souza Ribeiro - ULBRA/UFU Membros: Alexandre Cardoso - UFU Arquimedes Lopes da Silva - CEFET/GO Claudio Kirner - UNIMEP Eduardo Simões Albuquerque - UFG Fátima L.S. Nunes - UNIVEM Hugo Alexandre Dantas Nascimento - UFG Ildelberto Aparecido Rodello - UNIVEM José Remo Ferreira Brega - UNESP Jucélio Costa de Araújo - CEFET/GO Judith Kelner -UFPE Luciana Porcher Nedel - UFRGS Romero Tori - USP/Senac-SP Rosa Costa - UERJ Veronica Teichrieb - UFPE Apresentação O WRVA (Workshop de Realidade Virtual e Aumentada) é um workshop promovido pela CERV (Comissão Especial de Realidade Virtual), que visa reunir pesquisadores, desenvolvedores, estudantes e demais profissionais dos meios acadêmicos, industriais e comerciais, interessados nos avanços e nas aplicações de realidade virtual. O WRVA'07 é a consolidação de dois grandes eventos da área de Realidade Virtual, o WARV (Workshop de Aplicações de Realidade Virtual) e o WRA (Workshop de Realidade Aumentada). O WRA com três edições anteriores, realizadas em Piracicaba (2004 e 2005) e no Rio de Janeiro (2006); O WARV com duas edições anteriores, realizadas em Uberlândia (2005) e em Recife (2006). Em 2007 o Workshop de Realidade Virtual e Aumentada será realizado na cidade de Itumbiara, no estado de Goiás. O evento tem como premissa estreitar os laços entre pesquisadores, promover a troca de experiências e facilitar a interação entre grupos de pesquisa, melhorar as condições de surgimento de novos grupos, motivar novos pesquisadores para atuar na área e mostrar aos participantes os avanços da Realidade Virtual na região do Centro-Oeste e Triângulo Mineiro. Sessões Técnicas SUMÁRIO – SESSÕES TÉCNICAS APLICAÇÃO DA REALIDADE AUMENTADA PARA A VISUALIZAÇÃO DE ACESSÓRIOS DA LINHA DE VESTUÁRIO NO E-COMMERCE Diego Fernandes Medeiros, Wender Antônio da Silva, Edgard Afonso Lamounier Júnior, Marcos Wagner de Souza Ribeiro, Alexandre Cardoso e Luciano Vieira de Lima - 10 ARBIOMED – SISTEMA EM REALIDADE AUMENTADA PARA VISUALIZAÇÃO E SIMULAÇÃO DE SINAIS ELETROCARDIOGRÁFICOS Arthur Augusto Bastos Bucioli, Edgard Afonso Lamounier Júnior, Alexandre Cardoso e Cláudio Kirner - 14 CLASSIFICANDO AS INTERAÇÕES EM AMBIENTES DE REALIDADE AUMENTADA Rafael Santin e Cláudio Kirner - 18 COLABORAÇÃO EM AMBIENTES VIRTUAIS TELECOMANDÁVEIS USANDO X3D Bruno Rafael de Araújo Sales e Liliane dos Santos Machado - 22 DESENVOLVIMENTO DE UM AMBIENTE DE REALIDADE VIRTUAL PARA ANÁLISE DE SOLOS AGRÍCOLAS Leonardo Castro Botega e Paulo Estevão Cruvinel - 26 DESENVOLVIMENTO DE UMA ARQUITETURA DE DISTRIBUIÇÃO PARA AMBIENTES VIRTUAIS Regislaine de Carvalho, Luciano Ferreira Silva, Edgard Afonso Lamounier Júnior e Alexandre Cardoso - 30 DESENVOLVIMENTO DE UMA INTERFACE GRÁFICA PARA O ARTOOLKIT COM APLICAÇÃO NA ÁREA EDUCACIONAL Kelma Kerly de Carvalho Cunha e Marcelo de Paiva Guimarães - 34 DETECÇÃO DE COLISÕES EM AMBIENTES VIRTUAIS PARA TREINAMENTO MÉDICO Helio Pedrini, Marcello Kera e Fatima L. S. Nunes - 38 EFEITOS DE ILUMINAÇÃO REALISTAS EM REALIDADE AUMENTADA UTILIZANDO IMAGENS HDR Guilherme de Sousa Moura, João Marcelo Xavier Natário Teixeira, Veronica Teichrieb e Judith Kelner - 42 EFICIÊNCIA ENERGÉTICA EM SISTEMAS INDUSTRIAIS SOB A ÓPTICA DA REALIDADE VIRTUAL Eduardo de Souza Santos, Edgard Afonso Lamounier Júnior, Alexandre Cardoso e Antônio C. Delaiba - 46 FIRT: UMA IMPLEMENTAÇÃO EM FPGA DA TÉCNICA DE TRAÇADO DE RAIOS Bernardo Reis, João Marcelo Xavier Natário Teixeira, Veronica Teichrieb e Judith Kelner - 50 F-LIBRAS - AMBIENTE INTEGRADO PARA LÍNGUA BRASILEIRA DE SINAIS Fabrício Baptista e José Remo F. Brega - 54 FLIGHT INSTRUCTOR, UM INSTRUTOR DE VÔO VIRTUAL PARA O MICROSOFT FLIGHT SIMULATOR X Rodrigo Carvalho de Farias, Gabriel F. de Almeida, Veronica Teichrieb e Judith Kelner -58 IMPLEMENTAÇÃO DE REALISMO NA INTERAÇÃO EM UM FRAMEWORK PARA TREINAMENTO VIRTUAL Cléber Gimenez Corrêa, Adriano Bezerra, Ana C. T. M. G. de Oliveira e Fátima L. S. Nunes - 62 INCORPORANDO COLABORAÇÃO COM REALIDADE VIRTUAL E AUMENTADA EM AMBIENTES DE EDUCAÇÃO À DISTÂNCIA Clodonil Honorio Trigo e Cláudio Kirner - 66 INTEGRAÇÃO DE TÉCNICAS DE MODELAGEM COM VRML E JAVA PARA CRIAÇÃO DE AMBIENTES VIRTUAIS EM REALIDADE AUMENTADA Rogério Gonçalves da Costa, João Arthur Gabriel Silva Diniz, Wender Antônio da Silva, Marcos Wagner de Souza Ribeiro, Edgard Afonso Lamounier Júnior e Alexandre Cardoso - 70 O USO DA REALIDADE VIRTUAL NÃO-IMERSIVA COMO INSTRUMENTO DE AUXILIO NO TRATAMENTO DA AVIOFOBIA Danielly Cristine de Medeiros, Wender Antônio da Silva, Marcos Wagner de Souza Ribeiro, Edgard Afonso Lamounier Júnior, Alexandre Cardoso e Luciano Vieira de Lima - 74 ODE4PPC: APLICAÇÕES GRÁFICAS COM SIMULAÇÃO FÍSICA NA PLATAFORMA POCKET PC Daliton da Silva , João Marcelo Xavier Natário Teixeira, Veronica Teichrieb e Judith Kelner -78 REALIDADE VIRTUAL APLICADA À EDUCAÇÃO: REFLEXÕES SOBRE O ESTADO DA ARTE E O FUTURO Andréia Cristina Rizzato e Fatima L. S. Nunes - 92 REALIDADE VIRTUAL APLICADA AO E-COMMERCE: PROPOSTA DE PLATAFORMA BASEADA EM VRML E PHP Leandro Silva Campos e Marcos Wagner de Souza Ribeiro - 96 REALIDADE VIRTUAL APLICADA AO ENSINO DE HISTÓRIA POR MEIO DA RECONSTITUIÇÃO DE AMBIENTES HISTÓRICOS Rodrigo Vasconcelos Arruda, Wender Antônio da Silva, Edgard Afonso Lamounier Júnior, Marcos Wagner de Souza Ribeiro, Alexandre Cardoso, Nadabe Cardoso de Oliveira Alves Fortes e Luciano Vieira Lima - 100 REALIDADE VIRTUAL AUXILIANDO O APRENDIZADO EM LINHAS DE TRANSMISSÃO DE ENERGIA ELÉTRICA Gleisson Pereira dos Santos, Alexandre Cardoso e Edgard Afonso Lamounier Júnior - 104 SIMULAÇÃO FÍSICA DE OBJETOS DEFORMÁVEIS ATRAVÉS DE UM ALGORITMO BASEADO EM POSIÇÃO Mozart William Santos Almeida, Judith Kelner, Gabriel Fernandes de Almeida e Veronica Teichrieb - 108 SISTEMA DE REALIDADE VIRTUAL PORTÁTIL DE APOIO A EDUCAÇÃO DE CRIANÇAS SURDAS – ERLENEN Mônica Rocha Ferreira de Oliveira, Alexandre Cardoso e Edgard A. Lamounier Júnior - 112 UM COMPONENTE PARA IMPLEMENTAÇÃO DE PROFUNDIDADE EM AMBIENTES DE REALIDADE MISTURADA Silvio Ricardo Rodrigues Sanches, Antônio Carlos Sementille, Ildeberto Aparecido Rodello e José Remo F. Brega - 116 UM MÉTODO PARA SIMULAÇÃO DE ILUMINAÇÃO VOLUMÉTRICA EM APLICATIVOS INTERATIVOS Saulo Andrade Pessoa, Sílvio de Barros Melo, João Paulo S. do M. Lima, Veronica Teichrieb e Judith Kelner - 120 UMA EXPERIÊNCIA DE IMPLEMENTAÇÃO DE UMA APLICAÇÃO INTERATIVA COM REALIDADE VIRTUAL E AUMENTADA Everton Francisco Pires Dantas e Cláudio Kirner - 124 USO DA REALIDADE VIRTUAL NA MELHORIA DO PROCESSO DE ENSINO DA FÍSICA (Movimento Harmônico Simples) Jucélio Costa de Araújo, Alexandre Cardoso e Edgard Afonso Lamounier Júnior - 128 USO DO LIVRO INTERATIVO COM REALIDADE AUMENTADA EM APLICAÇÕES EDUCACIONAIS Cláudio Kirner e Francisco César de Oliveira e Rafael Santin - 132 UTILIZANDO MAPAS CONCEITUAIS PARA A GERAÇÃO AUTOMÁTICA DE AMBIENTES VIRTUAIS DE ENSINO/APRENDIZAGEM José Remo Ferreira Brega, Guilherme Fernando de Oliveira, Bruno Marques Panccioni e Ildeberto Aparecido Rodello - 136 VISUALIZAÇÃO DE INFORMAÇÕES EM AMBIENTES DE REALIDADE VIRTUAL E AUMENTADA Ezequiel Roberto Zorzal, Edgard Afonso Lamounier Júnior, Luciano Ferreira Silva, João Paulo Vieira Bonifácio, Alexandre Cardoso e Cláudio Kirner - 140 VISUALIZAÇÃO DE METADADOS DE SENSORES UTILIZANDO REALIDADE AUMENTADA EM TELEFONES CELULARES Juan Carlos Zuñiga e Sergio Takeo Kofuji - 144 APLICAÇÃO DA REALIDADE AUMENTADA PARA A VISUALIZAÇÃO DE ACESSÓRIOS DA LINHA DE VESTUÁRIO NO E-COMMERCE Diego Fernandes Medeiros1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior1, Alexandre Cardoso2, Luciano Vieira Lima2 e Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo – o presente artigo constitui objetivo de determinar uma melhor abordagem no e-commerce diante da visualização de acessórios da linha de vestuário. Apresentando, deste modo, um sistema de realidade aumentada com implantação às transações do comércio eletrônico, a fim de corroborar com a satisfação de consumidores determinando a visualização dos mesmos junto aos itens ou produtos escolhido, concretizando assim um modo mais atrativo para tais processos. Palavras-Chave – E-commerce, Realidade Aumentada, Linha de Vestuário. Abstract – the present article constitutes objective to ahead determine one better boarding in e-commerce of the visualization of accessories of the clothes line. Presenting, in this way, a system of augmented reality with implantation to the transactions of the electronic commerce, in order to corroborate with the satisfaction of consumers being determined the visualization of same next to itens or the products chosen, thus materialize a more attractive way for such processes. Keywords – E-commerce, Augmented Reality, Clothes Line. 1. INTRODUÇÃO O e-commerce dispõe de uma enorme gama de produtos que podem ser postos a venda, dentre estes, especificamente para os itens da linha de vestuário identifica-se que para a compra dos mesmos alguns fatores a fim de garantir melhor satisfação do cliente não são abordados e devem ser ressaltados. Nas transações do comércio eletrônico é instituída somente a opção de visualização da foto. Por ser um meio de vendas on-line e pelo fato da presença não física neste tipo de comercialização, o consumidor não contém a oportunidade de experimentar-se com o item desejado. Este trabalho aplica a utilização da Realidade Aumentada (RA) que se agrega dentro do contexto de Realidade Virtual (RV) enfatizando tal oportunidade. Diferentemente da realidade virtual, que transporta o usuário para o ambiente virtual, a realidade aumentada mantém o usuário no seu ambiente físico e transporta o ambiente virtual para o espaço do usuário, permitindo a interação com o mundo virtual, de maneira mais natural e sem necessidades de treinamento ou adaptação. [1] Denota-se que o objeto de estudo abordado é uma tecnologia cujo faturamento emana extraordinários índices, o trabalho engloba-se então num meio do qual vem sendo bem visado, e que cresce de modo surpreendente. O processo estipulado tem como vantagem auxiliar o consumidor na escolha do produto, determina-lhe maior satisfação para a compra tornando o processo mais atrativo e agradável. 1.1.Realidade Aumentada A Realidade Aumentada é o enriquecimento do ambiente real com os objetos virtuais, usando algum dispositivo tecnológico, funcionando em tempo real. [6] A RA é uma particularização de realidade misturada, quando o ambiente principal é real ou há predominância do real. [1] 2. TRABALHOS RELACIONADOS Diante de pesquisas, vários trabalhos realizados implantam a aplicação da Realidade Aumentada no comércio em geral. O trabalho de Zorzal[2] demonstra a utilização de sistemas de RV e RA na simulação de sistemas de automação industrial, como meio para treinamento e melhor aprendizagem. Sendo assim são desenvolvidos os sistemas ditos à simulação de uma máquina automatizada para envasar leite. Fig. 1. Visualização da simulação utilizando RV. A visualização da simulação no ambiente de Realidade Virtual determina ao usuário a possibilidade em observar de diversos ângulos todo o processo de envasamento. 3. MÉTODOS APLICADOS 3.1 Linguagem de Modelagem Fig. 2. Visualização da simulação utilizando RA. Diante do sistema de Realidade Aumentada a participação do usuário se torna mais intensa e plena, são utilizados 2 marcadores, sendo um para o maquinário e outro móvel para ser manipulado pelo usuário. O trabalho de Fernandes[3] enfatiza a criação de uma interface para a interação onde seja possível comparar e avaliar durante a execução no próprio canteiro de obras através da tecnologia de RA construções arquitetônicas, sendo utilizado um tablet PC. O ponto positivo esclarecido no trabalho se baseia na possibilidade de realizar alterações em alguns aspectos da planta durante a visualização, permitindo que um profissional possa resolver problemas de projeto no local, ou simplesmente, experimentar outros modos técnicos. O início do trabalho partiu-se com desenvolvimento a modelagem dos objetos virtuais necessários para estabelecer a visualização em tempo real do consumidor juntamente ao objeto escolhido. Com intuito a dar praticidade ao desenvolvimento do projeto e pelo fato no que o sistema de realidade aumentada pode proporcionar foram escolhidos somente os acessórios da linha de vestuário. Dentre outros, alguns acessórios foram desenvolvidos, assim como a figura 4 ilustrada abaixo. Fig. 4. Óculos 3D. A linguagem utilizada foi o VRML, pois o objeto de estudo está estabelecido na internet, e a modelagem dos objetos foi realizada no software Flux Studio versão 2.0. 3.2 Sistema de Realidade Aumentada O sistema de Realidade Aumentada desenvolvido foi o Sistema de Visão por Vídeo baseado em Monitor, neste a imagem é capturada pela webcam que por sua vez transmite ao monitor a cena real com a agregação de objetos virtuais. Rastreador Monitor Fig. 3. Esquema de visualização do aplicativo Do mesmo modo que o presente projeto, os trabalhos mencionados designam se ao desenvolvimento de RA com finalidade de aplicação ao comércio. Porém estes não abordam o e-commerce, ou seja, a tecnologia que dentro do setor da economia incríveis taxas de crescimento. Já o artigo Realidade Virtual em aplicações do comércio eletrônico[4], enfatiza a idéia do uso da RV as transações do comércio eletrônico, demonstrando que a introdução de um novo paradigma de interfaces de comunicação com o usuário pode tornar mais atrativo o ato da compra. A idéia reflete-se de modo semelhante ao presente projeto, entretanto, este não apresenta nenhum desenvolvimento de software ou protótipo. Dados obtidos pelo rastreador Gerador de cenas Câmera de vídeo Vídeo do mundo real Imagens gráficas Combinador Fig. 5. Sistema de Visão por Vídeo baseado em Monitor Para um sistema de realidade aumentada faz se necessário o uso do software ARToolKit ou similar (sabe-se que existem vários softwares de projeção de realidade aumentada, optou-se pelo ARToolKit por ser uma aplicação grátis), sendo utilizado neste estudo a versão 2.72.1. O ARToolkit usa técnicas de visão computacional para calcular a posição no espaço real da câmera e sua orientação em relação aos cartões marcadores, permitindo ao programador sobrepor objetos virtuais aos cartões.[5] Na figura seguinte, é estabelecido o produto “chapéu” com os respectivos botões para interação com o usuário. 3. 3 Página de Internet Para aplicar a idéia abordada faz-se necessário a simulação de uma transação do comércio eletrônico, ou seja, foi desenvolvida uma página de internet da qual destaca a venda de alguns acessórios da linha de vestuário. Foi realizado algo do qual contém os produtos postos à venda, sendo descrito juntamente com suas características a informação da possibilidade de visualizar-se com o item, destacando o sistema de realidade aumentada. No momento em que o consumidor clica em sua escolha e opta para tal, aparecem instruções indicando os processos dos quais se deve realizar, assim como um link para que possa baixar o software ARToolkit, e um ícone para imprimir o marcador. O programa para realização da página de internet é o Dreamweaver MX, editor de HTML, juntamente com a programação ASP, e banco de dados SQLSERVER, e ainda os servidores IIS. Este conjunto de ferramentas permite a criação de páginas de modo rápido de acordo com a opção do desenvolvedor. São ferramentas simples e objetivas, que satisfazem a necessidade de implementação deste projeto. Assim, é criado uma integração entre banco de dados, com os dados dos produtos a serem vendidos, fotos dos produtos, Realidade Virtual e Realidade Aumentada. Fig. 7. Página de internet utilizando RA A finalidade do trabalho visa estabelecer a compra de produtos do site sendo determinado além da opção de visualização de fotos dos determinados produtos, um link para a visualização em realidade aumentada, porém antes disto, o consumidor deve baixar o software ARToolkit do qual é determinado na página de instruções e de downloads, ou seja, como visto na figura anterior, estes links são disponibilizados de forma a guiar o usuário do qual acessa o site e opta por desfrutar de tal oportunidade. 4. IMPLEMENTAÇÃO DO SISTEMA Para o desenvolvimento do protótipo do qual visa estabelecer um sistema de RA aplicado no e-commerce e baseado nos acessórios da linha de vestuário, foram escolhidos três itens que se adéquam ao que o sistema de RA utilizado pode proporcionar. Deste modo, os produtos requisitados foram: óculos; chapéu; cartola. Como o sistema de Realidade Aumentada é baseado no ARToolkit versão 2.72.1, necessitou-se que cada objeto virtual modelado: óculos, chapéu e a cartola de extensão .wrl fossem salvos no diretório ARToolKit\bin\Wrl. Ainda neste diretório precisouse também criar os arquivos com extensão .dat que faz associação da placa com o objeto virtual. Com relação aos marcadores foi feito seus cadastramentos executando o programa “mk_patt.exe” encontrado na pasta “bin”. Os marcadores foram gravados na pasta “bin”com os respectivos nomes de cada produto e transportados para o diretório ARToolKit\bin\Data. Após a conclusão do sistema de Realidade Aumentada, foi iniciada a etapa da elaboração de uma página de internet, tendo nesta uma tarefa com vários processos. O site obtém várias páginas, e dentre outras se tem a página da qual demonstra os acessórios postos á venda que podem ser vislumbrados pelo sistema de RA. Fig. 7. Página de internet utilizando RA Cabe ressaltar que o ARToolkit para download sempre será atualizado conforme a entrada de novos produtos. Neste caso, para a visualização de novos produtos cadastrados, o consumidor deverá atualizar seu software. A programação no Dreamweaver MX foi baseada na linguagem ASP, e os links foram implementados de modo simples, sendo destacados a estes o determinado endereço. O banco de dados utilizado foi o SQLSERVER, neste é catalogado informações referentes a transação de compras. Para sua conexão com o site estabeleceu um vinculo nos conectores ADODB. Finalizando, foi criado o Servidor de Internet IIS (Internet Information Services). O IIS é um conjunto integrado de serviços de rede para plataforma Windows de 32 bits que permite publicar conteúdos e disponibilizar arquivos e aplicações em um ambiente Internet/Intranet. Totalmente integrado ao sistema operacional e dotado de uma interface administrativa 100% gráfica, o IIS é uma das melhores opções disponíveis para hospedagem de web sites, site FTP e grupos de noticias, bem como o desenvolvimento de aplicações. A configuração do IIS foi realizada no sistema operacional Windows XP. Após este passo, foi executado no Dreamweaver MX a criação do site, determinando “ASP VB Script” como escolha da tecnologia de servidor. 5. CONCLUSÕES Diante das pesquisas feitas nota-se que há poucos trabalhos relacionando RA voltado ao e-commerce, e em módulo comercial, não há registro desta integração, deste modo, sua aplicação se torna inédita tendo de início bons resultados, ou seja, a idéia adotada foi concretizada de modo satisfatório, tendo em vista as opiniões geradas. O Protótipo foi apresentado aos alunos dos cursos de Sistemas de Informação e Ciências da Computação do Iles/Ulbra. Os alunos navegaram na página de internet criada como simulação as transações do comércio eletrônico e desfrutaram da idéia abordada sem nenhum tipo de dificuldade. O software teve ótimo grau de aceitação por parte dos alunos de informática, cabe ressaltar que o mesmo não foi demonstrado à alunos de outras áreas. Trabalhos Futuros Como prosseguimento ao trabalho identifica-se que: - A abordagem aos objetos virtuais pode ser expandida, sendo estabelecida toda a linha de vestuário e não somente os acessórios, englobando se assim mais de 1 marcador. - Pode também ser trabalhado a utilização da Realidade Virtual juntamente com a Realidade Aumentada. REFERÊNCIAS BIBLIOGRÁFICAS [1] TORY, Romero. KIRNER, Claudio. SISCOUTTO, Robson. Fundamentos e Tecnologia de Realidade Virtual e Aumentada, 2006, VII Symposium on Virtual Reality. [2] BUCCOOLI, A. B. Arthur. ZORZAL, R. Ezequiel. KIRNER, Claudio. Usando Realidade Virtual e Aumentada na Visualização da Simulação de Sistemas de Automação industrial. In: SVR2006 – VIII Symposium on Virtual Reality, Belém, 2006. [3] FERNANDES, A. Gabriel. CUNHA, Gerson. Visualização auxiliada por Realidade Aumentada voltada para o acompanhamento de construções arquitetônicas. In: WRA2006 - III Wokshop de Realidade Aumentada, Rio de Janeiro, 2006. [4] KINIZ, Mauricio; KNEASEL, Frank Juergen. Realidade Virtual em Aplicações do Comércio Eletrônico Dissertação 2003. Instituto Catarinense de Pós Graduação. Disponível em: <http://www.icpg.com.br/artigos/rev02-14.pdf> Acesso em: 03.08.2007. [5] CARDOSO, Alexandre; LAMONIER JR, Edgard. Realidade Virtual – Uma Abordagem Prática. Minicursos – VII Symposium on Virtual Reality – São Paulo, 2004. [6] KIRNER, Claudio. SISCOUTTO, Robson. Realidade Virtual e Aumentada: Conceitos, Projetos e Aplicações. 2007, IX Symposium on Virtual and Augmented Reality. ARBIOMED – SISTEMA EM REALIDADE AUMENTADA PARA VISUALIZAÇÃO E SIMULAÇÃO DE SINAIS ELETROCARDIOGRÁFICOS ¹Arthur A.B. Bucioli; ¹Edgard A.Lamounier Jr.; ¹Alexandre Cardoso; ²Cláudio Kirner ¹UFU Universidade Federal de Uberlândia, Av. Engenheiro Diniz, 1178 CEP 38400902 - Uberlândia - MG, UNIMEP ²Universidade Metodista de Piracicaba, Rua Rangel Pestana, 762 CEP 13400901 - Piracicaba - SP Resumo – Este trabalho tem como objetivo apresentar uma ferramenta em Realidade Aumentada para Visualização de Sinais Eletrocardiográficos Palavras-Chave – Eletrocardiograma, Realidade Aumentada, Visualização, Simulação. Abstract – This work have as goal to present a Augmented Reality1tool for Visualization of Electrocardiographic Signals Keywords – Electrocardiogram, Visualization, Simulation. Augmented Reality, 2. INTRODUÇÃO O desenvolvimento da Realidade Virtual foi muito intenso nas últimas décadas, tanto nos dispositivos como placas de vídeo e processadores como nas técnicas e inovações visuais, como sombras, efeitos de texturas, traçado de raios, entre outras. Apesar de todos os avanços conseguidos ao longo dos anos, os dispositivos de interação com os ambientes ainda são um desafio real para os desenvolvedores. Os dispositivos utilizados atualmente como base da interação, estão na maioria dos casos longe de serem naturais ao ser humano, requerendo treinamento por parte dos usuários para que haja o bom aproveitamento das aplicações. Nem sempre o usuário está disposto ou disponível para realizar os treinamentos com os dispositivos. Essas deficiências acabam por isolar grupos de usuários do acesso à Realidade Virtual. Para contornar os problemas com os dispositivos de interação, diversas propostas têm surgido ao longo dos anos, e a Realidade Aumentada já apresenta resultados muito promissores. Utilizando como formas de interação as mãos e dispositivos simples, a Realidade Aumentada se vale de técnicas de Realidade Virtual para inserir no mundo real objetos virtuais gerados pelo computador. Esse caminho é inverso ao que ocorre com a Realidade Virtual, onde o usuário é totalmente inserido no mundo virtual, tendo que se adaptar às regras e comportamentos desse mundo. No mundo real o usuário se sente muito mais seguro, pois conhece as reações ocasionadas a cada ação sua. Por isso, a inserção de objetos virtuais no mundo real traz muito mais conforto aos usuários que o caminho inverso. Através das técnicas de Realidade Aumentada é possível simular equipamentos e objetos diversos, podendo o usuário manipula-los, inspeciona-los e aprender sobre suas características e comportamentos. Diversas áreas do conhecimento humano têm se beneficiado com as melhorias proporcionadas pela Realidade Aumentada, entre elas a Medicina[1]. A possibilidade de simular órgãos vitais estáticos e animados é muito atraente, principalmente porque existem características e comportamentos dos órgãos que são impossíveis de serem visualizadas em partes dissecadas ou mesmo intervenções cirúrgicas. O bom uso da Realidade Aumentada pode servir como mais um recurso de apoio ao aprendizado em faculdades relacionadas com a área da Saúde e mesmo em escolas de nível fundamental e Médio. A proposta do presente trabalho é fornecer uma ferramenta completa e funcional para visualização de sinais eletrocardiográficos e simulação desses sinais em um coração virtual animado por Realidade Aumentada. Assim, a seção 2 apresenta alguns trabalhos relacionados com o tema proposto, a seção 3 apresenta o desenvolvimento e características do sistema ARBioMed. 2. TRABALHOS RELACIONADOS Existem diversos estudos envolvendo Realidade Aumentada e Medicina. A seguir foram destacados 3 dos principais trabalhos relacionados com o tema proposto. 2.1. MIT – Remoção de Tumores Cerebrais[2] O MIT (Massachusetts_Institute_of_Technology) em conjunto com o Laboratório de Planejamento Cirúrgico do Hospital Brigham desenvolveu uma série de ferramentas destinadas a auxiliar processos cirúrgicos em remoção de tumores cerebrais utilizando técnicas de Realidade aumentada. Para tanto, cada paciente passa por 4 etapas significativas, que são a construção de um modelo 3d preciso do crânio e cérebro do paciente através de ressonância magnética e tomografia axial computadorizada, a determinação da posição exata do paciente na mesa de operações utilizando um sistema de rastreamento em tempo real por laser de baixa potência e câmeras de vídeo,o alinhamento do modelo virtual do crânio sobre o paciente real utilizando algoritmos de otimização e os dados coletados pelo laser no processo anterior e, finalmente, a visualização do modelo sobreposto ao paciente real em um display presente na sala de operações. Após a realização de todas as etapas, o cirurgião consegue visualizar dados geométricos precisos das características fisiológicas do paciente, auxiliando-o na tomada de decisões sobre as melhores opções de intervenção cirúrgica para cada caso. O sistema construído tem reduzido o custo de cada cirurgia entre $1000,00 e $5.000,00 segundo estimativas feitas e está em plena utilização atualmente. 2.2. Eurodoc: Telemedicina[3] O objetivo deste projeto a visualização remota de dados médicos para diagnóstico terapia e intervenções cirúrgicas. O projeto baseia-se em Internet para a transmissão dos dados e pressupõe que a sobreposição gráfica dos objetos virtuais será feita no computador local, sendo transmitidas via Internet apenas as coordenadas tridimensionais das transformações dos objetos captadas pos sensores 3D. o sistema não pretende implementar Realidade Aumentada, mas sim proporcionar a transmissão em tempo real de dados que permitam a reconstrução remota de órgãos a serem estudados e mesmo operados, bem como seus comportamentos. É importante salientar que os órgãos são mapeados por tomografia axial computadorizada previamente e enviados por Internet ao computador onde será feita a visualização. Os órgãos virtuais também possuem capacidade de deformação, tornando a visualização muito mais realística. Este sistema está sendo utilizado atualmente por diversos serviços clínicos na Universidade de Viena. 2.3. Projeto VIDA (Visualizador Interactivo de Dados biomecânicos Animados[3] O objetivo deste projeto é fornecer uma aplicação para visualizar dados biomecânicos de atividade muscular executada por atletas, utilizando para isso modelos tridimensionais colorizados de acordo com dados de esforço muscular que se desejar monitorar. O programa trabalha com dados previamente capturados para fazer as simulações, permitindo ao usuário escolher entre as simulações gravadas a que ele desejar simular. Foram definidos pontos para captura dos sinais nas juntas ósseas do ser humano, o que possibilita a sincronia com um modelo ósseo/muscular virtual. quando o usuário seleciona uma simulação previamente gravada, o programa mostra um esqueleto virtual contendo também a parte muscular e mostra uma animação do movimento físico realizado bem como a deformação muscular e a colorização do músculo correspondente de acordo com o esforço feito. O sistema do projeto Vida utiliza técnicas de Realidade Virtual não Imersiva nas suas visualizações. 3. SISTEMA PROPOSTO - ARBIOMED Existem diversas plataformas para desenvolvimento de aplicação em Realidade Aumentada. O que varia de uma plataforma para outra é a facilidade no desenvolvimento de aplicações, a portabilidade, a forma como serão inseridos os objetos virtuais na apresentação, entre outras. Uma das plataformas mais populares de desenvolvimento é o ARToolKit[4], um conjunto de bibliotecas em código aberto para o desenvolvimento de aplicações em Realidade Aumentada. O ARToolKit[4] conta com exemplos prontos de aplicação e uma documentação consistente que ajuda os usuários a se familiarizarem com a biblioteca. O ARToolKit[4] permite a utilização de objetos virtuais tanto em VRML[6] como em OpenGl[5], duas linguagens distintas de Realidade Virtual. Para utilizar modelos feitos em VRML[6], o ARToolKit[4] faz um pré-carregamento dos modelos quando a aplicação é iniciada, guardando todas as suas características na memória para serem utilizadas posteriormente, quando o marcador correspondente for detectado. Ao fazer isso, são desconsiderados algumas definições dos modelos como script, luzes, câmeras e sensores.Alguns desses recursos são realmente desnecessários para aplicações de Realidade Aumentada, como por exemplo as câmeras, pois em Realidade Aumentada a posição da câmera virtual é calculada em tempo de execução, de acordo com a posição da câmera real. Porém, recursos importantes como scripts acabam fazendo falta, pois para se ter um bom controle das animações nos objetos é necessário ter uma forma de acionar as animações somente no momento adequado. Algumas das limitações são inerentes ao leitor de objetos VRML[6] do ARToolKit[4], o OpenVRML[7]. Até o momento, o suporte a scripts não está presente no ARToolKit[4]. Então, para ter controle das animações, cada autor utiliza uma abordagem própria, tornando a aplicação mais ou menos dinâmica, dependendo das características das soluções implementadas. A proposta do presente trabalho é a utilização de modelos em VRML[6] estáticos em sua forma inicial em conjunto com as transformações básicas de rotação, translação e escala, suportadas pelo ARToolKit[4]. Assim, é possível controlar com estruturas de programação as animações dos objetos nos marcadores, tornando as aplicações mais dinâmicas e interessantes. Como estudo de caso, foram implementadas animações dinâmicas em um coração humano. O modelo utilizado está em VRML[6] e é estático em sua natureza, sendo inteiramente animado com funções internas do ARToolKit[4]. O Sistema ARBioMed destina-se à visualização e simulação de sinais de eletrocardiograma. Esses sinais podem ser capturados por diversos meios, como arquivos texto, imagens e sensores. A proposta do sistema prevê os seguintes tipos de dados de entrada: • Valor de batimentos cardíaco fixo digitado pelo usuário • Arquivos texto com vetores de gráficos de Eletrocardioramas Reais • Arquivos de Imagens de eletrocardiogramas reais nos formatos mais populares (jpg/bmp/png/gif) • Entrada de dados em tempo real via sensor lógico A seguir veremos alguns dos aspectos considerados no desenvolvimento do sistema. 3.1. Interface com o Usuário O ARToolKit[4] não provê naturalmente uma interface de interação com o usuário, sendo todos os parâmetros originalmente definidos em arquivos texto e lidos em tempo de execução pelo sistema. Essa característica não é interessante para um usuário que não tenha conhecimento das características e comportamentos internos do ARToolKit[4]. Por esse motivo, foi criada uma interface de operação com objetivo de ser auto-explicativa, simples e limpa. A figura 1 mostra a interface inicial do aplicativo. a animação às capacidades gráficas de cada computador, conseguindo manter na maioria dos casos a velocidade de exibição com boa precisão em relação à velocidade selecionada. A figura 3 ilustra 2 quadros da animação do coração virtual. Fig. 3. quadros do Coração virtual sendo animado. A qualquer momento o usuário pode voltar à interface, digitar um novo valor e pressionar o botão simular, para visualizar interativamente a mudança ocorrida na animação. 3.3. Fig. 1. Interface Inicial do ARBioMed. Como pode ser visto, a interface contém apenas 5 botões iniciais, sendo 4 deles opções de utilização e o quinto uma opção de simulação. No canto inferior esquerdo existe um local de texto onde são passadas ao usuário informações úteis ao longo da utilização. Cada elemento da interface também foi projetado com dicas de utilização que aparecem quando o usuário permanece com o mouse por um determinado período sobre o local. Elementos cuja utilização estiver restringida temporariamente são desabilitados pelo programa, de forma a conduzir o usuário na utilização o máximo possível. 3.2. Esta opção permite ao usuário capturar dados de eletrocardiogramas reais em arquivos texto previamente gravados. O usuário pode navegar pelo computador e selecionar o arquivo desejado. Também pode definir quantas amostras por segundo foram utilizadas na captação do sinal ou simplesmente aceitar o valor padrão.O programa lê o arquivo, captura os valores numéricos e os normaliza segundo um fator de escala que posteriormente é enviado à simulação. Além disso é exibido para o usuário um gráfico de pré-visualização do sinal. A figura 4 mostra a utilização desta opção. Fig. 4. Utilização da Opção 2 – Buscar ECG em Arquivo Opção 1 – Simular Batimento Cardíaco Constante Nesta opção o usuário visualiza um campo de texto onde pode inserir um valor de batimento cardíaco entre 20 e 200 batidas por minuto, sendo que o programa detecta possíveis inconsistências nos valores informados e informa ao usuário os erros encontrados. A figura 2 mostra um erro sendo tratado pelo programa. Ao pressionar o botão Simular, o usuário pode visualizar o mesmo coração da opção anterior sendo animado de acordo com as características do gráfico selecionado, respeitando a velocidade e mostrando possíveis anomalias de forma aproximada, uma vez que as placas gráficas não conseguem gerar uma quantidade de quadros que se equipare às taxas de amostragem dos sinais eletrocardiográficos. Essa aproximação é calculada pelo programa a cada frame gerado pela placa gráfica. 3.4. Fig. 2. Opção 1 - Pulso Constante (Erro) Quando o valor está errado o programa desabilita o botão de simulação, evitando possíveis erros na visualização final. Esse comportamento está presente em todas as outras opções do programa. Se o valor digitado estiver correto o botão se ativa e ao pressionar o usuário obtém acesso à simulação em Realidade aumentada da animação, na velocidade escolhida. O programa implementa uma função de predição que adapta Opção 2 – Buscar ECG em Arquivo Opção 3 – Capturar ECG de Imagem Nem sempre é possível contar com arquivos-texto de eletrocardiogramas, principalmente por limitações técnicas de dispositivos mais antigos. Em alguns casos, existem somente as imagens impressas do eletrocardiograma, então é interessante haver uma forma de recuperar os dados de eletrocardiograma nessas imagens. A opção 3 foi desenvolvida com esse propósito, e devido às limitações de espaço na interface padrão, foi desenvolvida uma janela especialmente para esta opção. Nessa janela o usuário pode acessar uma imagem no disco num dos formatos mais populares de imagem, como bmp, jpg, png e gif. O programa abre a imagem e gera uma versão miniaturizada dela. A seguir, o usuário escolhe uma cor para ser usada como base de captura do sinal, geralmente a própria cor do sinal. O programa então processa a imagem pixel a pixel por um processo de comparação de cor e gera uma versão em preto e branco da imagem, sendo o branco as áreas selecionadas como sinal e o preto as áreas descartadas. O usuário pode definir um fator de tolerância de cor para eliminar erros e também pode definir manualmente a cor do sinal se desejar. Também pode apagar na imagem em preto e branco as áreas de erros que persistirem, melhorando a fidelidade do sinal capturado. A figura 5 mostra a utilização da opção 3 . 4. Fig. 5. Utilização da Opção 3 – Capturar ECG de Imagem Após o processamento inicial, o programa realiza ainda cálculos para corrigir eventuais falhas na captura do gráfico, criando por interpolação os pontos faltantes. Esses pontos são normalizados como um fator de escala e armazenados em um vetor que é posteriormente enviado à simulação do coração virtual para animação similar à da opção 2. 3.5. Opção 4 – Captar Dados do Sensor Como complemento às opções de captura de dados prégravados de sinais cardíacos, o ARBioMed tem uma função implementada que lê dados em tempo real através de um sensor lógico ou seja, um sensor que envia um bit a cada pulso recebido. Partindo desse bit o programa calcula a velocidade média do coração e informa ao usuário. Esse cálculo é uma média das 5 últimas amostras recebidas do sensor. Ao pressionar o botão simular nessa opção, o usuário visualiza o mesmo coração virtual das opções anteriores, porém batendo de acordo com a velocidade de seu próprio coração. O sensor foi adaptado a partir de um dispositivo de esteira elétrica e interfaceado por um acoplador ótico com a porta paralela do computador. Na interface um ícone de pulso aparece a cada pulso recebido fornecendo uma indicação visual relativamente precisa do momento em que acontecem os pulsos. As figuras 6 e t mostram, respectivamente, a utilização da opção 4 e o sensor utilizado. Fig. 6. Utilização da Opção 4 – Capturar Dados do Sensor Fig. 7. Sensor Utilizado na Opção 4 CONCLUSÕES O sistema ARBioMed traz funções de fácil utilização para visualizar e simular sinais eletrocardiográficos capturados por meios diversos fornecendo flexibilidade aos diversos perfis de usuários. O sistema se encontra em fase final de desenvolvimento, como trabalhos futuros prevê-se a migração da animação para a plataforma OpenGl[5], o que permitirá deformações na malha poligonal melhorando grandemente o nível de realismo, bem como a texturização com imagens obtidas de corações reais. Também está prevista a adição de som característico do coração, tanto na interface com no ambiente da simulação. O sensor utilizado para demonstrar a integração com Realidade Aumentada, pode ser facilmente trocado por uma versão mais profissional, melhorando assim a fidelidade do sistema. Está prevista uma opção para salvar os vetores de eletrocardiogramas capturados das imagens na opção 3. REFERÊNCIAS BIBLIOGRÁFICAS [1] J.H. Shuhaiber , “Augmented Reality in Surgery ” Arch Surg:2004;139:170-174; Disponível em: http://archsurg.amaassn.org/cgi/content/full/139/2/170#ACK [2] Project on Image Guided Surgery: A collaboration between the MIT AI Lab and Brigham and Women's Surgical Planning Laboratory. Disponível em: http://groups.csail.mit.edu/vision/medicalvision/surgery/surgical_navigation.html [3] J. B. Pereira, “VIDA: Visualizador Interactivo de Dados biomecânicos Animados – Relatório Técnico”; http://planeta.clix.pt/jbraz_home/docs/Projectos/vida. [4] ARToolKit Home Page. Disponível em http://www.hitl.washington.edu/ARToolKit/. [5] OpenGl – “The Industry Standard for High Performance Graphics.”; Disponível em: http://www.OpenGl.org/. [6] VRML – “Vrml”. Disponível em: http://en.wikipedia.org/wiki/VRML. [7] OpenVRML - “OpenVRML”. Disponível em: http://www.openvrml.org/. CLASSIFICANDO AS INTERAÇÕES EM AMBIENTES DE REALIDADE AUMENTADA Rafael Santin, Claudio Kirner Universidade Metodista de Piracicaba – UNIMEP Faculdade de Ciências Exatas e da Natureza – FACEN Programa de Pós Graduação em Ciência da Computação. {rafael,ckirner }@unimep.br Resumo - O presente trabalho propõe uma classificação de interações no ambiente de Realidade Aumentada baseada no uso de marcadores em aplicações com ARToolKit. A classificação elaborada permitiu analisar o funcionamento de uma aplicação desenvolvida com técnicas diferenciadas de interação, demonstrando ser capaz de auxiliar o desenvolvimento recursos avançado de interação em ambientes de Realidade Aumentada. Palavras-Chave – interação, realidade aumentada, realidade virtual Abstract – This paper aims to classify interactions in Augmented Reality Environment based on the use of markers in applications using ARToolKit. This work allowed the analysis of interactions used in a specific application, giving the guidance to new interaction techniques and motivating the implementation of advanced Augmented Reality applications. Keywords – interaction, augmented reality, virtual reality. 1. INTRODUÇÃO A Realidade Aumentada (RA) realiza a sobreposição de imagens sintetizadas por computador sobre a imagem de uma cena, capturada e exibida em tempo real. As imagens sintéticas são elementos computacionais, como informações multimídia ou objetos virtuais, que expandem a capacidade do ambiente do usuário. A atuação desses elementos computacionais na imagem conjugada possibilita explorar novas formas de interação, fornecendo elementos estimulantes à percepção do usuário. Assim, a RA oferece um ambiente capaz de promover técnicas avançadas na interação homem-computador, através da exploração de recursos interativos altamente atrativos e intuitivos [1]. Uma forma de interação bastante utilizada em ambientes de RA consiste em utilizar cartões marcadores, como recursos de manipulação dos elementos computacionais. Nesses ambientes, os usuários manipulam marcas impressas em papel para articularem as operações oferecidas pelas aplicações de RA. Essa forma de interação é utilizada pela biblioteca de programação ARToolKit [2], que é uma ferramenta para desenvolvimento de aplicações de realidade aumentada. A Figura 1 demonstra um exemplo do marcador, que consiste num quadrilátero com símbolos de identificação em seu interior. Fig. 1. Exemplo do marcador utilizado pelo ARToolKit. O marcador é o padrão reconhecido pelo módulo de visão computacional do ARToolKit, para orientar e posicionar objetos virtuais na cena. Dessa forma, o marcador passa a ser o meio de interação entre o usuário e o sistema, viabilizando a manipulação do objeto virtual através da articulação direta de seu marcador. Para o objeto virtual ser mostrado sobre o marcador, é necessário realizar, previamente à execução da aplicação, o cadastro do marcador e, posteriormente, a sua associação ao objeto virtual. A funcionalidade do marcador em representar apenas um objeto virtual é característica marcante de alguns exemplos distribuídos junto com o ARToolKit. Um exemplo bastante utilizado é a aplicação simpleVRML, que permite associar a cada marcador um objeto virtual construídos na linguagem VRML. As aplicações exemplos, como o simpleVMRL, distribuídas junto com o ARToolKit auxiliam o desenvolvimento de novas aplicações de RA, permitindo que os desenvolvedores de novas aplicações tenham um modelo que elucide o funcionamento do sistema. O presente trabalho propõe a modificação da aplicação simpleVRML, visando implementar a classificação das novas interações desenvolvidas, e descrever as funcionalidades atreladas a determinados marcadores. 2. AMBIENTES DE REALIDADE AUMENTADA COM ARTOOLKIT. O ARToolKit é uma biblioteca de programação escrita nas linguagens C/C++ que oferece suporte ao desenvolvimento de aplicações de RA. Disponível em código aberto, o ARToolKit emprega métodos de visão computacional para calcular a posição e a orientação da câmera em relação aos marcadores contidos na imagem capturada em tempo real por este dispositivo. Como esse rastreamento é realizado de maneira rápida e precisa, o usuário tem a impressão de que os objetos virtuais estarem atrelados aos marcadores visualizados no campo de captura da câmera. Além de ser distribuído gratuitamente e realizar em tempo real, a conjugação das imagens dos objetos virtuais na imagem do mundo, o ARToolKit necessita de recursos mínimos para a sua execução. Um ambiente para a execução desse sistema pode ser formado pelos seguintes dispositivos: computador com monitor, web-câmera e marcadores. A Figura 2.a mostra a execução de uma aplicação de RA, enquanto que a Figura 2.b mostra os dispositivos utilizados para a execução da aplicação. A presença do objeto virtual é o mecanismo de interação que permite ao usuário controlar a existência do objeto na cena. Por exemplo, o objeto pode ser inserido, copiado, trocado, retirado e até mesmo apagado da cena. A seguir, serão apresentados os conceitos dos mecanismos de controle da presença dos objetos. Inserção – A inserção representa as possibilidades de o usuário introduzir um objeto virtual na cena. Dessa maneira, a inserção abrange as formas de interações que tenham a função de realizar a exibição dos objetos na imagem do ambiente. Cópia – A cópia consiste no recurso que oferece a possibilidade do usuário replicar os objetos existentes na cena. Esse mecanismo permite a possibilidade de estruturar um mundo virtual, a partir da disponibilização de alguns elementos virtuais. a b Fig. 2. a) Objeto virtual sobrepondo o marcador, b) Ambiente de execução da aplicação As características do ARToolKit motivam o desenvolvimento de novas aplicações de RA, que busquem explorar os recursos visuais com forte apelo interativo. 3. INTERAÇÕES DO USUÁRIO COM OBJETOS VIRTUAIS EM AMBIENTES DE REALIDADE AUMENTADA Os marcadores são um meio de interação utilizado em alguns ambientes de RA, como os que são desenvolvidos com o ARToolKit. O usuário manipula o marcador com a finalidade de promover a execução de ações sobre os objetos virtuais exibidos na cena. Por exemplo, na aplicação simpleVRML o marcador tem a funcionalidade de alterar determinados atributos dos objetos virtuais que o sobrepõe, como a sua visibilidade, translação, rotação e escala. As funcionalidades do marcador podem ser alteradas, de modo a possibilitar a execução de outras formas de atuação do usuário sobre os objetos virtuais. O esclarecimento dessas outras formas de atuação no ambiente de RA aponta para a elaboração de uma definição geral sobre os tipos de interação existente entre o usuário e os objetos virtuais. Nesse sentido, a experiência de alguns anos em trabalhos com realidade aumentada, aliada com os conceitos do Bowman [3] sobre a interação em ambientes de realidade virtual, possibilitou uma adequação dos conceitos para o ambiente de RA, culminando numa definição que envolve de maneira geral esses tipos de interações. A definição das possíveis formas de interação do usuário no ambiente de realidade aumentada envolve os aspectos relacionados à presença dos objetos, mudança de características, manipulação e comportamento. 3.1. Presença dos objetos Troca – A troca permite ao usuário alterar um objeto visualizado por outro. Esse mecanismo possibilita minimizar a quantidade dos dispositivos de rastreamento, como os marcadores, uma vez que a realização da troca busca promover o agrupamento das referências entre os objetos virtuais sobre o mesmo marcador. Retirada – O mecanismo de retirada possibilita controlar a quantidade de objetos existentes na cena, através da exibição ou não de determinados objetos. Assim, é possível adotar esse mecanismo para impor determinados limites durante a visualização do objeto, de modo que a cena não se torne saturada com a exibição de uma grande quantidade de objetos. Apagamento – O apagamento permite ao usuário desalocar determinados objetos carregados no ambiente, promovendo sua eliminação. Esse mecanismo libera os recursos computacionais, possibilitando que novos objetos possam ser carregados e exibidos. 3.2. Mudanças de características A mudança de características dos objetos virtuais consiste na modificação dos atributos relacionados à aparência desses objetos, como o tamanho, cor, luminosidade, transparência, etc. Nesse caso, além de ser possível oferecer a possibilidade do usuário interferir diretamente na aparência dos objetos virtuais, torna-se viável utilizar esse recurso como um recurso de feedback a aplicação. Por exemplo, o objeto pode alterar suas propriedades para chamar a atenção do usuário. A flexibilidade da modificação nesse tipo de interação permite explorar operações dinâmicas capazes de oferecer mecanismos potencialmente atrativos a aplicação. 3.3. Manipulação A manipulação consiste no recurso de interação que permite ao usuário transladar ou rotacionar partes ou até mesmo a cena toda, utilizando os dispositivos de interação do ambiente. A manipulação possibilita ao usuário explorar outros pontos de vista e articular a distribuição dos objetos na cena, reorganizando-os. A facilidade e objetividade no uso desse recurso são aspectos fundamentais para a motivação da interação do usuário com o ambiente de RA. 3.4. Comportamento O comportamento consiste numa forma do usuário atuar na dinâmica do objeto virtual. Nesse caso, os objetos podem oferecer respostas diferenciadas, tendo em vista os as ações executadas pelo usuário. 4. IMPLEMENTAÇÃO A função dos recursos de interação é detectar as ações do usuário, a fim de permitir a realização de determinados eventos associados a cada ação. Por essa razão, foram utilizados marcadores com o objetivo de operar as formas diferenciadas de interações, que são oferecidas para a atuação do usuário sobre os objetos virtuais exibidos no ambiente. Os marcadores permitem a execução de eventos durante a sua manipulação no ambiente de RA. Assim, torna-se necessário detectar o disparo de um evento no ambiente. No caso desse trabalho, utiliza-se o comportamento do marcador para realizar a interação com os objetos virtuais. O comportamento dos marcadores está associado aos possíveis estados que o sistema de rastreamento permite identificar. Por exemplo, é possível identificar a presença do marcador na cena; a distância do marcador em relação a outros marcadores ou objetos virtuais; a orientação do marcador e o seu ângulo de rotação. Esses comportamentos do marcador podem ser utilizados em conjunto para expandir o tipo de interação, como aliar a detecção da distância e rotação. Outro recurso interessante a ser utilizado em conjunto com os estados do marcador consiste no uso do tempo. O monitoramento do tempo torna possível potencializar os recursos identificados sobre os marcadores. Por exemplo, caso o usuário esteja manipulando determinado marcador e este tenha a sua captura obstruída, pode-se disparar um temporizador que detecte um tempo limite para a imagem de o marcador reaparecer e posteriormente executar algum evento, caso contrário se o temporizador superar esse limite a determinada ação poderá não ser executada. As variações e possivelmente a combinação dos estados referentes ao comportamento dos marcadores permitiram a criação de uma nova categoria de marcadores, que foram denominados marcadores de ações. Os marcadores de ações viabilizam o acesso a formas de interação dos objetos virtuais, pois são capazes de exercer meios fundamentais para a execução das operações sobre os elementos virtuais. Essas operações são conhecidas como seleção, ação e liberação. Um marcador pode ter a funcionalidade elaborada para explorar as três operações em conjunto, ou essas operações podem ser executadas por diferentes tipos de marcadores de ações, dependendo da necessidade da sua atuação. Por exemplo, a copiar de um objeto exibido na cena poderia ser realizada por um marcador que selecione, copie e libere o objeto na cena. Outra forma seria a utilização de um marcador para cada uma das três etapas, ou seja, um marcador seria responsável pela seleção, outro pela cópia e o terceiro teria a função de liberar o objeto. Para o desenvolvimento do marcador de ação, foram realizadas modificações no exemplo simpleVRML, a fim de expandir as formas de interação. Assim, torna-se possível oferecer novos recursos que possibilitam a criação de novas aplicações. Uma das aplicações desenvolvidas a partir das modificações implementadas consiste na montagem de um helicóptero, utilizando uma placa de ação. Essa aplicação oferece em uma base retangular as peças segregadas de um helicóptero, como a hélice, cockpit, trem de pouso, estabilizadores e a carcaça. O objetivo dessa aplicação é possibilitar que o usuário monte o helicóptero, encaixando as peças no seu devido lugar. No final da montagem o helicóptero torna-se animado e sobrevoa a cena, emitindo o seu som. A Figura 3 mostra as partes do helicóptero. Fig. 3. Base da aplicação de montagem, contendo as peça do helicóptero. As formas de interação na aplicação de montagem de helicóptero são executadas por apenas um marcador de ação. Nesse caso, esse marcador de ação é responsável pelas operações de seleção, ação e liberação. A seguir serão apresentadas as descrições de alguns exemplos das técnicas de interação utilizadas nessa aplicação. 4.1 Seleção Para realizar alguma interação com o objeto virtual, primeiramente, o usuário necessita selecionar qual será o objeto alvo da ação. Uma forma para selecionar o objeto virtual consiste na verificação da proximidade entre o marcador de ação e os objetos disponíveis na cena. Na aplicação de montagem do helicóptero, a seleção ocorre quando a esfera associada ao marcador de ação se aproxima de uma distância limite da esfera representante das peças do helicóptero. Nesse caso, a distância limite ocorre quando a esfera do marcador de ação colide com a esfera do objeto virtual. A Figura 4 demonstra o marcador de ação sobre a base de montagem. Este marcador movimenta a esfera maior em azul, possibilitando o usuário selecionar o objeto desejado através de seu posicionamento sobre algumas das esferas menores em vermelho. Realizado o encaixe da peça no seu devido lugar a peça é fixada nesse local e a cor é alterada para a sua cor original. 4.3 Liberação Fig. 4. Marcador de ação sobrepondo a base de montagem. A seleção da peça do helicóptero é visualizada pelo usuário através da modificação da cor do objeto. Assim, esse mecanismo de interação modifica a característica do objeto virtual, que funciona como um recurso de feedback, indicando a execução da operação de seleção. Esse recurso, também, é utilizado para indicar ao usuário o lugar correto do posicionamento do objeto. A Figura 5 mostra a modificação da cor da peça selecionada, nesse caso, o cockpit tornou-se branco após a seleção, e o destino da peça na carcaça do helicóptero tornou-se vermelho. A liberação realiza as atividades inversas a seleção. Esse mecanismo finaliza uma determinada atuação do usuário sobre o objeto virtual, possibilitando que o usuário execute novas tarefas no ambiente. A aplicação utilizada como exemplo libera o marcador de ação e retorna a cor normal do objeto no momento da inserção em seu local correto. A Figura 7 mostra o cockpit já não mais selecionado e inserido no helicóptero. Fig. 7. Inserção do cockpit no helicóptero e a liberação do marcador de ação. Inserida a peça no seu devido local, o usuário poderá partir para a manipulação de outra. A montagem completa do helicóptero aciona o seu funcionamento e esse inicia um vôo sobre a cena. Fig. 5. Modificação da cor da peça selecionada e a indicação do lugar para o transporte. Selecionada a peça do helicóptero torna-se atrelada ao marcador, realizando os seus movimentos. Essa fase consiste no próximo passo a ser executado ação atribuída pelo marcador de ação. 4.2 Ação A ação a ser efetuada sobre o objeto virtual é desempenhada através dos marcadores de ação. A função desses marcadores consiste em oferecer os recursos necessários para o usuário realizar a tarefa desejada. No exemplo demonstrado o objetivo do usuário é posicionar as partes segregadas do helicóptero nos seus locais corretos. Nesse caso, é utilizada a técnica de interação para a manipulação de objeto virtual. O recurso de interação oferecido pelo marcador de ação permite que o usuário translade a peça do helicóptero. A Figura 6 mostra a translação aplicada ao cockpit para ser adicionada ao helicóptero. Fig. 6. Manipulação do cokpit do helicóptero. 5. CONCLUSÃO Este artigo abordou as formas de interações em um ambiente de Realidade aumentada, através da classificação dos possíveis tipos de ações (interações) que o usuário de um sistema de RA pode exercer sobre os objetos virtuais. Para isso foi traçado um paralelo entre as definições sobre algumas técnicas de interação em realidade virtual com o conhecimento das técnicas de interação utilizadas em ambientes de RA. A utilização de algumas dessas classificações definidas nesse trabalho, foram utilizadas para elucidar o funcionamento de uma aplicação desenvolvida para a montagem de um helicóptero, possibilitando utilizar, de forma prática, as definições discorridas no presente trabalho. REFERÊNCIAS BIBLIOGRÁFICAS [1] KIRNER, C.; TORI, R. Introdução à Realidade Virtual, Realidade Misturada e Hiper-realidade. In: Claudio Kirner; Romero Tori. (Ed.). Realidade Virtual: Conceitos, Tecnologia e Tendências. 1ed. São Paulo, 2004, v. 1, p. 3-20. [2] ARToolKit. Human Interface Technology Laboratory < http://www.hitl.washington.edu/artoolkit/> acesso em fev, 2007 [3] BOWMAN, D. et al. An Introduction to 3-D User Interface Design. PRESENCE: Teleoperators and Virtual Environments, 10(1):96-108, February 2001. COLABORAÇÃO EM AMBIENTES TELECOMANDÁVEIS USANDO X3D Bruno Rafael de Araújo Sales e Liliane dos Santos Machado Laboratório de Tecnologias para o Ensino Virtual e Estatística Universidade Federal da Paraíba – CCEN [email protected], [email protected] Resumo – Este trabalho apresenta a proposta da concepção de ambientes virtuais colaborativos voltados à área educacional. Os ambientes virtuais são vistos como espaços tridimensionais, compostos por estruturas e objetos correspondentes ou não a espaços reais, que podem estar interligados à componentes do mundo real. Com isto, alterações ocorridas no AV podem ser repassadas para o ambiente real. As tecnologias e os requisitos necessários ao desenvolvimento são apresentados. Pretende-se com este trabalho prover acesso remoto à laboratórios reais e a ferramentas de ensino à distância. Palavras-Chave – ambiente virtual, telecomando, X3D. Abstract – This paper presents the design of collaborative virtual environments for educational purposes. The virtual environments are three-dimensional worlds composed by objects that can correspond or not to real structures. Then, objects of the virtual world could be related to real structures and actions performed by user can really affect the real world. The technologies and requirements necessary to develop the project are presented in order to allow remote access to real laboratories and educational tools through virtual environments. Keywords – virtual environment, telecommand, X3D. 1. INTRODUÇÃO A capacidade de unir pessoas geograficamente distribuídas que a Internet oferece serve como base para o desenvolvimento de aplicações e serviços colaborativos em diversos campos de atuação. Neste contexto estão inseridos os Ambientes Virtuais Colaborativos (AVC), de maneira a possibilitar aos seus participantes a interagirem através da simulação de um mundo real ou imaginário ou até mesmo da manipulação de objetos virtuais no mundo real [3]. Os sistemas de RV colaborativos existem há décadas, porém só nos últimos anos esses sistemas começaram a sair das áreas acadêmica e militar e ganharam espaço nos mais diversos campos tais como medicina [10], educação [6], entretenimento [11] entre outros. Em sistemas deste tipo usuários podem auxiliar uns aos outros na execução de tarefas de acordo com princípios de trabalho cooperativo baseado em computador (CSCW – Computer Supported Cooperative Work) [4]. O que diferencia um AVC de um Ambiente Virtual (AV) de uso local é que no primeiro caso existe a possibilidade de interação e cooperação entre usuários distantes no decorrer da execução de uma determinada tarefa. Propriedades como: espaço, presença e tempos compartilhados; comunicação entre os participantes e; interação com o ambiente são características marcantes em ambientes desse tipo [4]. A interligação de AVs com ambientes reais permite o acesso remoto a recursos e dispositivos fisicamente existentes. Por meio desse acesso, pessoas situadas em locais distantes podem manter controle sobre um ambiente real somente manipulando o AV relacionado. Dessa maneira, professores e estudantes podem fazer uso de estruturas laboratoriais nos chamados laboratórios remotos [9]. Um laboratório remoto é um tipo de laboratório virtual que consiste em um lugar real que pode ser modificado pelos usuários. Os usuários, no caso estudantes, podem alterar componentes reais através da manipulação de elementos gráficos e observar os resultados de seus experimentos através de câmeras por exemplo. A oportunidade oferecida por esses laboratórios pode ter reflexo positivo no processo de aprendizado, visto que possibilita aos estudantes terem acesso a dispositivos e informações que só existem remotamente [9]. O que este artigo propõe é o desenvolvimento de um AVC que esteja diretamente ligado a um ambiente real, permitindo que vários usuários possam colaborar no controle de componentes fisicamente existentes, através de telecomandos, executando tarefas e realizando experimentos. Outra possibilidade é a de professores ministrarem suas aulas fazendo uso de um ambiente como esse para demonstrações em tempo-real. 2. AMBIENTES VIRTUAIS COLABORATIVOS O uso de AVCs está relacionado a dois conceitos aparentemente semelhantes: colaborar e cooperar. Colaborar remete à ação de trabalhar em conjunto ou ao trabalho em comum entre duas ou mais pessoas. Para que haja colaboração é necessário que exista comunicação, organização e operação em conjunto num espaço compartilhado [3]. Por sua vez, cooperar significa operar simultaneamente na produção, modificação e utilização de um conjunto de informações e artefatos reais ou virtuais de maneira compartilhada [3,4]. Na literatura, entretanto, os termos colaboração e cooperação são muitas vezes utilizados como sinônimo. Neste caso, o AVC engloba além da visualização e navegação em uma cena 3D, a característica de os usuários poderem colaborar na execução de tarefas. 2.1. Desenvolvimento de AVC No desenvolvimento de um AVC deve-se observar aspectos como a quantidade de usuários, a complexidade da cena, a capacidade da rede utilizada e como será feita a interação entre usuário e AV e usuários entre si [4]. Um número elevado de usuários exige um alto poder computacional. Observando também o número de tarefas que poderão ser realizadas por cada usuário. Além disso, é necessário que haja um gerenciamento desses usuários (login, senha, segurança, etc) [3,4]. A complexidade do mundo está relacionada ao número de objetos presentes na cena e também do nível de detalhamento do ambiente. Objetos que podem ser modificados ou ajustados pelo usuário devem possuir um nível de detalhes maior quando comparados com aqueles que o usuário pode apenas observar. A capacidade da rede influencia o funcionamento de um AVC, pois a comunicação e a troca de informações entre os usuários é intensa. Redes de baixa velocidade podem comprometer a sensação de tempo real da aplicação. Sob o ponto de vista da interação, os usuários podem interagir por meio de ações ou mensagens de texto ou voz, sendo que uma abordagem muito comum é utilização de avatares (representações do usuário através de entidades virtuais) para fazer a representação visual dos usuários no AV [11]. 3. COLABORAÇÃO PARA ENSINO E APRENDIZADO O processo de ensino e aprendizado é tido como complexo sob a abordagem da colaboração [6] uma vez que a troca de informações é a principal fonte de construção de conhecimento. Tendo em vista que a colaboração promove não só a troca de informações, mas também a capacidade dos membros se ajudarem em tarefas, os benefícios que sistemas colaborativos acarretam são bastante relevantes [6,9]. Há algum tempo existem espaços de colaboração na Internet onde usuários podem trocar informações e se auxiliarem. Apesar do fato de não serem ambientes tridimensionais, os fóruns são exemplos de sistemas colaborativos. Porém, ultimamente o surgimento de ambientes de colaboração 3D têm chamado a atenção de estudantes e professores [6,10]. Em ambientes virtuais ou ambientes 3D a sensação de presença é bem maior do que em aplicações que utilizam tecnologias 2D. O sentimento de “estar junto” ou “trabalhar junto” com outros membros aparece com maior afinco em ambientes 3D pois permite as pessoas identificarem-se visualmente tornando a interação remota e a colaboração mais natural [6]. Entretanto, o que realmente promove a colaboração e o envolvimento em um ambiente 3D é a seqüência de atividades que requer participação e interação entre estudantes de diferentes localidades. A competição amigável, discussões sobre temas propostos e o conhecimento prévio de cada estudante, faz com que a colaboração traga benefícios no aprendizado de todos. Cada participante do ambiente, contribui com os seus conhecimentos, acrescentando novas idéias e informações a outros estudantes [6]. Através de mundos virtuais estudantes de diversos países podem se encontrar, comunicar-se em tempo real, discutir e trocar perspectivas. Interação com pessoas de lugares diversos e diferentes culturas cria interesse e curiosidade por parte dos estudantes, motivando-os a serem membros de ambientes como estes [6,7]. 4. X3D Desenvolvido pelo grupo Web3D, o X3D é “um padrão aberto para distribuir conteúdos de realidade virtual em 3D, em especial pela Internet.” [1]. Um arquivo X3D contém não só dados geométricos, mas também descrições de comportamentos dos objetos e da cena. O X3D surgiu com o intuito de substituir o padrão existente (VRML – Virtual Reality Modeling Language), corrigindo alguns aspectos indesejáveis que este contém e incorporando avanços de dispositivos e técnicas. As idéias de eventos de entrada e saída e também das rotas (ROUTES) do X3D são bastante semelhantes às do VRML [1,8]. Por ser uma linguagem bastante conhecida e atual dominante na Web, o XML (Extensible Markup Language) foi adotado como sintaxe principal para o X3D [1]. Além disso esta sintaxe torna mais simples a integração de descrições de ambientes 3D com páginas Web. O X3D oferece suporte à uma série de dispositivos, métodos e técnicas, sendo possível adicionar funcionalidades às suas aplicações. Essa extensibilidade (adição de funcionalidades) e o conjunto de serviços (funcionalidades já disponíveis) do X3D são definidos por Profiles e components. Um componente (component) é um conjunto ou coleção de nós que possuem funcionalidades em comum. Componentes existem em vários níveis de suporte, onde cada nível possui suas particularidades. Níveis menores contam com uma coleção restrita de nós, à medida que o nível aumenta, mais nós são disponibilizados no componente. Um Perfil (profile) é uma coleção de componentes em determinado nível de suporte. Cenas simples não necessitam de um Perfil que suporte níveis altos dos nós, já cenas mais elaboradas, sim [1,8]. 4.1. Scene Access Interface (SAI) Apesar de suas diversas características, o X3D não é uma linguagem de propósito geral. Entretanto ela pode ser integrada a aplicações desenvolvidas em outras linguagens, como Java, C ou linguagens de script. A SAI é uma API que nos possibilita acessar uma cena X3D através de uma aplicação externa. Assim, é possível inserir objetos, removêlos, notificar eventos e realizar modificações que afetam a cena e, conseqüentemente , elementos relacionados e externos a ela. Ou seja, a cena pode ser totalmente controlada de forma indireta através de um programa escrito em linguagens de programação ou script [8]. Além das características da cena, pode-se também manipular configurações do browser a partir de aplicações externas utilizando SAI. Notificações são enviadas para a aplicação sempre que alguma modificação é feita. Para se obter uma ligação da aplicação com o browser basta que seja criado um componente X3D utilizando a classe BrowserFactory da SAI. Logo em seguida deve-se adicionar o componente no painel principal da aplicação. Feito isso, uma instância do browser pode ser criada através do método getBrowser() da classe X3DComponent. Neste ponto o arquivo da cena a ser exibida é escolhido e substitui-se a cena principal utilizando: o método createX3DFromURL(), que recebe o caminho do arquivo como parâmetro, e o método replaceWorld(), ambos da classe ExternalBrowser [5,8]. No VRML é possível se ter acesso da cena através de aplicações externas também. Porém, para cada linguagem específica existe um modelo de programação diferente. Isso é solucionado no X3D com a SAI. A especificação de uma coleção unificada de serviços abstratos que podem ser mapeados para qualquer linguagem de programação ou script que se queira trata de eliminar essa divergência entre as formas de acesso externo. 5. COMUNICAÇÃO A troca de informações entre participantes de um AVC é essencial para que seja consolidada a colaboração. Mas não se trata apenas de trocar informações, trata-se de trocar informações da maneira mais rápida possível, sem que haja o comprometimento da sensação de tempo real da aplicação. Apesar do surgimento e uso do Internet e Internet2, sistemas de RV colaborativos exigem tráfego intenso. Isto ocorre devido ao fato de alterações feitas por cada usuário terem de ser repassadas para todos os demais, de forma que seja garantida a consistência do AVC, isto é, os usuários devem estar em uma cena com as mesmas configurações. Uma das maneiras de evitar essa sobrecarga da rede é obrigar que todos os clientes tenham o AVC armazenado localmente. Isso faz com que seja necessário apenas o tráfego de mensagens referentes às alterações ocorridas no AV de cada usuário. A Figura 1 mostra como isso poderia ocorrer. Todavia, ambientes complexos ou cheios de detalhes podem deixar a navegação lenta caso estejam totalmente carregados na memória do computador do cliente. Então é possível que cada usuário possua localmente armazenada apenas as partes do AV relacionadas à atual posição onde ele se encontra. À medida que o cliente vai mudando de ambiente, as novas partes da cena completa são recebidas [4]. Fig. 1: Esquema de repasse de alterações, realizadas por um usuário, para usuários conectados ao AVC. A comunicação em um AVC pode ocorrer de maneiras diferentes. No modelo atual de comunicação da Internet existem dois protocolos da camada de transporte que são bem conhecidos, o TCP (Transmission Control Protocol) e o UDP (User Datagram Protocol). As diferenças entre os dois estão relacionadas com a forma de envio e confirmação ou não do recebimento de mensagens, dentre outras coisas. O que determina o protocolo a ser usado em uma aplicação é a maneira como se quer que os dados sejam enviados e/ou a necessidade da garantia de que os dados chegaram realmente ao seus destinos [2]. O TCP é um protocolo orientado a conexões, ou seja, antes do envio dos dados é necessário que se realize um acordo entre os computadores que irão se comunicar. Este protocolo tende a ser pouco ágil, se comparado a outros protocolos, por ser confiável, isto é, por garantir que os dados cheguem de fato ao destino desejado e de que serão reenviados caso não cheguem. O protocolo UDP não possui tal característica de confiança , portanto, não confirma se dados chegaram ou não ao seu destino. Os dados simplesmente são enviados sem a preocupação com falhas ou perdas. Além disso, este protocolo não é orientado a conexões, ou seja, aplicações podem enviar dados sem que seja necessário estabelecer uma conexão exclusiva [2]. Outro ponto importante que observa-se na comunicação através da Internet é a possibilidade de mensagens serem destinadas a vários usuários ao mesmo tempo como uma tentativa de evitar tráfego desnecessário de dados. Esse método é denominado de multicast. Nesse tipo de comunicação, os dados são enviados sem que precise de uma conexão exclusiva origem-destino. Uma mesma mensagem é enviada a um grupo de usuários que possuam o mesmo endereço Multicast [4]. Em contrapartida, uma comunicação unicast cada conjunto de dados é enviado a apenas um destinatário, ou seja, caso se queira enviar a mesma mensagem a cinco usuários diferentes serão criadas cinco cópias dessa mensagem e cada cópia será direcionada para cada um desses usuários. 6. DESENVOLVIMENTO Neste trabalho, os AVCs são tratados como espaços de cooperação, pois não são abordados aspectos de comunicação verbal ou organização. Pretende-se deste modo, integrar AVs a ambientes reais, oferecendo meios de se gerenciar recursos e dispositivos reais através da manipulação de objetos modelados em computador. Tais objetos virtuais poderão ainda representar equipamentos reais localizados remotamente de modo que seja viabilizada a cooperação entre estudantes situados em locais distantes na realização de experimentos em laboratórios remotos. O X3D se insere no desenvolvimento do sistema proposto como padrão para modelagem do AV. As vantagens do X3D sobre o VRML influenciaram essa decisão, visto que há necessidade de integrar dispositivos específicos ao AV e permitir seu controle. Neste caso, a SAI permite esta integração no X3D. Para exibir a cena descrita por um arquivo X3D necessita-se de um browser que dê suporte ao padrão. Este browser estará ligado a uma aplicação de modo que seja possível gerenciar o armazenamento de dados e o repasse de informações para o ambiente real por meio de circuitos, sensores ou atuadores. Na Figura 2 é feita uma demonstração de como pode funcionar a visualização e manipulação de um equipamento real através de um objeto virtual [9]. Observa-se, entretanto, que a interação é realizada por um único usuário em um ambiente bidimensional, o que difere do modelo proposto neste artigo. É necessário que tais mecanismos sejam transparentes para o usuário, ou seja, a aplicação deve estar em execução sem que ele perceba suas ramificações. Assim, o usuário apenas terá a visualização do seu browser e poderá navegar e modificar a cena como se apenas o browser estivesse em execução. Inclusa nessa aplicação ter-se-á a camada de comunicação. Esta será responsável por toda troca de mensagens do sistema. Uma ilustração de como as ações executadas no ambiente virtual chegam ao ambiente real é mostrada na Figura 3. de modo que ações no AV podem afetar ambientes reais. O artigo apresentou também as possibilidades de integração dos AVs com os ambientes reais através de tecnologias recentes, como o X3D e o SAI. Os protocolos de comunicação foram rapidamente abordados para expor as possibilidade de conexão entre os ambientes. Este projeto encontra-se em fase de implementação. Os resultados esperados devem beneficiar alunos através do uso à distância de recursos laboratoriais. De forma complementar, serão integrados ao AVC ferramentas diversas voltadas ao ensino à distância. Fig. 2. Demonstração da manipulação de um equipamento por meio de um objeto virtual a partir de uma interface bidimensional. A Área 3 apresenta a visualização em tempo real do dispositivo. Fonte: [9]. Fig. 4. Esquema de distribuição das mensagens. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 3. Esquema de como ações executadas na aplicação cliente chegam na aplicação servidor, são interpretadas e repassadas para os demais clientes e para o ambiente real. O modelo de comunicação adotado foi o cliente/servidor. Nesse modelo os dados são armazenados em computadores denominados servidores. Além disso, toda informação trocada por clientes passa antes pelo servidor. Este gerencia para quem irá reenviar as mensagens que chegaram a ele [2], verificando para cada usuário (cliente) se o ambiente modificado corresponde ao visualizado (Figura 4). Um único servidor tem condições de cuidar de um grande número de clientes, porém é relevante observar a possibilidade da formação de um gargalo devido às mensagens de todos os clientes serem direcionadas para um único local. 7. CONCLUSÃO Este artigo apresentou a proposta de desenvolvimento de um AVC para aplicação em educação. No sistema proposto a colaboração acontece em espaços de cooperação, pois não aborda aspectos de comunicação verbal ou organização. O sistema prevê o uso de AVs interligados a dispositivos reais [1] Cardoso, C. Kirner, E. Lamounier, J. Kelner, “Tecnologias para o Desenvolvimento de Sistemas de RVA”. Ed. Universitária, Recife, 2007. [2] A. S. Tanenbaum, “Redes de Computadores”. Campus. 4ª edição, 2003. [3] D. Fillippo, A. Raposo, M. Endler, H. Fuks, “Ambientes Colaborativos de RV e Aumentada”. In: “RV e Aumentada: Conceitos, Proj. e Aplicações”, cap. 9. 2007. [4] L. C. A. Rinaldi et al., “AVs Distribuídos e Compartilhados”. In: “Fund. e Tec.de RVA”, cap. 5. 2006. [5] Web3D, “SAI Tutorial”. Online: Acesso em outubro/2007: www.xj3d.org/tutorials/general_sai.html. [6] N. D. Blas, C. Poggi, “European virtual classrooms: building effective “virtual” educational experiences”. Virtual Reality, v.11, n.2-3, pp. 129-143. Springer. 2007. [7] B. Lok, R. E. Ferdig, A. Raij, K. Johnsen, R. Dickerson, J. Coutts, A. Stevens, D. S. Lind, “Applying VR in medical communication education”. Virtual Reality, v.10, n.3-4, pp. 185-195 . Springer. 2006. [8] Web3D, “X3D Public Specifications”. Online: www.web3d.org. Acesso em: outubro/2007. [9] L. S. Machado, et al. “Improving Interaction in Remote Laboratories Using Haptic Devices”. In: Proc. of REV International Conference, Porto/Portugal. 2007. [10] D. F. L. Souza et al. “Development of a VR Simulator for Medical Training Using Free Tools: A Case Study”. In: Proc. Symp.Virtual and AR, pp.100-105. 2007. [11] Linden Labs. “Second Life”. Online: http://lindenlab.com/ Acesso em: outubro/2007. DESENVOLVIMENTO DE UM AMBIENTE DE REALIDADE VIRTUAL PARA ANÁLISE DE SOLOS AGRÍCOLAS Botega, L.C.¹, Cruvinel, P.E.² ¹ Departamento de Computação - Universidade Federal de São Carlos ² Embrapa Instrumentação Agropecuária - Empresa Brasileira de Pesquisa Agropecuária [email protected], [email protected] Resumo – Este trabalho apresenta o desenvolvimento de um ambiente de Realidade Virtual (RV) dedicado à análise de amostras tridimensionais (3-D) de solos agrícolas. Desta maneira, modelos provenientes de um algoritmo de reconstrução 3-D são submetidos a diversos processos gráficos de visualização e manipulação, a fim de contribuir com a imersão e interação de usuários com a cena virtual. Como validação, é abordada a questão referente à porosidade das amostras, bem como a formação de caminhos preferenciais de fluxo de água e solutos (fingering), verificando as contribuições do ambiente de RV para o seu estudo. Palavras-Chave - Realidade Virtual, Modelagem, Tomografia Computadorizada, Porosidade de Solos. Abstract – This work presents the development of a Virtual Reality (VR) environment dedicated to the three-dimensional (3-D) analysis of agricultural samples. Hence, models proceeding from a 3-D reconstruction algorithm are submitted to several graphic processes of visualization and manipulation, in order to contribute with user’s immersion and interaction with the virtual scene. As validation, it’s approached the question referring to the samples porosity, as well the formation of preferential ways of water and solute flow (fingering), verifying the contributions of the VR environment for its study. Keywords - Virtual Reality, Modeling, Computerized Tomography, Soil Porosity. 1. INTRODUÇÃO Avaliando a evolução que vem ocorrendo na área de física de solos, é possível perceber o aumento do interesse da comunidade científica pelo desenvolvimento e aplicação de técnicas não invasivas, como a tomografia computadorizada (TC), para o estudo das características do solo. Em relação às técnicas mais conhecidas, como a gravimetria, o uso da tomografia computadorizada de raios-x para análise das características de solos, apresenta considerável vantagem quanto à precisão dos atributos obtidos [6]. Outra vantagem da TC atribui-se à possibilidade da aplicação de técnicas computacionais após a aquisição dos dados da amostras. Desta maneira, após processos de reconstrução bidimensional (2-D) das amostras, é possível verificar fenômenos físicos que ocorrem no solo, tais como o fluxo de água e solutos, formação de poros, texturas e distribuição de raízes. Para avaliar essas características, diversos tomógrafos dedicados ao estudo de física de solos foram desenvolvidos por pesquisadores da Embrapa Instrumentação Agropecuária [1] [8]. Aliados ao desenvolvimento dos tomógrafos agrícolas, desenvolveram-se métodos de reconstrução 3-D e técnicas de visualização de imagens reconstruídas em três dimensões, devido à insuficiência de informação de imagens 2-D para um diagnóstico preciso, em estudos que necessitem de informações volumétricas. Desta maneira, tais métodos propõem a composição de superfícies e volumes de objetos, contribuindo para o aumento da precisão em processos de análise e extração da informação. O objetivo deste estudo é desenvolver um ambiente completo de RV [5], destinado a realizar análise não invasiva de amostras volumétricas, obtidas a partir de um algoritmo paralelo de reconstrução. Assim, busca-se aliar tais amostras com técnicas e ferramentas convencionais e não convencionais de manipulação e visualização, buscando interação e imersão com os usuários, de forma a promover a total exploração dos modelos. Estudos de caso em porosidade de solos e fingering serão considerados para validação. 2. MATERIAIS E MÉTODOS Em um primeiro momento, para a obtenção dos dados tomográficos, foi utilizado um minitomógrafo de raios-x e γ da Embrapa Instrumentação Agropecuária, tornando possível gerar mapas de coeficientes de atenuação com resolução espacial igual a 1mm [1]. Como primeira abordagem, foi utilizada uma amostra agrícola, submetida ao processo de aquisição sob energia de 58 KeV durante 10 segundos de exposição à radiação. Desta maneira, a organização do sistema e suas respectivas funcionalidades são descritas a seguir e representadas pelo diagrama de classes da Figura 1. Fig 1. Diagrama das classes do sistema de análise implementado com base em RV Posteriormente, foram utilizados os algoritmos descritos por Pereira e Cruvinel [7], responsáveis por reconstruir os dados obtidos pelo tomógrafo. Tais algoritmos foram implementados sob a linguagem C++ utilizando-se de programação paralela e processadores DSP. Para a reconstrução 2-D, foi adotado o algoritmo de retroprojeção filtrada, utilizando-se de filtragens frequenciais com janelas de Hamming. Posteriormente, com as imagens já reconstruídas, foi utilizada uma técnica de filtragem não linear, a fim de aperfeiçoar a filtragem a priori. Tal técnica utilizou-se da Transformada Wavelet Daubechies [4], a qual suaviza a imagem e preserva os detalhes e bordas simultaneamente. As Figuras 2(a) e 2(b) ilustram o resultado do processo. Para a reconstrução 3-D, foi adotada a mais difundida técnica para geração de volumes e superfícies: a sobreposição de fatias 2-D interpoladas, através da técnica BWavelets (B-Splines), a qual determina valores intermediários a partir de uma seqüência de pontos conhecida [7]. Ao final do processo, o modelo tridimensional é armazenado sob o formato Wavefront File Format (.obj). A escolha desse formato justifica-se pelo alto desempenho e flexibilidade ao importar tais modelos para ambientes virtuais, onde todos seus atributos podem ser customizados por API’s gráficas. (a) (b) Fig 2. (a) Imagem agrícola reconstruída com retroprojeção filtrada e janelas de Hamming; (b) Imagem filtrada com a Transformada Wavelet Daubechies. Para o desenvolvimento do ambiente de RV, foi utilizada a linguagem de programação Java sob versão 1.6.0 e a API Java3D sob versão 1.5.0., possibilitando a construção do grafo de cena do sistema, organizado sob estrutura hierárquica [9]. Inicialmente, é preciso desenvolver uma classe capaz de importar as amostras, providas pelo algoritmo de reconstrução 3-D, para o futuro tratamento pelo ambiente de RV, onde, a partir desta etapa, os modelos serão disponibilizados para visualização e análise de forma interativa. Para este propósito foi criada uma classe Loader, derivada de ObjectFile, permitindo aos usuários aplicar todos os recursos descritos a seguir sobre os modelos armazenados em formato Wavefront. Neste estudo, a utilização de técnicas de RV sobre o produto do algoritmo de reconstrução é baseada em uma interface para usuários, desenvolvida para ser o principal controle do ambiente, provendo acesso intuitivo às funções de RV. Esta interface principal é capaz de acessar visões diferenciadas da amostra importada, permitindo a separação dos componentes formadores de uma amostra, para uma análise individual, possibilitadas por operações de threshold com diversas escalas de cor, aplicadas sobre o algoritmo de reconstrução. Na interface, tais operações determinam a visão completa (sem threshold) e componentes (com threshold). Desta maneira, o usuário é habilitado a visualizar apenas uma região de interesse da amostra, representando níveis específicos de coeficientes de atenuação, onde tons mais claros (ou cores quentes, no caso de pseudocores) representam altos índices de absorção de fótons emitidos pelo tomógrafo. Transformações físicas lineares, consideradas como recursos interativos básicos de um sistema de RV, foram escolhidas para serem inicialmente incorporadas ao sistema. Assim, operações como rotação, translação, escala e reflexões estão disponíveis através de entradas por teclado para todo o conjunto de dados da amostra agrícola, realizadas através de instâncias de Transform3D, utilizando os métodos setRotation, setTranslation e setScale, além de nodos de conteúdo TransformGroup, responsáveis por atrelar as transformações ao grafo de cena do sistema. Também inserido no ambiente de visualização em RV, objetos Behavior foram atribuídos para traduzir ações de usuários, por entradas de mouse, em transformações de rotação e translação, também disponíveis para todo o conjunto de dados da amostra agrícola. Assim, a classe Behavior realiza a conexão entre interações e reações, provendo mudanças de nodos localizados no subgrafo de conteúdo. Outro recurso inserido no ambiente de RV é a obtenção de dados de voxels da amostra, que fornece para usuários informação sobre um ponto específico por seleção através de mouse ou luva digital (picking). Utilizando instâncias PickCanvas e PickResult, o usuário seleciona a região de interesse e extrai os atributos desejados, onde a coordenada z é estabilizada no display, permitindo a seleção através de uma viewport 2-D de maneira intuitiva. Os dados disponíveis para operações de picking estão divididos em dois aspectos: relativos à cena virtual e aspecto tomográfico. A respeito da cena virtual, usuários podem obter informações tais como: a distância entre o modelo e o usuário, as coordenadas do modelo e a atual matriz de transformação. No aspecto tomográfico, os dados disponíveis são as escalas de níveis de cinza, cores RGBA, cores HSL e o coeficiente de atenuação linear do ponto específico. A manipulação dos modelos e a obtenção de informação podem também ser obtidas utilizando uma P5Glove, uma luva digital do fabricante Essential Reality [3]. Este dispositivo não convencional tem seis graus de liberdade e permite que os usuários transladem e rotacionem a plataforma de visualização da cena, bem como manipulem as representações 3-D por toda a cena. Para este propósito, um driver/API específico nominado Dualmode foi adotado, de forma a fornecer subsídios para a implementação do comportamento da luva [2]. Comparado ao software original, o Dualmode oferece melhor filtragem de dados, maior precisão e melhor acesso a informações dos dedos e LEDs. Dentre os recursos disponibilizados pela API estão: tratamento do sinal em alto nível, rastreamento personalizado de movimentos e acesso direto às matrizes de transformação. Paralelamente, o driver Dualmode permite a indexação de diversos tipos de filtros digitais, destinados a suavizar possíveis problemas de rastreamento ruidoso. Tais filtros são a média, mediana e deadband. Como primeira abordagem, neste estudo foi adotado o filtro de médias com janela 3x3. Entretanto, o uso do filtro de médias leva a um outro problema: a atenuação do sinal da luva, o que provoca uma imprecisão de movimentação dos modelos no ambiente de RV, uma vez que os dados tornam-se insuficientes. Para corrigir este problema, foi implementado um método para calcular a variância dos valores de leitura, tomando-se algumas amostras à medida que o usuário movimenta a luva. Desta maneira, os valores lidos são organizados em um vetor de forma que o mesmo armazene as leituras mais recentes. Posteriormente é calculada sua média, a qual é utilizada para o cálculo da variância. O valor da variância indica o quão distante os valores encontram-se da média; assim, o valor de leitura que mais se aproxima da média e que obedeça ao intervalo de confiança estabelecido pela variância, é adotado e substituído ao objeto que armazena o valor correspondente, corrigindo eventuais inconstâncias de leitura. Para obtenção de informações, a luva é ajustada para funcionar como um mouse, permitindo aos usuários selecionar um voxel como em processos 2-D, utilizando-se da flag booleana setMouseMode, disponível no Dualmode. Subseqüentemente, um sistema de luzes dinâmicas foi inserido em todo contexto tridimensional, permitindo aos usuários escolher entre quatro tipos de fonte de luz, tais como Ambiente, Direcional, Pontual e Pontual Angular. Cada fonte de luz leva diversos parâmetros, com influência direta sobre a direção da luz, posição, atenuação, ângulos e cores. Seus efeitos podem ser vistos sobre todos os conjuntos de dados da amostra agrícola, contribuindo para o realismo da cena. Visando maior interatividade, um sistema de cores dinâmicas foi implementado. Através deste recurso, independente da escala de threshold adotada, toda representação tridimensional pode ter seus coeficientes de material alterados para uma melhor análise. Também por operações de picking, os usuários podem selecionar a região de interesse e alterar o material através de uma paleta de 256 cores. Estes recursos são providos pelos métodos setMaterial de instâncias Appearance, cujos parâmetros podem ser obtidos por objetos PickCanvas e PickResult. 3. RESULTADOS Considerando o processo de importação, destinado a trazer os resultados do algoritmo de reconstrução para o ambiente de RV, os modelos reconstruídos puderam ser tratados mediante todos os conceitos citados. Desta maneira, o modelo armazenado, sob o formato Wavefront (.obj), pode ser levado ao sistema pela classe Loader, preservando suas características originais. A Figura 3 demonstra a amostra agrícola reconstruída em 3-D e visualizada com pseudocores, após a aplicação de threshold inferior de 40 unidades e superior de 255, onde se pode notar a presença de regiões com maior grau de atenuação (vermelho), regiões com menor atenuação (azul) e regiões porosas, fora da escala determinada (menor que 40 unidades). Visando a completa interatividade com os objetos, as transformações físicas e os processos de manipulação demonstraram-se recursos satisfatórios, transformando entradas de mouse e teclado em feedbacks visuais sucintos. Desta maneira, fornecendo novos parâmetros, os usuários podem esticar, mover e girar a amostra agrícola, bem como uma completa exploração da cena e das amostras utilizandose de movimentos de mouse. Conforme o usuário seleciona o objeto na cena, a matriz de transformação é atualizada e exibida em tempo real, dentre os outros dados disponíveis. Quanto à obtenção de informações pelo uso do mouse, os resultados demonstraram-se precisos e práticos, uma vez que são alcançadas através de instâncias PickCanvas, informações exatas sobre um voxel específico escolhido, sob os dois aspectos descritos. Tais aspectos poderiam ser obtidos a partir de uma representação 2-D ou mesmo unidimensionais (1-D), entretanto, não de forma volumétrica, interativa e intuitiva. A Figura 4 demonstra um exemplo de informações obtidas de um voxel da amostra agrícola. Fig 3. Amostra reconstruída em 3-D após operação de threshold. Fig 4. Exemplo de extração de informações da amostra agrícola. A utilização da luva digital P5Glove demonstrou feedbacks satisfatórios, proporcionando aos usuários informações precisas a respeito do posicionamento e orientação do dispositivo. Através dessas informações, as amostras podem ser movidas por toda a cena, alterando as matrizes de transformação em tempo real. À medida que o receptor óptico lê os dados da luva, o filtro implementado suaviza o sinal, tomando a média das divergências de leitura e aumentando a precisão de rastreamento. Paralelamente, usuários podem facilmente navegar na cena através de simples movimentos da mão, alterando o subgrafo de visualização em tempo de execução, e posteriormente analisar a formação de fingering sob os mesmos processos descritos anteriormente para o mouse. A Figura 5(a) apresenta um pseudocódigo que representa o filtro implementado e a Figura 5(b) ilustra a exploração de poros (fingering) da amostra agrícola utilizando a P5Glove. Através do sistema de iluminação, todas as luzes da viewport atual podem ser alteradas em tempo real, obtendo respostas visuais concisas. Dependendo da capacidade de reflexão da superfície dos objetos, os efeitos dos parâmetros das fontes de luz podem variar e conseqüentemente o produto final. Paralelamente, a disponibilidade desses parâmetros pode também mudar, condicionada à fonte de luz escolhida. Como exemplo, buscou-se iluminar a amostra agrícola uniformemente todos os voxels, fazendo uso dos seguintes parâmetros: tipo: luz ambiente, atenuação: 1, intensidade: 1, cor: rgb branca (255, 255, 255). Posteriormente, pretendeu-se iluminar a mesma amostra com uma fonte vindo do infinito sob uma direção específica, o que simula a iluminação solar com os seguintes parâmetros: tipo: luz direcional, atenuação: 5, intensidade: 5, cor: rgb branca (255, 255, 255), direção: face frontal da amostra (0, 0, 5). As Figuras 6(a) e 6(b) ilustram o resultado dos processos. y Método atualiza_posições( ) { Para cada 1 dos 8 leds { Enquanto amostras < 50 {posição_x = leitura_x; posição_y = leitura_y ; posição_z = leitura_z; amostras ++; } calcula_media(); calcula_variancia(); substitui_novo_valor_leitura(); } z x (a) (b) Fig 5. (a) Pseudo-código que representa o filtro que atualiza o posicionamento da luva; (b) Navegação por dentre os poros da amostra agrícola através de movimentos do dispositivo (a) (b) Fig 6. Resultado da utilização do sistema de iluminação: (a) Luz ambiente; (b) Luz direcional . O sistema de cores também contribuiu para a interatividade do sistema, uma vez que trouxe a possibilidade de alterar a aparência dos modelos em tempo real, retornando convincentes repostas visuais. A interface principal forneceu acesso rápido e pratico à paleta de cores, permitindo que o usuário escolha a cor desejada de maneira funcional. 4. CONCLUSÕES A respeito do desenvolvimento do ambiente de RV, os resultados utilizando a amostra agrícola apresentaram-se satisfatórios. Considerando os processos de manipulação, a amostra e a cena podem ser movimentadas com o uso da luva ou mouse sob 6 graus de liberdade, permitindo que os usuários explorem a amostra por completo. Com a iluminação e colorização, os usuários podem examinar sob novas condições, regiões de interesse outrora não iluminadas ou devidamente coloridas com as fontes e cores definidas como padrão na inicialização do sistema, como o interior dos poros. O próximo passo configura-se com a visualização de todo o processo utilizando-se de Head Mounted Displays, com telas LCD, visando alcançar a imersão e um maior envolvimento. No contexto de física de solos, um ambiente de Realidade Virtual apresenta uma série de vantagens sobre outras técnicas de análise das estruturas, uma vez que permite de forma interativa, imersiva e não invasiva a completa visualização de amostras tridimensionais, permitindo que superfícies e volumes sejam explorados sob diversos paradigmas. Paralelamente, regiões internas e externas das amostras podem ser manipuladas e customizadas, de acordo com o interesse do usuário, permitindo estudos e análises específicos, como os caminhos preferenciais do fluxo de água e solutos (fingering), o qual configura-se como estudo de caso do presente estudo. A partir do algoritmo de reconstrução tridimensional, o modelo Wavefront, através das operações de threshold pode apresentar apenas as regiões determinadas por um limiar de tons de cinza, onde as mesmas, com tom de cinza próximo de zero, com baixo coeficiente de atenuação, configura-se como os vazios das estruturas, ou seja, as regiões porosas. Tais vazios interligados formam os caminhos preferenciais, os quais podem ser customizados, manipulados e visualizados por ferramentas de RV, onde o usuário imerso pode percorrer tais caminhos que descrevem e qualificam a estrutura de poros de amostras agrícolas. REFERÊNCIAS BIBLIOGRÁFICAS [1] Á. Macedo. Construção e uso de um tomógrafo com resolução micrométrica para aplicações em ciências do solo e do ambiente. Tese de doutorado, Universidade de São Paulo, São Carlos, 1997. [2] C. Kenner. Essential Reality P5glove sumary.Disponível em: <http://www.geocities.com/carl_a_kenner/p5.html>, 2007. [3] E. Reality. P5glove specification. Disponível em <http://www.inition.com>, 2007 [4] I. Daubechies. Tem Lectures on Wavelets. Philadelphia. SIAM, (1992). [5] J. Lanier. “Virtual Reality: the promise of the future”, Interactive Learning International, 8(4): 275-9, 1992. [6] L. Aylmore and J. M. Hainsworth. “The use of the computedassisted tomography to determine spatial distribution of soil water content”. Australian .Journal Soil Res, 21(4):435–443, 1983. [7] M. F. L. Pereira, P. E. Cruvinel. “Parallel DSP Architecture for Reconstruction of Tomographic Images Using Wavelets Techniques”. Proceedings of XIV SIBGRAPI, p. 384-384. Florianopolis, 2001. [8] P. E. Cruvinel, R. Cesareo, S. Crestana, and S. Mascarenhas. “X-and γ-rays computerized minitomograph scanner for soil science”. IEEE Transactions on Instrumentation and Measurement, 39(5):745–750, 1990. [9] Sun Microsystems. Java 3D 1.5.1 API Documentation. Disponível em <https://java3d.dev.java.net/>, 2007. DESENVOLVIMENTO DE UMA ARQUITETURA DE DISTRIBUIÇÃO PARA AMBIENTES VIRTUAIS Regislaine de Carvalho1, Alexandre Cardoso2, Edgard Afonso Lamounier Junior3, Luciano Ferreira Silva4. 1 – Grupo de Realidade Virtual – GRV – Universidade Federal de Uberlândia [email protected], [email protected], [email protected], [email protected] Resumo - O objetivo deste artigo é apresentar um sistema, ainda em desenvolvimento, capaz de realizar a distribuição de ambientes virtuais. O intuito desta arquitetura é possibilitar uma simultaneidade nas ações realizadas entre os participantes, sem que a transmissão de dados ou conexão seja prejudicada. Utiliza-se para este trabalho a linguagem Java, principalmente seus pacotes e métodos que permitem a distribuição do sistema (Sockets e RMI), e a linguagem gráfica VRML, que será utilizada para a realização de testes com o sistema. Palavras Chave - Ambientes virtuais, Java, Sistemas Distribuídos, VRML. Abstract - The objective of this article is to present a system, still in development, capable to realize the virtual environment distribution. The intention of this architecture is to make possible a concurrence in the actions realized between the participants, without whom the transmission of data or connection is harmed. The Java language is used for this work, mainly its packages and methods that allow the distribution of system (Sockets and RMI), and graphical language VRML, that will be used for the accomplishment of tests with the system. Keywords – Distributed Environments, VRML Systems, Java, Virtual 1. INTRODUÇÃO O ato de colaborar é entendido por trabalhar em conjunto, em um mesmo espaço compartilhado[1]. Trabalhado assim, os agentes deste espaço obtém melhores resultado do que se trabalhassem individualmente. Colaborando, suas idéias são somadas, erros identificados mais rapidamente, debates e argumentações levantados, dando assim, maior abertura para a solução do problema. Em um grupo pode ocorrer a complementação de capacidades, de conhecimentos e de esforços individuais, e a interação entre pessoas com entendimentos, pontos de vista e habilidades complementares[1]. Daí surge a importância da colaboração, já que os membros do grupo terão retorno para identificar precocemente inconsistências e falhas em seu raciocínio e, juntos, podem buscar idéias, informações e referências [2]. Tem-se como Realidade Virtual (RV) uma combinação de técnicas avançadas de interface entre o usuário e o sistema computacional. A intenção destas técnicas é dar ao usuário a sensação de realidade quando este interage com o computador. As interações são realizadas em tempo real, contando para isso com o auxilio de ferramentas como luvas e capacetes, juntamente com softwares, oferecendo assim maior veracidade a interação. Segundo Kirner [3], RV trata- se de uma forma em que pessoas visualizam, manipulam e interagem com computadores e dados extremamente complexos, na qual idéias como imersão, interação e envolvimento com o ambiente virtual são considerados básicos e fundamentais. Uma área de pesquisa em que existem grandes expectativas para o suporte à colaboração é designada Ambientes Virtuais Colaborativos (AVC). O desenvolvimento de AVC utiliza o conceito de RV distribuída, juntamente com teorias de colaboração para dar suporte ao trabalho em grupo. Duas condições devem ser obedecidas para que o sistema seja considerado um AVC: a existência de um acesso simultâneo a um sistema de RV e o suporte explícito das necessidades dos utilizadores que pretendam trabalhar em conjunto [4]. A velocidade com que os dados são transmitidos é um fator importante, já que se espera deste tipo de sistema respostas em tempo real. Sendo assim, é de suma importância a pesquisa e o desenvolvimento de arquiteturas de distribuição que contemplem os diversos tipos de ambientes em RV com eficácia. Neste contexto, este trabalho tem como objetivo desenvolver uma arquitetura de distribuição que ofereça suporte a ambientes virtuais. Como estudo de casos optou-se em focalizar a pesquisa em sistemas desenvolvidos na linguagem VRML (Virtual Reality Modelating Language). Para realizar a distribuição, optou-se pela linguagem Java, que vem se destacando nos últimos anos, devido a sua lógica, portabilidade e versatilidade. Os próximos tópicos deste artigo refletem o estado atual desta pesquisa, descrevendo os seus trabalhos correlatos, suas tecnologias de apoio e, por fim, a arquitetura proposta. 2. TRABALHOS RELACIONADOS Os projetos descritos nesta pesquisa possuem resultados satisfatórios quanto a colaboração via RV distribuída. Os quais são: • NICE [5] (Narrative-based, Immersive, Construtivist/ Collaborative Environment). Foi desenvolvido pela University of Illinois e tem como função principal possibilitar que crianças interajam com um ecossistema virtual, colaborando com outras crianças, que podem estar remotamente localizadas. Esta prática estimula a curiosidade e criatividade dos participantes, através de uma interação de mundo real e virtual, podendo-se até mesmo criar historias. • ARCA[6], desenvolvido pela UFRGS, foi direcionado primeiramente aos alunos do curso de Engenharia de Alimentos e técnicos do EMATER/RS, já que o projeto a principio abordara a área de alimentos. Teve como proposta, auxiliar estes alunos a dominar tanto conhecimentos de Engenharia de Alimentos como outras áreas que possam ser desenvolvidas a partir de objetos projetados e aplicados no desenvolvimento do sistema. O sistema abrange três áreas de ensino: Psicologia, Educação e Informática. Este projeto visa o auxílio na prática pedagógica da educação diferenciada, construindo ambientes de ensino e aprendizagem com suporte na Web. enviando informações ao mesmo tempo, automaticamente será criado um servidor – escravo, capaz de suprir as necessidades dos clientes. 4. ARQUITETURA DO SISTEMA A Figura 1 representa um diagrama básico da arquitetura do sistema que mostra a lógica de fluxo de informações. 3. FUNDAMENTOS TEÓRICOS E TECNOLÓGICOS 3.1 VRML A linguagem VRML, criada por Mark Pesce e Tony Parisi, é uma linguagem que permite, a partir de suas modelagens, baseadas em formatos geométricos, a criação de mundos virtuais em três dimensões. Fora desenvolvida para descrever simulações interativas, ser utilizada em sistema de cliente local, internet e intranets. Em suas versões mais recentes, atualizações foram feitas, possibilitando que características como som, animação e movimento fossem agregados aos seus gráficos. Pode ser escrita em qualquer editor de texto, pois, uma vez editados, os arquivos são gravados em formato ASCII, com extensão .wrl. É necessário um browser e um plug-in para visualização dos objetos criados[7] Esta linguagem é bastante empregada nas áreas de engenharia, entretenimento, educacional, e cientifica. 3.2 JAVA Java é uma linguagem de programação orientada a objeto, para código interpretativo, portátil, e que suporta interação entre objetos remotos. Sua aplicação neste projeto justifica-se pelo seu suporte a consolidação e verificação dos aspectos propostos na arquitetura de distribuição de ambientes virtuais. Outro fator importante a se considerar na linguagem Java é a sua compatibilidade com a linguagem VRML uma vez que pode ser usa, através do nó Script, dentro de um arquivo .wrl. O nó Script recebe uma indexação de um arquivo cuja extensão é .class, que será criado após a compilação 1 do código desenvolvido em Java. Com intuito de testar a viabilidade da linguagem Java para o presente trabalho, em termos de distribuição, realizou-se a construção de um sistema cliente-servidor, capaz de enviar e receber mensagens, arquivos, e numerais inteiros, bastando para isso que seja indicada em suas linhas de código o endereço do computador que será o servidor. Todo este processo inicial de distribuição baseou-se em um framework construído por alunos do curso de Ciência da Computação da Universidade Federal do Rio Grande do Norte [8]. A estrutura Java do sistema se baseia no uso de bibliotecas e pacotes, que são requisitados de acordo com a execução do programa, esse é o fato que torna todo o sistema leve e acessível para seus usuários. Classes foram criadas, cada qual para o tipo de arquivo que é responsável por enviar ou receber (inteiro, string, arquivos). A classe Servidor se conecta e aguarda até que algum cliente, que se encontra em outra classe, se conecte. Caso haja algum problema na conexão, como por exemplo, muitos clientes se conectando e 1 processo de transformação de um código fonte, de linguagem de programação, para um código objeto compreensível pelo computador Figura 1 – Arquitetura do Sistema – Fluxo de Informações. Nesta figura estão representados os computadores do servidor e dos clientes que fazem parte do sistema. Basicamente, as três entidades possuem as mesmas características, que são: ambientes criados com as linhas de código na linguagem VRML e o programa feito com as linhas de código na linguagem Java, que efetua a distribuição destes ambientes. O computador do servidor inicia as atividades. O usuário conecta-se ao sistema, através das linhas de código em Java. Em relação ao código em VRML, este terá em seu nó Script a indicação ao arquivo desenvolvido na linguagem Java. Este arquivo fora gerado no ato da compilação do arquivo (.class). A partir destas ações, ocorre o trânsito de informações, onde serão enviadas apenas as atualizações de ambiente, e não o arquivo todo novamente. 5. DETALHES DE DESENVOLVIMENTO Optou-se por distribuir um ambiente virtual desenvolvido em um trabalho de mestrado [8]. Este trabalho consiste na construção de um laboratório de física virtual, onde serão simulados experimentos de Física como, por exemplo, queda livre, lançamento obliquo, entre outras. A Figura 1 ilustra o experimento de lançamento oblíquo. [2] Turoff, M., Hiltz, S.R. (1982), “Computer Support for Group versus Individual Decisions”, IEEE Transactions on Communications, USA, 30, (1), p. 82-91. [3] Kirner, C., et al. “Sistemas de Realidade Virtual, Apostila do I Ciclo de Palestras de Realidade Virtual”, UFSCar. Disponível em http://www.dc.ufscar.br/~grv/tutrv.htm, Outubro 1997, 54p. [4] Benford, S. e Greenhalgh, C. (1997b). Introducing Third Party Objects into the Spatial Model of Interaction. Hughes, John et al. Eds., 5th ECSCW Conference : Kluwer Academic Publishers, pp 189-204. Figura 2 - Experimento de lançamento obliquo Fonte [Silva, L.F.: “Associando realidade virtual não - imersiva e ferramentas cognitivas para o ensino de Física”, Uberlândia, 2006.] Estes ambientes foram criados para fins acadêmicos, e a aplicação da arquitetura de distribuição ajudaria na didática, possibilitando que vários usuários interajam e que haja a realização de um mesmo experimento, coletando dados e observando o seu comportamento. 6. CONCLUSÃO E TRABALHOS FUTUROS Como foi visto nos tópicos anteriores, para que houvesse a interligação entre os ambientes virtuais e o programa desenvolvido em Java, utiliza-se o nó Script, e dentro deste nó coloca-se o nome do arquivo e extensão. Porém, existem algumas incompatibilidades quanto aos pacotes utilizados na programação em Java e o sistema operacional (o pacote JDK 1.1.8 não é compatível para Windows XP). Este detalhe impossibilita a execução correta do programa. Caso o pacote seja alterado para um mais atual (JDK 1.6.2), ocorrem diversos erros de compilação. As bibliotecas destinadas ao VRML não existem neste pacote mais atual, o que impossibilita a execução do mesmo. Diante a arquitetura montada e os resultados apresentados, o próximo passo a ser realizado é efetuar mais testes e observar como o sistema se comporta, inclusive quanto a sua capacidade de conexão e escalabilidade. 7. REFERÊNCIAS BIBLIOGRÁFICAS [1] Fuks, H., Gerosa, M.A. & Lucena, C.J.P. (2002a), “The Development and Application of Distance Learning on the Internet”, The Journal of Open and Distance Learning, Vol. 17, N. 1, ISSN 0268-0513, February 2002, pp. 23-38 [5] Kawamoto, André L. S., et al. “AVC-MV: Um Ambiente Colaborativo para Aplicações Educacionais”. Proceedings of the 4o SBC Symposium on Virtual Reality (2001), Florianópolis,226-237. [6] [6] http://penta.ufrgs.br/pgie/arca/arca.htm [7] Silva, Luciano Ferreira, “Associando realidade virtual não - imersiva e ferramentas cognitivas para o ensino de Física”, Uberlândia, 2006. [8] http://www.ppgsc.ufrn.br/html/Producao/Disse tacões/AquilesMedeirosFilgueira.pdf DESENVOLVIMENTO DE UMA INTERFACE GRÁFICA PARA O ARTOOLKIT COM APLICAÇÃO NA ÁREA EDUCACIONAL Kelma Kerly de Carvalho Cunha1, Marcelo de Paiva Guimarães1,2 1 Centro Universitário Adventista de São Paulo - UNASP Estrada de Itapecerica, 5859 – Jardim IAE CEP: 05858-001 – São Paulo – SP – Brasil 2 Faculdade de Campo Limpo Paulista - FACCAMP Rua Guatemala, nº 167 CEP 13231-230 -Campo Limpo Paulista - SP - Brasil {kelma.jubileu,marcelodepaiva}@gmail.com Resumo – Este artigo mostra uma ferramenta gráfica para o desenvolvimento de aplicações de Realidade Aumentada. Esta ferramenta, através de uma interface visual, disponibiliza as funcionalidades mais importantes do ARToolKit, como a mistura das cenas do mundo real com os objetos virtuais em tempo real e a associação de objetos virtuais com os marcadores do mundo real. Esta ferramenta é voltada para o desenvolvimento de aplicações educacionais. No final, é apresentado um estudo de caso desenvolvido utilizando esta ferramenta. Palavras-Chave – ARToolKit, Interface Gráfica, Realidade Aumentada, Virtual. Abstract – This article presents a graphic tool for the development of Augmented Reality software. This tool offers the more important Artoolkit functionalities, as the insertion of virtual objects over a real world and association of virtual objects with marks. This tool aims the development of application for education. At the end of this article is presented a case study which was developed using this tool. Keywords – ARToolKit, Augmented Reality, Graphic Interface, Virtual. 1. INTRODUÇÃO Atualmente está aumentando o interesse em se utilizar os recursos fornecidos pelos sistemas computacionais para aprendizagem. Isto tem acontecido, principalmente, devido aos avanços tecnológicos de diversas áreas, dentre elas da Realidade Aumentada (RA). As novas tecnologias têm proporcionado avanços nos métodos tradicionais de ensino, tornando mais fácil o aprendizado por parte dos alunos e também a forma do professor ensinar. A RA é ainda uma tecnologia que é pouco utilizada. A maioria das aplicações de RA são jogos, mesmo as da área educacional. A quantidade de aplicações de RA quando comparada com a de áreas correlatas, como a de RV, é pouca. Isto ocorre, principalmente, devido a dificuldade no processo de desenvolvimento. Para se desenvolver aplicações de RA, existem várias ferramentas, sendo o ARToolKit a mais utilizada. Este software apresenta algumas vantagens como: código-aberto, gratuito, multiplataforma e de fácil uso para usuários da área de computação. Se o usuário for leigo, este tem dificuldades no seu uso, pois o ARToolKit não fornece facilidades para a criação de aplicações como as disponíveis em ambientes visuais de desenvolvimento. O objetivo deste trabalho é apresentar uma ferramenta gráfica para o desenvolvimento de aplicações de RA. Ela tem como público alvo professores com poucos conhecimentos de informática, mas que desejam ter autonomia para desenvolver as próprias aplicações conforme o seu próprio planejamento. Esta ferramenta tem como base as principais funcionalidades do ARToolkit. Nesta ferramenta o professor pode misturar cenas do mundo real com os objetos virtuais em tempo real sem o conhecimento de programação. Assim, este artigo busca, principalmente, atender o requisito de facilidade de desenvolvimento de novas aplicações de RA, principalmente as educacionais, no qual os usuários não possuem conhecimento de programação. Este artigo foi organizado da seguinte forma: a seção 2 aborda os conceitos mais relevantes sobre a RA, a seção 3 apresenta o ARToolKit, suas características principais e o seu funcionamento, a seção 4 descreve a ferramenta desenvolvida, a seção 5 mostra um estudo de caso, e por fim, a seção 6 mostra as considerações finais. 2. REALIDADE AUMENTADA A RA é uma tecnologia recente advinda da Realidade Virtual. O funcionamento desta tecnologia envolve a sobreposição de objetos virtuais no mundo real, proporcionando desta forma o enriquecimento do ambiente real com objetos virtuais em tempo real [1]. Segundo [2] existem três características principais nos sistemas de RA: ● Combinação do mundo real com os objetos virtuais dentro do ambiente real ● Interatividade em tempo real ; e ● Alinhamento exato dos objetos virtuais no ambiente real. Um ambiente de RA é formado quando o cenário real é predominante, ou seja, quando objetos virtuais são inseridos no mundo real [3]. Para interagir com o ambiente de RA, o usuário pode utilizar desde capacetes de visão direta para visualizar o mundo misturado até as próprias mãos para manipular os objetos virtuais no mundo real. A interação é sempre em tempo real, não importa o meio utilizado para interagir [4] A RA possui grande potencial e apresenta uma grande gama de aplicações em diversas áreas como: medicina, jogos, arquitetura, indústria, entre outras. A RA também pode ser aplicada de maneira intensa na área educacional. A grande parte das aplicações educacionais existentes hoje é baseada no desenvolvimento de jogos. A seguir são apresentados dois exemplos de aplicações educacionais [6]: ●Quebra-Cabeça Baseado em Jogo de Palavras – esta aplicação consiste em um jogo de palavras, que na verdade é um quebra-cabeça, onde o usuário forma as palavras e, se essa palavra estiver registrada no banco de dados da aplicação, aparecerá o objeto correspondente a ela. ●Livro Interativo com Realidade Aumentada (LIRA) – O LIRA é um livro virtual criado utilizando o ARToolKit, o livro ensina sobre poliedros. Em cada página do livro tem um marcador, sobre este marcador é sobreposto o objeto virtual. À medida que as páginas são folheadas, o objeto vai mudando de acordo com o marcador que está na página. As duas aplicações utilizam o ARToolKit da mesma forma, ou seja, toda vez que um marcador é apresentado um determinado objeto virtual é adicionado na cena. O propósito destas aplicações e da que podem ser desenvolvidas utilizando a ferramenta aqui mostrada é o mesmo, ou seja, fim educacional. Porém, o processo de desenvolvimento é diferente. Tanto o Quebra-cabeça quanto o projeto LIRA foram desenvolvidas por usuários da área de computação. As aplicações resultantes da ferramenta, aqui apresentada, serão desenvolvidas por usuários leigos, ou seja, sem conhecimento profundo de computação. Conforme observado na Figura 1, o marcador consiste de uma imagem com uma moldura na cor preta e um símbolo qualquer em seu interior, neste caso a letra K. O marcador é usado da seguinte maneira: com a câmera conectada, o usuário deverá executar algum dos arquivos de teste do ARToolKit como, por exemplo, o arquivo SimpleVrml.exe contido na pasta bin, assim que o arquivo é executado, uma tela contendo informações da câmera é aberta e, após confirmar clicando em “OK” aparecerá uma janela de vídeo, é neste momento que o marcador deve ser apontado para a câmera e o objeto associado ao padrão deste marcador será projetado sobre [5]. A Figura 2 ilustra um objeto virtual sobre o marcador. Nota-se então que o ambiente de desenvolvimento do ARToolKit exige que o usuário tenha um conhecimento mínimo de computação, caso contrário, terá dificuldades no desenvolvimento de novas aplicações. 3. Ferramentas de alto nível evitam a necessidade de conhecimento profundo de material de base (como computação gráfica, interface com o sistema operacional etc.), permitindo que o desenvolvedor foque apenas no seu aplicativo em si. Além disso, promovem o reuso de estruturas e algoritmos comuns para gerência dos recursos utilizados. Existem fatores desejáveis nas ferramentas de desenvolvimento de aplicações de RA, como: facilidade de uso, confiabilidade, desempenho, legibilidade, robusteza, escalabilidade, expansibilidade, compatibilidade, reusabilidade e documentação. Esses fatores serviram como requisitos e preocupações do projeto da ferramenta apresentada neste artigo. A ferramenta gráfica desenvolvida foi criada utilizando o software Microsoft Visual Basic 6.0. Os objetos virtuais usados nos testes foram modelados no software Media Machines Flux Studio 2.0. Esta ferramenta permite a associação de objetos virtuais a marcadores e configuração destes, como por exemplo, a adição de sons. A aplicação final é gerada automaticamente e de maneira completamente transparente para o professor. Além disso, esta ferramenta fornece recursos como a impressão dos marcadores e a execução das aplicações criadas. Assim, procurou-se fazer a junção da RA com as facilidades de utilização da interface gráfica a fim de SOFTWARE ARTOOLKIT O ARToolKit é a base de RA da ferramenta desenvolvida. Ela é um conjunto de bibliotecas criadas em linguagem C/C++ pelo Dr. Hirokazu Kato da Universidade de Osaka e apoiada pelo Human Interface Technology Laboratory (HITL) da Universidade de Washington [6]. Este software trás versões para várias plataformas, incluindo Linux e Windows. As versões possuem as mesmas funcionalidades, entretanto, as configurações de hardware poderão implicar no desempenho das aplicações [4]. O único recurso de hardware exigido para iniciar um trabalho no ARToolKit é uma câmera conectada no computador. Como o funcionamento do ARToolKit baseiase na utilização de cartões marcadores, é necessário que estes sejam impressos. A Figura 1 ilustra um marcador [5]. Fig. 1. Marcador utilizado no ARToolKit Fig. 2. Objeto virtual sobreposto ao marcador 4. A FERRAMENTA DESENVOLVIDA produzir um ambiente fácil de ser utilizado para desenvolver aplicações educacionais. A Figura 3 mostra a tela principal desta ferramenta. Ela é composta por uma área de trabalho e por diversos botões. nas associações e configurações de objetos (sem conhecimento de programação). Como trabalho futuro, planeja-se incluir nas interfaces o suporte para dados multimídia, como animações e vídeos. 5. Fig. 3. Tela principal da ferramenta desenvolvida Fazem parte desta ferramenta os seguintes módulos: ●Execução da Aplicação – nele está contida as principais funcionalidades do ARToolKit, que é a mistura do mundo real com os objetos virtuais, ou seja, ela executa a aplicação final. Para execução, é necessário que uma câmera esteja conectada. Quando o usuário apontar o marcador para a webcam, o marcador é detectado e o objeto virtual associado a este marcador é adicionado no mundo real. ●Impressão de Marcadores – este módulo permite a impressão de marcadores. Ao ser acionado, o sistema lista a imagem de todos os marcadores disponíveis em uma interface gráfica. Então, o usuário escolhe o marcador e imprime através do botão de impressão. ●Configuração dos Objetos Virtuais – este é o módulo mais interessante do sistema, pois possibilita o usuário escolher os objetos virtuais que farão fazer parte da aplicação de RA e determinar os eventos que ocorrerão quando este for detectado pela câmera, como por exemplo, a adição do objeto virtual ou a execução de um determinado som. Nele, o professor pode fazer a associação dos objetos virtuais com os conteúdos que estão sendo estudados. Esta ferramenta já disponibiliza alguns marcadores e objetos virtuais, porém novos podem ser incorporados. Quando um objeto virtual é associado com um marcador, o objeto pode ser exibido no navegador Flux Player, que está incorporado na própria ferramenta, para fazer ajustes de posicionamento do objeto. ●Ajuda do Sistema – este módulo exibe informações de como utilizar o sistema. Essas informações estão divididas por módulo. Esta ferramenta facilita o desenvolvimento de novas aplicações, pois exige pouco conhecimento sobre objetos gráficos e configuração do sistema. Além disso, torna fáceis as mudanças nas aplicações, pois não são necessárias alterações ou recompilação da aplicação, apenas mudanças ESTUDO DE CASO A RA possibilita diversos tipos de aplicações em diversas áreas. Neste trabalho esta tecnologia foi explorada na área educacional, com o objetivo de auxiliar no aprendizado de qualquer disciplina em qualquer nível acadêmico. Por exemplo, no estudo da história do Egito Antigo, o professor poderá usar o sistema para mostrar aos alunos o que é uma pirâmide, que será mostrada no ambiente real. Assim, o interesse dos alunos será despertado com muito mais facilidade, uma vez que eles estarão vendo ali, no ambiente real, um objeto virtual relacionado ao conteúdo que está sendo estudado naquele momento. Desta forma, o ambiente educacional se tornará mais atrativo e motivador. Para demonstrar o funcionamento do sistema, foi desenvolvida uma aplicação para auxiliar no ensino de geometria. Para qualquer aplicação, sempre será necessário inicialmente a criação de um plano de ensino para que o assunto seja abordado de maneira adequada. Logo após a impressão dos marcadores. Então, utilizando o recurso de configuração de objetos virtuais o professor realizará a associação dos marcadores com os objetos virtuais e a configuração dos eventos que ocorrerão, sempre na interface gráfica. Ele deverá selecionar o módulo de configuração de objetos virtuais e acessar o botão Abrir Arquivo. Desta maneira, as informações contidas no arquivo que faz a associação dos objetos virtuais com os marcadores reais serão importadas, ou seja, este arquivo já trás como padrão alguns marcadores e os objetos virtuais associados. A lista destes marcadores cadastrados pode ser vista no módulo de impressão de marcadores. Quando as informações desse arquivo são importadas, aparece para cada marcador cadastrado um botão como está destacado mostra a Figura 4. Toda a atualização dos arquivos do ARToolKit é realizada de maneira transparente para o professor. Na parte esquerda desta figura é apresentado o marcador e à direita o objeto virtual que será substituído. Fig. 4. O círculo vermelho destaca os botões que indicam quais marcadores estão cadastrados. Através do botão Abrir do módulo de configuração de objetos virtuais, o professor pode alterar o objeto virtual padrão pelo objeto que ele quiser, ou que esteja relacionado à disciplina que ele está ministrando. Assim que o objeto é escolhido, é necessário que ele seja visualizado para que a alteração seja realizada com sucesso. Para salvar a alteração no arquivo, basta clicar no botão Salvar. Então, o sistema atualiza, de maneira transparente para o professor, os arquivos de associação do ARToolKit. Assim que as mudanças são salvas o antigo objeto é substituído pelo novo, como mostra a Figura 5. Nesta figura está sendo exibido um triângulo, que faz parte do ensino de geometria. Também foi demonstrado que o sistema pode auxiliar no ensino de qualquer disciplina, tornando o ambiente educacional mais interativo e interessante, pois os alunos poderão visualizar os objetos virtuais no ambiente real. 6. CONSIDERAÇÕES FINAIS As aplicações de RA demandam de objetos gráficos, marcadores, capacidade de processamento e de uma metodologia apropriada de utilização. Este trabalho apresentou um esforço no sentido de projetar e implementar uma ferramenta para facilitar o desenvolvimento de aplicações de RA por usuários leigos, visando, principalmente, aplicações educacionais. Então, criou-se uma interface gráfica para o ARToolKit. A interface disponibiliza as principais funcionalidades do ARToolKit em um ambiente de fácil uso. No futuro, esta ferramenta será testada com professores do ensino médio. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 5. Novo objeto sendo visualizado Finalmente, o professor poderá exibir o objeto virtual no ambiente real para os alunos, isso deverá ser feito através do módulo que executa a aplicação. Quando o módulo for acessado, a janela da câmera é inicializada e o professor poderá apontar para a câmera o marcador que está associado ao objeto que ele escolheu. Quando o marcador é apresentado para a câmera, automaticamente o objeto virtual é adicionado no mundo real. A Figura 6 mostra a figura geométrica adicionada no mundo real. Fig. 6. Objeto virtual exibido no ambiente real Esse estudo mostrou que a interface visual desenvolvida neste trabalho facilita a utilização do software ARToolKit e que é possível qualquer pessoa utilizá-lo sem complicações. [1] Billinghurst, M.; et. al. “Real World Teleconferencing. IEEE Computer Graphics and Applications”, Vol 22, No 6, pp. 11-13, Nov/Dec 2002,. [2] Azuma, R.; et. al. “Recents Advences in Augmented Reality”: IEEE Computer Graphics and Applications, v. 21, n. 6, p. 34-47. 2001. [3] KIRNER,C.; et. al. “Fundamentos de Realidade Virtual Aumentada”. In: Kirner, C.;Tori,R.;Siscoutto,R. editores. Fundamentos e Tecnologia de Realidade Virtual Aumentada. Livro do pré-simpósio, VIII Symposium on Virtual Reality, SBC p. 29-45, Porto Alegre, 2006. [4] KIRNER, C.;TORI, R. “Introdução à Realidade Virtual, Realidade Aumentada e Hiper-Realidade”. In: Kirner, C.;Tori, R. editores. Realidade Virtual: Conceitos, Tecnologias e Tendências. 1ª edição. São Paulo, 2004,v1,p. 3-20. [5] CONSULARO, L.A.;et. al: “Aspectos Práticos e Aplicações Educacionais”. In: Cardoso, A.; Lamounier Jr, E. editores. Realidade Virtual: Uma Abordagem Prática. Livro dos Minicursos do SVR2004, SBC, São Paulo, 2004, p. 141-183 [6] ARToolKit Documentation (How does ARToolKit Works?). Disponível em: http://www.hitl.washington.edu/artoolkit/documentation/ ARToolKit Documentation/userarwork.htm. Acesso em 01 de março de 2007. DETECÇÃO DE COLISÕES EM AMBIENTES VIRTUAIS PARA TREINAMENTO MÉDICO 1 2 Marcello Kera1, Hélio Pedrini1 , Fátima L. S. Nunes2 Universidade Federal do Paraná - Departamento de Informática - Curitiba-PR 81531-990 Centro Universitário Eurípides de Marília – Programa de Pós-Graduação em Ciência da Computação - Marília-SP, 17525-901 Resumo - Detecção de colisão é um requisito fundamental para que uma aplicação de Realidade Virtual possa simular o mundo real com alto grau de fidelidade. Precisão e desempenho são duas características importantes em algoritmos de detecção de colisão. Este artigo apresenta um conjunto de métodos para detecção de colisão em objetos rígidos e deformáveis e, a partir dessa análise, descreve um algoritmo para auxílio ao treinamento médico em ambientes virtuais. de colisões que possa atender aos requisitos de robustez e desempenho requeridos em ambientes virtuais para fins de treinamento médico. Este artigo está organizado como segue. A seção 2 descreve os principais conceitos e métodos relacionados à detecção de colisão. A seção 3 apresenta a proposta de um método para detecção de colisões. A seção 4 ilustra alguns resultados experimentais obtidos a partir do método proposto. A seção 5 apresenta as conclusões do artigo. Palavras-Chave – Realidade Virtual, Detecção de Colisões, Treinamento Médico. 2. Abstract – Collision detection is a fundamental requirement for a Virtual Reality application to simulate the real world with high degree of fidelity. Precision and performance are two main characteristics on collision detection algorithms. This paper presents a number of collision detection methods for rigid and deformable objects and, from such analysis, describes an algorithm for supporting medical training in virtual environments. Keywords – Virtual Reality, Collision Detection, Medical Training. 1. INTRODUÇÃO A Realidade Virtual (RV) é um conjunto de tecnologias para construção de aplicações que requerem interação computacional avançada, permitindo a simulação de ambientes com alto grau de realismo a partir de dados extremamente complexos. A detecção de colisão [3] é um dos componentes mais importantes e dependentes das informações de interação monitoradas em um Ambiente Virtual (AV), permitindo responder às interações entre objetos no mundo virtual, fator importante para obtenção do realismo. Este requisito requer programas específicos para gerenciar as informações de interação, envolvendo rotinas de controle e computação gráfica [7]. No instante da detecção de colisão, a aplicação deve emitir uma resposta automática quando houver um contato entre objetos, como a deformação, um salto, restrição ao movimento ou mesmo produzir forças e vibrações. O problema da detecção de colisão entre objetos é fundamental em qualquer simulação do mundo físico, sendo estudado em diversos domínios de conhecimento, tais como robótica, computação gráfica e geometria computacional. Os principais objetivos deste artigo são apresentar conceitos relativos ao problema de detecção de colisões, descrever os principais métodos existentes, suas vantagens e desvantagens, bem como propor um algoritmo de detecção DETECÇÃO DE COLISÃO Detectar uma colisão é verificar a aproximação entre objetos em um AV, sendo que essa aproximação deve ser suficientemente pequena a ponto de possibilitar a ocorrência de uma sobreposição entre objetos, fornecendo, assim, um maior realismo às aplicações de RV. A sua percepção exige a presença de, no mínimo, dois objetos em um AV, em que pelo menos um deles deve estar em movimento. Trata-se de um problema complexo, visto que objetos virtuais podem ter formas, tamanhos e movimentos variados, dependendo de suas naturezas e da finalidade da aplicação. Além disso, os objetos em cena podem ser rígidos ou deformáveis. Devido ao fato de que a detecção de colisão depende extremamente das informações provenientes das interações do usuário com o AV, algoritmos eficientes devem ser desenvolvidos para alcançar precisão dentro de tempos de respostas aceitáveis. Este requisito pode demandar programas específicos para gerenciar as informações de interação, envolvendo rotinas de controle e computação gráfica [7]. As seções a seguir descrevem sucintamente um conjunto de abordagens relacionadas à detecção de objetos rígidos e deformáveis existentes na literatura. 2.1. Volumes Limitantes A detecção de colisão por volumes limitantes são algoritmos que utilizam primitivas simples para delimitação do espaço de colisão do objeto, tais como esferas, caixas alinhadas aos eixos (Axis-Aligned Bounding Boxes - AABB) e caixa orientada (Oriented Bounding Box – OBB). A principal idéia desse tipo de abordagem é verificar os pontos mais afastados do objeto e inserir nesse espaço a primitiva. 2.2. Subdivisão Hierárquica do Espaço Na subdivisão hierárquica do espaço, o ambiente é subdividido em um espaço hierárquico. Objetos no ambiente são agrupados de acordo com a região em que se encontram. Quando um objeto no ambiente se movimenta e troca de posição, movendo-se para uma outra região do espaço, apenas os objetos do novo espaço precisam ser verificados se colidem ou não com o objeto em movimento. Há várias formas de subdividir o AV utilizando alguns métodos conhecidos tais como octree, K-d trees e BSP trees, descritos a seguir. trees. Há outros algoritmos conhecidos, além desses descritos a seguir, entretanto, tratam-se de variações dos métodos fundamentais para detecção de colisão. 2.2.1. Octrees O objeto é envolvido por uma esfera e, recursivamente, há uma união sucessiva de mais esferas fazendo com que estas se aproximem ao máximo da resolução do objeto. O método de sphere-trees é um dos mais simples, sendo esse um motivo por ter-se tornado muito popular em aplicações de RV. Considerando que as esferas são invariantes quanto à rotação, então, para um objeto rígido a hierarquia é construída por um pré-processamento e as transformações da hierarquia são as mesmas transformações lineares aplicada ao objeto. Octrees são estruturas de árvores hierárquicas em que cada nó interno possui até oito filhos e é organizada para que cada nó corresponda a uma região do espaço tridimensional. O esquema de codificação divide regiões de espaços tridimensionais, normalmente cubos, em octantes e guarda elementos em cada nó da árvore. Cada nó da octree armazena um ponto tridimensional, que é o centro do octante que foi dividido. O ponto define um dos cantos para cada um dos oito filhos. O ponto de subdivisão é implicitamente o ponto central do espaço que o nó representa. 2.2.2. K-d trees Árvores k-dimensionais, em que k é o número de dimensões, são estruturas de árvores multidimensionais balanceadas para partição do espaço. Essas árvores são estruturas de dados úteis em várias aplicações, tais como as buscas que envolvem chaves multidimensionais (busca em escala e busca do vizinho mais próximo). Uma k-d tree utiliza apenas planos de divisão que são perpendiculares a um dos eixos de coordenadas do sistema. Como conseqüência, cada plano de divisão deve atravessar um dos outros pontos da árvore [11]. 2.3.1. Spheres-trees 2.3.2. AABB-trees Similarmente à sphere-trees, o objeto é envolvido por uma caixa e, recursivamente, outras caixas são inseridas até que esses cubos cheguem bem próximos aos limites reais do objeto. 2.3.3. OBB-trees Variação do método AABB-trees, em que a caixa inserida é orientada ao eixo do objeto, tal que a área de colisão segue as direções do objeto. 2.4. Computação Incremental da Distância Uma BSP tree representa uma divisão recursiva hierárquica ou a subdivisão de um espaço n-dimensional em subespaços convexos. A construção da BSP tree é um processo que considera um subespaço e o particiona por qualquer hiperplano que intersecta o interior do subespaço. Como resultado, dois novos espaços são criados que podem ser novamente particionados por um método recursivo. A distância mínima é verificada incrementalmente entre um par de objetos, ou seja, a cada iteração do ambiente é feita uma verificação da distância entre os objetos [6,8]. Quando essa distância se torna tão pequena a ponto de que os objetos possam se colidir, há uma notificação ao ambiente sobre a detecção de colisão [1]. Há vários métodos propostos para a computação incremental da distância, assim como para a computação hierárquica da distância para corpos convexos em movimento e para detecção de colisão entre polígonos. 2.3. Subdivisão Hierárquica do Objeto 2.5. Objetos Rígidos e Deformáveis Nesta abordagem, o objeto é subdividido em regiões, e a detecção de colisão é feita quando uma dessas regiões é interceptada por um outro objeto. Uma forma de se implementar a subdivisão hierárquica do objeto é utilizar o método de árvores de volume limite (AVL) [4], onde cada nó n corresponde a um subconjunto Cn pertencente a C, com o nó raiz sendo associado a um volume limite com o total do conjunto C. Cada nó interno possui dois ou mais filhos. O número máximo de filhos para cada nó interno é chamado de grau da árvore. A união de todos os subconjuntos associados com o filho do conjunto n é igual a Cn. Cada nó é associado também a um volume limite v(C), que é uma aproximação do espaço ocupado por Cn, usando formas mínimas de representação como caixas e esferas. Os métodos mais conhecidos e que utilizam AVL e mostrados a seguir são: spheres-trees, AABB-trees e OBB- Algoritmos de detecção de colisão podem ser classificados em duas categorias, para objetos rígidos e para objetos deformáveis [5]. A grande diferença entre esses dois tipos de abordagens é que os algoritmos para objetos rígidos normalmente são pré-computados e os para objetos deformáveis são processados em tempo de execução. A detecção de colisão em objetos rígidos pode ser definida quando os objetos em cena não têm alteração em sua forma como uma característica do objeto. Há muitos métodos desenvolvidos para objetos rígidos, uma vez que são de implementação mais simples e não há necessidade de verificação da intra-colisão (colisão com o objeto e ele mesmo), pois não há deformação. Como os métodos de colisão para objetos deformáveis são computados em tempo de execução, há duas outras abordagens específicas para esse tipo de colisão, métodos 2.2.3. BSP trees que consideram ou não a intra-colisão (colisão do objeto com ele mesmo). A maioria desses algoritmos utiliza a abordagem da subdivisão hierárquica do objeto e que pode ser dividida em dois grupos: objetos representados por malha poligonal e por superfícies paramétricas. 2.5.1. Malhas Poligonais Em objetos representados por malhas poligonais, sua deformação é feita através da atualização da posição dos vértices da malha do polígono. O algoritmo proposto em [10] é um método hierárquico utilizando octree, onde cada nó da árvore é uma caixa envoltória alinhada aos eixos globais (eixos do ambiente). Trata-se de um método simples, mas, se ocorrer uma deformação no objeto, toda a hierarquia precisa ser recalculada novamente. Van den Bergen [9] propõe um método no qual uma árvore AABB é construída para cada objeto, que consiste em uma árvore binária de caixas envoltórias alinhadas às coordenadas locais do objeto. Ao invés de reconstruir a árvore AABB, as caixas se realinham enquanto o objeto deforma, o que simplifica a atualização das caixas. Esse método também requer que todos os nós sejam atualizados enquanto o objeto deforma. Volino e Thalmann [12] expõem um método no qual uma hierarquia de polígonos é criada. O vetor normal desse polígono e o contorno do polígono gerado são analisados para determinar se ocorre uma intra-colisão. 2.5.2. Superfícies Paramétricas Objetos representados por superfícies paramétricas usualmente são deformados nos pontos de controle da superfície e deformações desse tipo podem causar uma divisão da superfície se for para manter a qualidade do resultado da representação. Hughes et al. [13] mostram um método de colisão para superfícies baseadas em Bézier e B-spline. O método constrói uma AABB-tree para cada superfície, utiliza uma pseudonormal e um mapa Gaussiano para detectar intracolisão e o método sweep and prune para detectar outras colisões. No entanto, a construção das pseudonormais, o cálculo dos novos pontos da superfície e a atualização completa da AABB-tree têm que ser realizada em cada quadro durante a deformação do objeto, além de que esse método requer um alto número de equações para determinar se a superfície possui uma intra-colisão. De modo geral, se um objeto é deformado baseado na atualização do modelo poligonal, os correspondentes métodos de detecção de colisão podem ser mais eficientes porque apenas envolvem atualizar a hierarquia de limites enquanto o objeto se deforma. Por outro lado, se o objeto é deformado baseado na atualização das superfícies, pontos precisam ser computados ou removidos dinamicamente. Normalmente, algoritmos de detecção de colisão por superfícies são menos eficientes porque a área de colisão precisa ser reconstruída enquanto o objeto se deforma. 3. MÉTODO PROPOSTO Apesar do grande número de métodos existentes para detecção de colisão de objetos, não há ainda um método que combine satisfatoriamente dois aspectos importantes na detecção de colisão, a precisão e o desempenho. Com o objetivo de simular um ambiente de treinamento médico em um AV, há a necessidade de se obter uma precisão próxima à real, uma vez que a ferramenta tem como objetivo treinar futuros profissionais da área da saúde. O algoritmo proposto é baseado nos métodos de colisão por primitivas, na computação incremental da distância e na equação do plano. A idéia de utilizar métodos mais simples é fazer com que o algoritmo resultante apresente um alto desempenho de processamento e uma precisão consideravelmente boa para uma ferramenta de treinamento médico. As principais etapas que compõem o algoritmo proposto são descritas a seguir. Inicialmente, deve-se construir a malha poligonal do objeto inserido na cena. Em seguida, deve-se realizar a inserção de uma área de colisão ao redor do objeto delimitado por uma primitiva (cubo, esfera, cone). Nesta fase, a detecção de colisão é verificada por volumes limites, a qual será posteriormente refinada. Após a verificação da colisão pelos volumes limites, uma nova etapa é iniciada, onde um subconjunto de vértices da malha poligonal do objeto é utilizado para verificação da distância. Esse subconjunto é formado por vértices que estão próximos do ponto de colisão. A distância Euclidiana é utilizada na computação incremental da distância. Com o cálculo da distância é possível atingir uma quantidade mínima de pontos para permitir a determinação de um plano, o qual será novamente utilizado na detecção de colisão. A figura 2 mostra um diagrama com as principais etapas do método proposto. Fig. 2. Diagrama com as principais etapas do método proposto. 4. RESULTADOS EXPERIMENTAIS O ViMeT [14] é um framework destinado a construir aplicações de treinamento médico, estabelecendo como domínio os exames de biópsia, que integra diversas técnicas como detecção de colisão, estereoscopia, deformação de objetos e inclusão de dispositivos convencionais e não convencionais. Além dessas técnicas, a ferramenta também implementa classes abstratas e subclasses para facilitar a integração de novos módulos. Utilizando as classes disponibilizadas pelo ViMeT, foi construída uma aplicação para simulação do exame de biópsia mamária. Figura 3 ilustra um exemplo da interface, destacando-se a detecção de colisão por octree, implementada na ferramenta. Fig. 3. Ilustração da detecção de colisão por octree. Na aplicação, o objeto inserido como instrumento médico recebe as propriedades de interação com o mouse, enquanto o objeto inserido como órgão fica estático na cena. A cena, por sua vez, pode ser movimentada com as setas direcionais do teclado, trazendo assim uma melhor visualização dos objetos e ações ocorridas na cena. 5. CONCLUSÕES Dentre as várias maneiras de se calcular detecção de colisão entre objetos, os métodos para objetos rígidos são mais eficientes em relação ao desempenho computacional e mais simples do ponto de vista de implementação, entretanto, em geral, não são tão eficientes quanto à precisão da colisão. Em contrapartida, métodos para detecção de colisão em objetos deformáveis tendem a ser mais custosos, porém, apresentam maior grau de precisão. Este artigo descreveu um conjunto de métodos para detecção de colisão. A partir da análise desses métodos, a proposta de um algoritmo para detecção de colisão que seja robusto e, ao mesmo tempo, com bom desempenho computacional, está sendo investigada para a construção de um AV para auxílio ao treinamento médico. A ferramenta para simulação cirúrgica poderá auxiliar o planejamento e treinamento de procedimentos médicos a custos baixos. Rotinas gráficas com recursos de resposta tátil devem facilitar a interação do usuário e a visualização das regiões de interesse. Os cirurgiões e estudantes poderão explorar novas habilidades para manipulação de instrumentos em procedimentos médicos, entretanto, sem a presença de pacientes reais. A abordagem utiliza um método hierárquico baseado em malha poligonal, por requerer atualizações apenas nos vértices da malha, e que considera intra-colisão, por tratar de objetos que podem sofrer deformações. Pacotes gratuitos e independentes de plataforma estão sendo utilizados no desenvolvimento da ferramenta, favorecendo a redução de custos e facilitando a distribuição dos programas. REFERÊNCIAS BIBLIOGRÁFICAS [1] L.J. Guibas, D. Hsu, L. Zhang. H-Walk: Hierarchical Distance Computation for Moving Convex Bodies. Proceedings of the Fifteenth Annual Symposium on Computational Geometry, pp. 265-273, New York, NY, Estados Unidos, 1999. ACM Press. [2] B.V. Herzen, A.H. Barr, H.R. Zatz. Geometric collisions for time-dependent parametric surfaces. Proceedings of the 17th Annual Conference on Computer Graphics and Interactive Techniques, pp. 39-48, New York, NY, Estados Unidos, 1990. ACM Press. [3] P. Jimenez, F. Thomas, C. Torras. 3D Collision Detection: A Survey. Computers and Graphics, 25(2):269-285, 2001. [4] J.T. Klosowski, M. Held, J.S. Mitchell, H. Sowizral, K. Zikan. Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs. IEEE Transactions on Visualization and Computer Graphics, 4(1):21-36, 1998. [5] R.W. Lau, O. Chan, M. Luk, F.W. Li. LARGE: A Collision Detection Framework for Deformable Objects. Proceedings of the ACM Symposium on Virtual Reality Software and Technology, pp. 113-120, New York, NY, Estados Unidos, 2002. ACM Press. [6] M. Lin, J. Canny. Efficient Algorithms for Incremental Distance Computation. IEEE Conf. on Robotics and Automation, pp. 1008-1010, 1991. [7] L. Machado, M. Zuffo, M. Moraes, R. Lopes. Modelagem Tátil, Visualização Estereoscópica e Aspectos de Avaliação em um Simulador de Coleta de Medula Óssea. Simpósio de Realidade Virtual, pp. 2331, 2001. [8] M.K. Ponamgi, D. Manocha, M.C. Lin. Incremental Algorithms for Collision Detection Between Polygonal Models. IEEE Transactions on Visualization and Computer Graphics, 3(1):51-64, 1997. [9] G. van den Bergen. Efficient Collision Detection of Complex Deformable Models Using AABB Trees. Journal of Graphical Tools, 2(4):1-13, 1997. [10]Y. Yang, N. Thalmann. An Improved Algorithm for Colision Detection in Cloth Animation with Human Body. Proc. of Pacific Graphics Conference, pp. 237251, 1993. [11]J.L. Bentley. Multidimensional Binary Search Trees Used for Associative Searching. Communications of the ACM, 18(9):509-517, 1975. [12]P. Volino, N.M. Thalmann. Efficient self-collision detection on smoothly discretized surface animations using geometrical shape regularity. Computer Graphics Forum, 13:155-166, 1994. [13]M. Hughes, C. DiMattia, M.C. Lin, D. Manocha. Efficient and accurate interference detection for polynomial deformation. Proceedings of the Computer Animation, Washington, DC, Estados Unidos, 1996. [14] A.C.M.T.G. Oliveira; L. Pavarini; F.L.S. Nunes.; L. C. Botega; D.J. Rossato; A. Bezerra. Virtual Reality Framework for Medical Training: Implementation of a deformation class using Java. ACM Siggraph International Conference on Virtual-Reality Continuum and its Applications in Industry, 2006, Hong Kong, 2006. p. 347-351. EFEITOS DE ILUMINAÇÃO REALISTAS EM REALIDADE AUMENTADA UTILIZANDO IMAGENS HDR Guilherme de S. Moura, João Marcelo X. N. Teixeira, Veronica Teichrieb, Judith Kelner Universidade Federal de Pernambuco, Centro de Informática Grupo de Pesquisa em Realidade Virtual e Multimídia Av. Professor Moraes Rego S/N, Prédio da Positiva, 1º Andar Cidade Universitária, Recife - Pernambuco CEP 50670-901 e-mail: {gsm, jmxnt, vt, jk}@cin.ufpe.br Resumo – O objetivo deste artigo é propor uma aplicação capaz de renderizar efeitos de iluminação realísticos. O intuito do trabalho é utilizar estes efeitos em Realidade Aumentada, de forma a auxiliar a inserção de objetos virtuais em cenários reais de forma visualmente suave. O documento descreve a implementação de alguns destes efeitos. Os resultados obtidos mostram que a aplicação em tempo real, através do uso da placa gráfica, é possível. Palavras-Chave – Efeitos de iluminação, Foto-realismo, HDR, Realidade Aumentada. Abstract – This paper aims to propose an application capable of rendering realistic lighting effects. The goal of this work is to use these effects within Augmented Reality, in order to assist the insertion of virtual objects into real scenes seamlessly. This document describes the implementation of some of these effects. The achieved results show that the real time application, through the use of a graphics board, is feasible. Keywords – Augmented reality, HDR, Lighting effects, Photo-realism. 1. INTRODUÇÃO Em computação gráfica, existe uma vertente de estudos que busca aprimorar as técnicas de renderização de forma a reproduzir com máxima fidelidade cenas realistas. Esta vertente é conhecida como renderização foto-realista, e envolve vários elementos do processo de renderização normal, como texturização, animação ou iluminação [1]. Tais estudos possuem aplicações diretas em jogos, como ilustrado na Figura 1, e soluções de Realidade Virtual (RV) e Realidade Aumentada (RA). Fig. 1. Exemplo de reflexão realista em um modelo 3D [6]. Exemplificando, em RA um dos grandes desafios é exibir informações virtuais integradas em cenas reais de forma que sejam indistinguíveis dos objetos reais contidos na cena. Desta forma, o usuário poderia interagir mais naturalmente com a interface. Uma maneira de alcançar este objetivo é renderizar as informações virtuais explorando as técnicas de foto-realismo, respeitando a iluminação do mundo real [2]. Além disto, nessas aplicações, o fator interatividade em tempo real possui grande importância. Este artigo foca as técnicas que simulam efeitos de iluminação realistas através do uso de imagens em High Dynamic Range (HDR), em vez de usar imagens em Low Dynamic Range (LDR), que são comumente usadas nas aplicações. A contribuição deste artigo está em apresentar uma proposta de aplicação em tempo real que implementa um conjunto de efeitos provocados pela iluminação, através do uso de imagens HDR. Desta forma, pretende-se disponibilizar um algoritmo capaz de renderizar cenas fotorealistas, a respeito de efeitos de iluminação, para serem usadas em aplicações de RA. Na seqüência, a Seção 2 apresenta alguns trabalhos relacionados à renderização através de HDR. A Seção 3 introduz a solução adotada neste artigo. Na seção 4, a etapa de aquisição da imagem HDR é descrita. Na Seção 5, são apresentados os detalhes de implementação da aplicação final. A Seção 6 detalha os efeitos de iluminação que serão utilizados para criar o realismo desejado. A Seção 7 apresenta os resultados iniciais obtidos. E finalmente, na Seção 8 são apresentadas as conclusões e as próximas melhorias na solução. 2. TRABALHOS RELACIONADOS Estudos sobre como melhorar a forma como a iluminação das cenas é renderizada produziram vários resultados. Debevec et al. foram pioneiros no tratamento de imagens que possuem informações adicionais a respeito da iluminação do ambiente [3]. O grupo de desenvolvedores da ATI desenvolveu uma aplicação interativa que implementa a técnica proposta por Debevec, de forma a comparar as cenas renderizadas em LDR e em HDR [4] [5]. Kawase implementou com sucesso uma série de efeitos causados por iluminação direta, buscando uma aproximação visual do efeito no mundo real [6]. Por outro lado, Spencer et al. procuraram estudar o efeito físico dos raios luminosos no olho humano, e Kakimoto et al. implementaram um shader através do estudo físico dos raios luminosos [7] [8]. Huff et al. realizaram um trabalho que busca o foto-realismo em objetos virtuais para RA, através de imagens HDR [9]. Entretanto, em sua maioria, os trabalhos de pesquisa possuem um esforço direcionado à renderização realista offline, ou então, com efeitos diretos em soluções de RV ou especificamente para Jogos. 3. CRIANDO EFEITOS DE ILUMINAÇÃO REALISTAS A solução proposta por este artigo está sendo implementada na placa gráfica (Graphics Processing Unit GPU), através de uma linguagem de shaders. Um requisito essencial é que a aplicação rode em tempo real, de forma a ser interativa, pois o intuito é que seja utilizada em soluções de RA. O trabalho foi dividido em três macro-etapas: a aquisição da imagem HDR que vai compor o ambiente; a implementação em High Level Shading Language (HLSL), linguagem da Microsoft para DirectX [10]; e a integração do shader no pipeline do engine de renderização gráfica Ogre [11]. Estas etapas são descritas na seqüência. 4. AQUISIÇÃO DA IMAGEM HDR O processo de criação da imagem HDR, através da composição de imagens em variados níveis de exposição, não foi contemplado por este trabalho, que irá utilizar os mapas de radiância produzidos por Debevec [12]. A partir desta imagem, foi utilizada a equação para mapeamento esférico de texturas bidimensionais, explorada em Environment Maps [13]. Esta equação é mostrada na Figura 2, onde o vetor correspondente a cada vértice (x, y, z) é projetado no plano (xt, yt). A esfera que representará o ambiente deve estar na origem do mundo virtual. Futuramente, mapas cúbicos também serão suportados pela aplicação. Fig. 2. Equação de projeção de uma textura bidimensional em um mapa esférico [13]. 5. IMPLEMENTAÇÃO Para a implementação do programa, a princípio a linguagem Cg, desenvolvida pela NVIDIA, poderia ser utilizada, pois sua proposta é ser compatível tanto com OpenGL quanto DirectX [14]. Porém, como já vem sendo utilizada há mais tempo pela comunidade, e devido a sua estabilidade, a linguagem HLSL foi escolhida. Posteriormente, pretende-se converter os projetos para Cg, já que as duas linguagens são sintaticamente semelhantes. Duas ferramentas de ambiente de desenvolvimento (Integrated Development Environment - IDE) foram testadas para analisar qual delas seria a mais adequada para o projeto: FX Composer da NVIDIA, e RenderMonkey da ATI. Ambas ainda estão em suas primeiras versões e não fornecem vários recursos presentes em ferramentas de desenvolvimento para C++ ou Java, mas auxiliam o desenvolvimento de shaders, onde antes não existia qualquer IDE. Entre as duas, a RenderMonkey foi selecionada por apresentar uma interface mais intuitiva e mais estável, embora a FX Composer seja a única a suportar Cg nativamente. O programa em si está estruturado na forma de vários passos, onde um ou mais passos implementam um efeito desejado. Os passos de um mesmo efeito possuem dependência direta do passo anterior, porém efeitos diferentes, em geral, são independentes entre si. Depois de compilado no formato de um arquivo de efeitos HLSL (arquivo .fx), o shader será integrado em uma aplicação Ogre, para facilitar o desenvolvimento de aplicações interativas realistas. 6. EFEITOS DE ILUMINAÇÃO REALISTAS Para alcançar o resultado desejado de realismo, alguns efeitos foram considerados importantes, tais como Bloom, Dazzling Reflection, Exposure Control e Glare. Nesta seção, cada um deles será detalhado. 6.1. Bloom No mundo real, quando um objeto é observado diretamente contra uma fonte de luz, acontece um fenômeno no qual a luz parece ultrapassar os limites da borda do objeto, ofuscando o observador. A nomenclatura Bloom foi utilizada para descrever este efeito. Isso ocorre porque, ao entrar no olho humano, o raio luminoso se espalha, atingindo a retina em vários pontos [7]. Esses pontos, que seriam estimulados pelo objeto, acabam estimulados pelo raio luminoso, provocando o efeito Bloom. A implementação exata do que ocorre no olho humano é computacionalmente complexa, embora possível. Para uma aplicação em tempo real, opta-se por um cálculo mais simples, porém capaz de produzir um efeito semelhante. Para simular este efeito, a técnica mais utilizada é a aplicação de filtros gaussianos sucessivos nos pontos mais luminosos da cena. Assim, a cada passo, um filtro gaussiano é aplicado na horizontal e depois na vertical, para borrar o ponto luminoso. Depois disso, a imagem borrada é composta com a imagem original da cena. A Figura 3 mostra um exemplo de aplicação do Bloom. Na Figura 3.b o suporte da esfera é ofuscado pelos raios luminosos. Em RA, esse efeito é importante para conferir realismo à cena, pois um objeto virtual que não seja afetado pela iluminação do ambiente no qual ele está inserido é notado pelo observador como algo artificial. Em algumas aplicações, é desejado que o usuário não perceba esta diferença. Fig. 3. Exemplo de cena: a) sem Bloom; b) com Bloom [4]. 6.2. Dazzling Reflection Quando um objeto reflete o ambiente, parte da intensidade luminosa que chega nele é atenuada, de acordo com o seu coeficiente reflexivo. Utilizando uma imagem HDR para simular fontes de luz, a informação de quão forte é o raio luminoso que atinge o objeto é muito mais precisa. Assim, a imagem refletida pode produzir o mesmo efeito de ofuscamento mencionado na subseção anterior. Para este efeito foi utilizada a nomenclatura Dazzling Reflection. A tarefa consiste em implementar a reflexão em objetos, de forma a preservar a informação HDR do ambiente refletido por ele. Dessa forma, o objeto ganhará um componente de realismo adicional, pois além de sofrer efeitos de ofuscamento quando está contra a luz, também poderá produzir um efeito semelhante quando a superfície for reflexiva o suficiente. A Figura 1 ilustra esse efeito. 6.3. Exposure Control O problema de mapear imagens sintetizadas por algoritmos físicos em uma faixa de visualização limitada é normalmente chamado de Tone Mapping [15]. Algoritmos recentes procuram analisar a luminância localmente, de forma a se aproximar ao máximo do fenômeno que ocorre no olho humano, produzindo cenas realistas. A técnica de Tone Mapping, proposta por Ashikhmin será utilizada neste trabalho para delimitar uma faixa de iluminação a ser mapeada nas cores que os dispositivos são capazes de mostrar [15]. Esta técnica foi escolhida por ser simples e de fácil implementação, além de poder ser estendida para um resultado adaptativo. Essa técnica será utilizada para simular um efeito chamado Exposure Control, que regula a quantidade de luz que é percebida pelo usuário, como ilustrado na Figura 4. Esse efeito é produzido naturalmente pelo olho humano ao dilatar ou contrair a pupila, ou por uma câmera ao variar a abertura da lente e o tempo de exposição do filme. conjunto de arestas radiais em torno da fonte luminosa [8]. É de conhecimento geral que o efeito de Glare é causado pela difração e espalhamento em obstáculos perto do olho. Os raios luminosos são difratados primeiramente pelos cílios e algumas vezes pela borda das pálpebras [16]. Vários tipos diferentes de Glare podem ser observados em situações do mundo real. Dependendo do tipo da fonte de luz e do objeto que está capturando a imagem (olho, lente da câmera, etc.), os efeitos podem variar entre faixas horizontais, faixas verticais, estelares de quatro, seis ou várias pontas, entre outros. A implementação de um dos efeitos de Glare observados no olho humano faz parte do escopo deste trabalho. Esse efeito será conseguido através da simulação da difração ocorrida nos cílios, implementada por Kakimoto et al. [8]. Serão utilizadas duas imagens que servirão de filtro para os raios luminosos que chegam ao observador. A primeira delas consiste na simulação de cílios artificiais. A segunda consiste em uma aproximação de uma pupila. A Figura 5 ilustra exemplos dessas imagens, as quais podem variar para gerar efeitos ligeiramente diferentes. Utilizando freqüências diferentes para cada componente luminoso é possível reproduzir o Lenticular Halo [7]. Fig. 5. Imagens que servirão de obstáculos para o efeito Glare, e o resultado obtido [8]. Este mesmo algoritmo pode ser usado para simular Glare em lentes de câmeras, variando as imagens de obstáculos para algo correspondente, presente nas lentes objetivas. 6.4.1. FFT em GPU Para conseguir o efeito Glare citado acima, será necessário analisar os raios luminosos incidentes no domínio da freqüência. Ou seja, a Transformada Rápida de Fourier (FFT) deverá ser utilizada para essa tarefa. O problema com essa técnica é seu alto custo de processamento. A atividade de transferência de dados da GPU para a CPU e o processamento inviabilizaria a aplicação em tempo real. Por isso, será necessária a implementação da FFT diretamente na GPU, melhorando o desempenho. Uma versão otimizada da transformada deve ser implementada de forma a se adequar ao pipeline da placa gráfica [17]. 7. RESULTADOS Fig. 4. Diferentes níveis de exposição de uma cena [6]. 6.4. Glare Glare é um fenômeno onde fontes de luz ou reflexões intensas causam um espalhamento dos raios luminosos, principalmente nos olhos humanos. É percebido como um O trabalho de implementar cada um dos efeitos descritos na seção anterior ainda está em andamento, porém alguns resultados iniciais já foram obtidos. O primeiro resultado foi a transposição do mapa de radiância esférico de Debevec em uma esfera virtual (ver seção 4). A qualidade da imagem gerada depende do grau de interpolação gerado pelos vértices da esfera. Foi observado que uma esfera com mais vértices produz uma imagem mais nítida. Existe, porém, um problema em relação à utilização de mapas esféricos. Quando o mapeamento das bordas do mapa esférico é feito, existe muita perda de informação, e por isso existe uma área do mundo que apresenta fortes distorções, como mostra a Figura 6. Tais distorções são relacionadas com a natureza da representação do ambiente em um mapa esférico. Como um trabalho futuro para a aplicação, existe a proposta de integrar todos esses efeitos em um sistema de RA. Para isso, é necessário implementar técnicas que sejam capazes de extrair informações de iluminação do ambiente real, para utilizá-las na renderização do modelo virtual. Posteriormente, um estudo minucioso sobre o desempenho do shader desenvolvido será realizado. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 6. Ponto de distorção do mapeamento esférico. Um filtro gaussiano inicial foi utilizado para simular o efeito de Bloom. Através de 4 passos no shader, os pontos mais luminosos da imagem são borrados para produzir uma aproximação do efeito de ofuscamento. Entretanto, esta implementação ainda não está no nível de precisão desejado, como mostrado na Figura 7. O resultado final da aplicação do filtro gaussiano nos pontos luminosos pode ser composto com os resultados intermediários, para um resultado melhor. Fig. 7. Efeito Bloom no mapa de radiância de Debevec. Por fim, o efeito de Dazzling Reflection foi implementado, mostrando pontos de iluminação refletidos no objeto e causando o efeito de ofuscamento semelhante ao obtido no mapa HDR original, como visto na Figura 8. Fig. 8. Efeito de ofuscamento na reflexão. 8. CONCLUSÕES E TRABALHOS FUTUROS Os resultados obtidos demonstraram a viabilidade da aplicação proposta, já que a cena com efeitos foi renderizada mantendo a interatividade do usuário. A implementação dos outros efeitos de iluminação já foi iniciada, porém não apresenta ainda resultados visíveis. [1] J. A. Fewerda, “Three Varieties of Realism in Computer Graphics”, in Proc. SPIE Human Vision and Electronic Imaging, pp. 146-158, 2003. [2] A. Fournier, A. S. Gunawn, and C. Romanzin, “Common Illumination between Real and Computer Generated Scenes”, in Proc. of GI, pp. 254-262, 1993. [3] P. E. Debevec, and J. Malik, “Recovering High Dynamic Range Radiance Maps from Photographs”, in Proc. of SIGGRAPH, pp. 369-378, 1997. [4] ATI Developer, disponível em http://ati.de/developer/ index.html, visitado em 13 de Setembro de 2007. [5] P. E. Debevec, “Rendering with Natural Light”, in Proc. of SIGGRAPH, pp. 166, 1998. [6] M. Kawase, “Practical Implementation of High Dynamic Range Rendering”, GDC 2004, disponível em http://www.daionet.gr.jp/~masa/rthdribl/index.html, visitado em 5 de Outubro de 2007. [7] G. Spencer, P. Shirley, K. Zimmerman, and D. P. Greenberg, “Physically-based Glare Effects for Digital Images”, in Proc. of SIGGRAPH, pp. 325-334, 1995. [8] M. Kakimoto, K. Matsuoka, T. Nishita, T. Naemura, H. Harashima, “Glare Generation Based on Wave Optics”, Computer Graphics Forum, vol. 24, no. 22, pp. 185-193, June 2005. [9] R. Huff, L. P. Nedel, M. M. Oliveira, C.M. D. S. Freitas, “Usando Iluminação Baseada em Imagens na Geração de Ambientes de Realidade Mista”, in Proc. of SVR, pp. 137-148, 2004. [10] HLSL Shaders – Library Archive, disponível em http://msdn.microsoft.com/archive/default.asp?url=/archi ve/en-us/directx9_c_Dec_2005/HLSL_Shaders.asp, visitado em 13 de Setembro de 2007. [11] Ogre 3D, disponível em http://www.ogre3d.org/, visitado em 13 de Setembro de 2007. [12] Recovering High Dynamic Range Radiance Maps from Photographs, disponível em http://www.debevec.org/ Research/HDR/, visitado em 14 de Setembro de 2007. [13] P. Haeberli, and M. Segal, “Texture Mapping as a Fundamental Drawing Primitive”, in Proc. of EG Workshop in Rendering, pp. 259-266, 1993. [14] Cg, disponível em http://developer.nvidia.com/page/ cg_main.html, visitado em 17 de Setembro de 2007. [15] M. Ashikhmin, “A Tone Mapping Algorithm for High Contrast Images”, in Proc. of EG Workshop on Rendering, pp. 145-155, 2002. [16] M. G. J. Minnaert (Translated and revised by Seymour L.), Light and Color in the Outdoors, Springer-Verlag, New York, 1993. [17] K. Moreland, and E. Angel, “The FFT on a GPU”, in Proc. of Graphics Hardware, pp. 112-119, 2003. EFICIÊNCIA ENERGÉTICA EM SISTEMAS INDUSTRIAIS SOB A ÓPTICA DA REALIDADE VIRTUAL Eduardo de Souza Santos, Antônio C. Delaiba, Alexandre Cardoso, Edgard A. Lamounier Jr Universidade Federal de Uberlândia - Faculdade de Engenharia Elétrica CEP 38400-902, C.P. 593, Uberlândia - MG - Brasil Resumo - Este trabalho apresenta um sistema de ventilação, baseado em técnicas de Realidade Virtual, para aplicação no estudo e análise da eficiência energética. A idéia básica é permitir que estudantes e profissionais da área de Engenharia Elétrica possam ter acesso a um ambiente virtual de um sistema motor elétrico-ventilador, que simule diferentes situações de funcionamento, visando a redução da demanda e, conseqüentemente, do consumo de energia elétrica. Palavra-Chave - Eficiência Energética, Linguagem VRML, Realidade Virtual, Ventilador Centrífugo. Abstract - This paper presents a motor-fan system based on Virtual Reality techniques in order to obtain energetic efficiency at low cost. The main idea is to allow that students and professionals of the electric engineering area may have access to a virtual environment that simulates an electric motor-fan system, with different functioning or design alternatives, showing the possibilities to reduce costs when electric energy is used. Keywords - Centrifugal Fan, Energetic Efficiency, Virtual Reality, VRML Language. 1. INTRODUÇÃO Atualmente, a Realidade Virtual (RV) é considerada uma forma bastante avançada de se interagir com computadores e representa um novo paradigma de interface [1]. Tais técnicas possuem aplicações nos mais diferentes segmentos, a saber: processos industriais, psicologia, treinamento, educação, desenvolvimento de projetos, entre outros [2]. Dentre estes aspectos, a área de Educação tem merecido destaque nos últimos anos. Do ponto de vista educacional, a Realidade Virtual é uma poderosa ferramenta, não só porque apresenta um enorme potencial para o desenvolvimento de pesquisas, mas também porque RV permite que usuários experimentem sensações únicas com manipulação e análise do objeto de estudo [3]. Desta forma, esta pesquisa tem como objetivo a utilização de RV na criação de experimentos virtuais que possam proporcionar aos estudantes de professores um ambiente de aprendizagem mais envolvente e intuitivo, que aborde o estudo de motores trifásicos acoplados em sistemas de ventilação, apresentando os respectivos princípios de funcionamento, análise e simulação de seu comportamento mecânico e elétrico. Esta pesquisa é motivada pela crise da energia elétrica e a escassez de recursos que vem despertando a consciência da necessidade de conservação e racionalização do uso desta energia, bem como o benefício financeiro desta atividade. Neste cenário, destaca-se o setor industrial o qual é responsável por aproximadamente 50% do consumo total de energia elétrica do país. E, em particular, os motores de indução trifásicos que respondem por 50% do consumo de energia na indústria [4] e, especificamente, em algumas delas o consumo pode chegar até 90% como fábricas de cimento e indústrias químicas. Desta maneira, esta pesquisa tem como objetivo realizar a integração da Realidade Virtual aplicada ao sistema motorventilador, com o olhar voltado à eficiência energética, tornando propícia a utilização por estudantes e professores um ambiente de aprendizagem mais envolvente e intuitivo, que simule o funcionamento e os aspectos construtivos do sistema supracitado. 2. TRABALHOS RELACIONADOS A Realidade Virtual tem sido intensamente explorada como uma ferramenta que possa produzir ambientes educacionais para o Ensino à Distância (que pode ser definido como processo de ensino-aprendizagem, mediado por tecnologias, onde professores e alunos estão separados espacial e/ou temporalmente) de baixo custo. Um dos principais objetivos desta investigação é a concepção de laboratórios virtuais que proporcionam aos usuários um ambiente de Realidade Virtual à distância para simulação de sistemas, sem riscos de situações reais. Segundo José Manuel Moran as tecnologias interativas, sobretudo, vêm evidenciando, na educação à distância, o que deveria ser o cerne de qualquer processo de educação: a interação e a interlocução entre todos os que estão envolvidos nesse processo. Desta forma, este trabalho segue no sentido de aprimorar os métodos de ensino e aprendizagem relacionando-os ao desenvolvimento de ambientes virtuais e aplicá-los em eficiência energética. Complementarmente os procedimentos aqui utilizados propiciam a aplicação de Realidade Virtual associada à Internet em soluções relacionadas com Educação a Distância (EAD) [7,8, 9]. 3. MODELAGEM DO SISTEMA Após o estudo de cada parte do ambiente virtual que será criado, bem como da linguagem VRML, tem-se o inicio da fase de modelagem de cada equipamento. Dessa forma, esta seção trata da criação do modelo virtual, em separado, de cada parte do sistema. 3.1. Modelagem do Motor Trifásico Inicialmente, foi determinado que a modelagem será efetuada com base em um produto comercial, facilitando assim, a visualização das formas desse motor, seja em catálogos ou mesmo no mundo real. Observa-se que esse aspecto é extremamente importante, pois deseja-se uma certa riqueza de detalhes, visto que, este sistema se destina à aplicação da realidade virtual no aprendizado. Desta forma, a modelagem dessa parte do sistema deve valorizar os componentes principais do motor, como o rotor, o estator, entre outras partes. Nessa ótica, foi escolhido um modelo de motor trifásico, de rotor em gaiola de esquilo, de quatro pólos, freqüência nominal de 60 Hz e tensão nominal de 220/380/440 V. Para efetuar a modelagem, foram utilizadas as primitivas da linguagem VRML, como cubos, esferas, cones e cilindros, no entanto, devido à complexidade de algumas partes, foi necessária a utilização de formas complexas, como cascas cilíndricas, toróides, entre outros [10]. Desta forma, considerando as informações que foram coletadas, tanto no catálogo do motor quanto na visualização de motores similares, foram modelados o rotor, o estator, a ventoinha de ventilação e outras partes construtivas que podem ser visualizadas a seguir. É importante informar que na criação das formas mais complexas do ventilador foram utilizados além das formas primitivas do VRML, formas complexas como extrusion e indexedFaceSet, que fizeram com que a modelagem ficasse mais real e visualmente agradável ao usuário. Na criação do ventilador centrífugo, as partes mais importantes são a carcaça, o rotor, e o damper (responsável por atuar como a válvula que provê a diminuição da vazão na saída do sistema). A modelagem completa do ventilador pode ser visualizada nas Figuras 6 e 7. É importante observar que a Figura 7 nada mais é do que o ventilador com um material transparente na construção da carcaça, possibilitando, por exemplo, que os movimentos de abertura e fechamento do damper pudessem ser percebidos. Figura 04 - Carcaça Modelada Figura 01 - Rotor modelado Figura 05 - Rotor Modelado Figura 02 - Estator modelado Figura 06 - Ventilador (carcaça com preenchimento sólido) Figura 03 - Vista do motor aberto com todos os componentes Como se pode observar nas Figuras anteriores, alguns detalhes como as aletas da carcaça, não foram representados de forma fiel ao motor real, visto que, essa parte construtiva não é interessante para o público alvo desse projeto. Figura 07 - Ventilador (carcaça com preenchimento transparente) 3.2. Modelagem do Ventilador Centrífugo 3.3 Modelagem do Comportamento Eletro-mecânico do sistema Motor-ventilador Assim como no caso do motor, o modelo virtual do ventilador centrifugo foi baseado em um equipamento real, neste caso, no equipamento de modelo VC310. Para criar as animações e garantir a realização dos cálculos necessários para a simulação do comportamento do sistema motor-ventilador, foi utilizada a linguagem JavaScript, que é voltada ao desenvolvimento de programas de pequeno porte (scripts), que podem ser associados com códigos VRML, propiciando assim uma forma simples para conseguir o aumento da interatividade e funcionalidade de um ambiente virtual [11]. Pode-se demonstrar as alterações da carga no eixo do sistema do ventilador conforme ocorrem mudanças dos valores das seguintes variáveis: potência mecânica; potência elétrica, que se traduz em energia elétrica gasta, refletindo no custo por ano e, obviamente, no tempo de retorno do investimento; e rendimento do ventilador. Logo, a modelagem integrada do conjunto motorventilador conta com os painéis de controle e de resultados que são mostrados na figura 08. Observa-se que as colunas contidas na tabela de resultados são respectivamente: diferença de pressão em mcA, rendimento (η) do ventilador em porcentagem, potência hidráulica em HP, potência mecânica na entrada em HP, potência elétrica em kW, energia elétrica consumida em MWh, o custo relativo ao uso da energia elétrica durante um ano, e, por fim, tempo de retorno do investimento (TRI) em anos. Figura 08 - Sistema motor-ventilador centrifugo Determina-se a diferença de pressão através do gráfico pressão x vazão do ventilador, que é diferente em cada caso, pois, dependendo da vazão e do seu controle, a curva do sistema é alterada. Através do gráfico pressão x vazão, também se obtém o rendimento do ventilador, entretanto, para se obter esse valor, deve-se localizar o ponto definido pela intersecção dos valores citados anteriormente. A potência hidráulica é calculada através de (1): Ph = ∆pt . ܸሶ . 10-3 (1) Onde: • Ph [kW] - Potência hidráulica do ventilador; • ∆pt [N/m2] - Diferença de pressão total do ventilador; • ܸሶ [m3/s] - Vazão volumétrica. A potência mecânica na entrada do ventilador pode ser calculada pela equação (2), como deseja-se este valor em HP, basta multiplicar o valor da potência hidráulica, que está em kW por 0,746: Pmecânica = (Phidráulica . 0,746)/ηvent (2) Onde: • ηvent - rendimento do ventilador. A potência no eixo do motor é dada pela expressão (3): Pem = Pmecânica/ηacoplamento (3) Onde: • ηacoplamento - rendimento do acoplamento; • Pem [HP] - potência no eixo do motor. A potência elétrica é calculada pela expressão (4), como a potência mecânica está em HP, é necessário converter para kW, dessa forma, divide-se a expressão por 0.746: (4) Pelétrica = Pem/(ηmotor . 0,746) Onde: • ηmotor - rendimento do motor. A energia elétrica pode ser obtida pela expressão (5), como se deseja que a energia elétrica gasta seja expressa em MWh, basta dividir a expressão por 1000. Logo, tem-se: Eelétrica = Pelétrica . tempo/1000 (5) Onde: • tempo [h] - tempo de funcionamento do sistema. Para calcular o custo da energia elétrica em reais, basta multiplicar a uso da energia elétrica no ano pela tarifa (custo da energia por MWh) da concessionária, assim como mostrado pela equação (6): (6) Custo = Eelétrica . tarifa Onde: • tarifa [R$/MWh] - tarifa de energia elétrica. E por último, calcula-se o tempo de retorno do investimento que é dado pela diferença entre os preços dos equipamentos divididos pelo produto entre variação da energia elétrica e custo da energia elétrica por kWh [5]. (7) TRI = ∆Preço / (∆Eelétrica . tarifa) Onde: • ∆Preço [R$] - diferença entre os preços dos equipamentos de cada sistema. Para ventiladores, é comum encontrar o valor para a diferença de pressão em metros de coluna d’água (mcA) e também a potência hidráulica expressa em HP, neste caso, basta utilizar os fatores de conversão adequados. 4. RESULTADOS Com base nas equações mostradas anteriormente, apresenta-se a tabela de resultados da figura 08. A primeira linha da tabela (caso 1) retrata a operação do sistema admitindo que o motor é da linha padrão e que o controle de vazão é realizado pelo método do estrangulamento de válvula. Já na segunda linha da tabela (caso 2), o motor standard é substituído pelo de alto rendimento, com essa alteração o consumo de energia elétrica e o custo associado com esta energia decrescem de aproximadamente 10% em relação ao caso 1. O cenário abordado na terceira linha da tabela (caso 3) é semelhante ao caso 1, porém o controle de vazão é realizado pelo controle de velocidade, advindo da utilização de inversores. Na quarta linha da tabela (caso 4), foram usados o motor de alto rendimento e o método utilizado foi o controle de velocidade, e verificou-se que o consumo de energia e a economia fica em torno de 60% em relação ao caso 1, significando uma redução significativa no gasto anual. Dessa maneira o usuário poderá comparar todos os casos em diversos tipos de situações e assim verificar qual é o melhor sistema a ser utilizado ou se é vantajoso realizar a substituição de um sistema pelo outro. Neste ambiente, o usuário pode ainda caminhar pelo laboratório e explorar todos os componentes ali existentes, por exemplo, o usuário pode tornar a carcaça do ventilador transparente (Figura 07) para visualizar os detalhes internos, navegar até o motor, observar seu funcionamento e até arrastar partes deste para visualizar os detalhes (Figura 09). Além disso, o sistema foi avaliado por alunos e profissionais da área de Engenharia Elétrica a fim de confirmar a aplicação do mesmo para os tópicos propostos. Com a conclusão deste estudo, pretende-se disponibilizar o ambiente virtual na internet, de modo a permitir o acesso a estudantes, professores e interessados pela área. Como continuação deste trabalho, pode-se efetuar a modelagem de outros sistemas, como um compressor de ar, por exemplo. E ainda, para maior detalhamento do sistema, pode-se realizar o estudo pertinente, e efetuar a modelagem dos transitórios da máquina de indução e equipamentos acoplados a ela. REFERÊNCIAS BIBLIOGRÁFICAS Figura 09 - Arrastando partes do motor Existe ainda, o botão “Abrir e Fechar” no painel de comandos, que efetua a abertura do motor, estando ele em funcionamento ou não (semelhante à Figura 03). Dessa forma, percebe-se que o ambiente proporciona uma interação direta entre o usuário e o ambiente virtual. Permitindo assim, visualizar e interagir com os detalhes de forma imersiva, ajudando a entender o funcionamento do sistema e dos equipamentos ali presentes. 5. CONCLUSÕES E TRABALHOS FUTUROS Este trabalho agregou duas áreas do conhecimento, quais sejam: Realidade Virtual e Eficiência Energética. Quanto à RV, pode-se apontar como principais vantagens da sua utilização para fins educacionais os seguintes itens: • Motivação de estudantes e usuários de forma geral, baseada na experiência de visualizar o funcionamento dos sistemas de ventilação, virtualmente; • Permite visualizações de detalhes dos elementos das máquinas elétricas e ventiladores de forma imersiva; • Provê a oportunidade de se realizar experimentos virtuais, principalmente na falta de recursos, para fins de educação virtual interativa; • Permite ao aprendiz a partir da teoria dada em livros entender o funcionamento interno de um aparelho sem ter que desmontá-lo, ou causar alguma danificação física em sua estrutura. • Encoraja a criatividade do usuário, que estará mais motivado por visualizar características internas de uma peça. Em relação ao estudo da conservação e eficiência do uso da energia elétrica, conclui-se que o melhor cenário é aquele em que se utilizam motores de alto rendimento associados à utilização de inversores de freqüência para o controle de velocidade. [1] ELLIS, Stephen R. What are Virtual Environments? IEEE Computer Graphics and Applications, v. 14, n. 1, p. 17-22, jan. 1994. [2] SHERMAN, R. William et al. Experiences with Virtual Reality applications, In: SIGGRAPH '97. Proceedings of the 24th annual conference on Computer graphics & interactive techniques, p. 473-476, 1997. [3] KIRIL, John T. Foley et al. WebTOP: 3D Interactive Optics on the Web. ACM Proceedings of Web3D VRML 2000 - fifth Symposium on the Virtual Reality Modeling Language, p. 125-131, Monterey, fev. 2000. [4] FITZGERALD, E.; KINGSLEY, Charles; UMANS, Stephen. Eletric Machinery. 5 ed. New York: McGraw Hill, 1990. [5] ELETROBRÁS-PROCEL. Guia Operacional de Motores Elétricos. Rio de Janeiro: ELETROBRÁS, 2000. [6] ELETROBRÁS-PROCEL. Programa de Eficientização Industrial - Módulo Ventiladores. Rio de Janeiro: ELETROBRÁS, 2000. [7] BELL, John T.; FOGLER, H. Scott. The Investigation and Application of Virtual Reality as an Educational Tool. Proceedings of the American Society for Engineering Education Annual Conference, Anaheim, jun. 1995. [8] CARDOSO, Alexandre; LAMOUNIER, Edgard; TORI, Romero. Sistema de Criação de Experiências de Física em Realidade Virtual para Educação a Distância. In: II Workshop Brasileiro de Realidade Virtual, WRV´99, p. 174-181, Marília, 1999. [9] CARDOSO, Alexandre; LAMOUNIER, Edgard; TORI, Romero. A Virtual Physics Laboratory to Support Interactive Distance Learning. In: International Conference on Engineering and Computer Education ICECE´2000 - CD-ROM, São Paulo, ago. 2000. [10]CARDOSO, Alexandre; MORETTI, Flávio; DAUD JÚNIOR, Antônio; CAMPOS, Túlio. Motor Elétrico Virtual. Proceedings of SVR 2003 - Symposium on Virtual Reality. Sociedade Brasileira de Computação – SBC, v. 01, p. 389-391, Ribeirão Preto, 2003. [11]AMES, L. A.; NADEAU, R. D.; MORELAND D. VRML Sourcebook. 2. ed. John Wisley & Sons, USA 1997. FIRT: UMA IMPLEMENTAÇÃO EM FPGA DA TÉCNICA DE TRAÇADO DE RAIOS Bernardo F. Reis, João Marcelo X. N. Teixeira, Veronica Teichrieb, Judith Kelner Universidade Federal de Pernambuco, Centro de Informática . Grupo de Pesquisa em Realidade Virtual e Multimídia Av. Professor Moraes Rego S/N, Prédio da Positiva, 1º Andar Cidade Universitária, Recife - Pernambuco CEP 50670-901 e-mail: {bfrs, jmxnt, vt, jk}@cin.ufpe.br Resumo - Com a evolução dos ambientes de realidade aumentada, alto desempenho torna-se um requisito, uma vez que as aplicações necessitam ser executadas em grandes velocidades e eficientemente. Embarcar o pipeline de realidade aumentada pode melhorar o quesito velocidade, enquanto a técnica de traçado de raios auxilia a satisfazer a demanda por qualidade. Este artigo descreve o FIRT, uma implementação da técnica de traçado de raios em FPGA para esferas e planos. A metodologia utilizada durante o desenvolvimento do projeto, os resultados obtidos e uma continuidade para o desenvolvimento do protótipo são abordados ao longo do texto. Com os testes realizados podese perceber a viabilidade de implementação de módulos de Computação Gráfica diretamente em FPGA, além da importância da contribuição do processamento dedicado para a área de renderização realista. Palavras-Chave - circuito dedicado, realidade aumentada, traçado de raios. Abstract - Along the evolution of augmented reality environments, high performance have become a necessity, once most applications need to be qualitatively executed and in high speed. To embed the augmented reality pipeline may improve the speed, while raytracing technique helps to satisfy the demand on quality. This paper describes FIRT, an implementation of a raytracing technique on FPGA to spheres and planes. The methodology used to develop the project, the results obtained and future works are discussed throughout the text. The tests performed have proven the feasibility of implementation of computer graphics directly on FPGA and have shown the importance of dedicated processing to realistic rendering. Keywords - augmented reality, dedicated circuit, raytracing. 1. INTRODUÇÃO A técnica de traçado de raios [1] é conhecida por sua capacidade de gerar imagens de alta qualidade, além de permitir a adição de outras técnicas de renderização avançada e vários efeitos de iluminação. Em aplicações de realidade aumentada (RA), esta técnica pode ser usada na última etapa de renderização dos objetos virtuais sobrepostos à imagem da cena real, com o intuito de deixar o ambiente virtual o mais próximo possível do real. Ao longo dos anos, pode-se perceber a crescente preocupação nas áreas de computação gráfica e RA acerca da busca pela geração de imagens sintéticas altamente realistas. As técnicas de rasterização convencionais não conseguem refletir adequadamente o comportamento da luz e de outros fenômenos físicos que ocorrem na realidade. A técnica de traçado de raios, por sua vez, simula os efeitos luminosos da maneira como eles ocorrem na realidade, no entanto apresenta um alto custo computacional. Com isso, o objetivo principal deste trabalho é unir as áreas de desenvolvimento de circuitos (em sistemas embarcados) e de renderização (em computação gráfica) em um ambiente de RA, transformando o resultado dessa união em um módulo embarcado capaz de realizar o mesmo processo definido pela técnica de traçado de raios. Uma vez implementado, o algoritmo será analisado comparativamente à sua implementação em software para verificar a qualidade visual das imagens geradas e o desempenho. Esse artigo visa descrever o processo de desenvolvimento e a experiência adquirida com a criação do FIRT (an FPGA Implementation of a RayTracer), uma implementação em Field Programmable Gate Array (FPGA) de um traçador de raios [2]. A seção 2 introduz alguns dos trabalhos que motivaram a construção do FIRT, além de apontar o que já é possível realizar com as soluções existentes. A seção 3 descreve a metodologia utilizada no desenvolvimento do projeto, suas diversas etapas e ferramentas usadas. Os resultados obtidos com o primeiro protótipo em funcionamento do FIRT são mostrados na seção 4, e uma sucinta análise é feita sobre as imagens criadas via software e pelo FIRT. Finalmente, a seção 5 faz uma reflexão sobre os resultados alcançados com o protótipo em FPGA e traça linhas para possíveis melhorias e funcionalidades adicionais ao projeto. 2. TRABALHOS RELACIONADOS O FIRT não é a primeira tentativa de embarcar o processamento de traçado de raios em um circuito integrado. Apesar de não existirem muitos trabalhos especificamente acerca do tema abordado, alguns projetos já propuseram soluções bem sucedidas de arquiteturas para uma implementação de traçado de raios que evite a execução via software, em PC de propósito geral. Um dos trabalhos encontrados [3] foca a possibilidade de implementar a técnica de traçado de raios em hardwares gráficos (placas de vídeo) e realiza uma comparação que demonstra que a implementação em hardware gráfico apresenta performance superior à implementação em CPUs convencionais. Essa confirmação de maior desempenho é um dos fatores que levaram à posterior construção de módulos embarcados voltados especificamente para a execução da técnica. SaarCOR [4], uma arquitetura para implementação de traçado de raios em tempo real, demonstrou ser escalável, modular e bastante eficiente de forma a satisfazer o requisito de tempo real. Todas as características listadas anteriormente foram justificadas através de simulação com precisão de ciclo de clock. Em uma continuação do trabalho desenvolvido com a arquitetura SaarCOR é apresentada a implementação de um protótipo de todo o pipeline da técnica de traçado de raios em um único chip de FPGA [5]. O protótipo utiliza como base uma freqüência de 90 MHz e chega a apresentar uma taxa média de 20 a 60 quadros por segundo. A principal característica desse último trabalho mencionado é a possibilidade dele suportar cenas dinâmicas, além de permitir o redesign da unidade de transformação, resultando no suporte de cenas com texturas, múltiplas fontes de luz, múltiplos níveis de reflexão e refração, além de transparência. Contudo, sua arquitetura ainda não foi disponibilizada e acredita-se que a mesma fará parte de uma solução fechada. 3. METODOLOGIA A metodologia adotada durante o desenvolvimento do FIRT consistiu em quatro etapas: definição das funcionalidades desejadas no módulo em hardware, implementação de um protótipo em software para posterior validação dos resultados obtidos com o protótipo em FPGA, implementação em Very High Speed Integrated Circuit Hardware Description Language (VHDL) usando uma ferramenta específica de simulação e, por último, adaptações e testes para verificar a corretude do circuito sintetizado [6]. O hardware disponível para a prototipação foi o kit de desenvolvimento de DSP da Altera, com um FPGA da família Stratix II, modelo EP2S60F1020C4. Dadas algumas limitações de memória desse FPGA, decidiu-se adotar a resolução de 320x240 pixels nos testes realizados. Cada uma dessas etapas será descrita em mais detalhes a seguir. naquela em sua superfície), além da técnica de Phong para suavizar o gradiente de cor gerado pela iluminação [7]. 3.2.Protótipo em Software A linguagem C foi escolhida para a implementação do FIRT em sofware e o Microsoft Visual Studio 2003 foi a IDE utilizada para desenvolvimento. Durante a implementação da aplicação, procurou-se organizar o código o mais próximo possível da posterior implementação em VHDL, de forma a abstrair chamadas de métodos, uso de classes e outras peculiaridades da linguagem de alto nível. Foi realizada uma tradução do código de traçado de raios recursivo para uma abordagem iterativa, de forma que fosse possível sua implementação também em VHDL [8]. Uma vez que a aplicação realizava o processo de traçado de raios de forma correta, deu-se início à tradução do código em C para VHDL, conforme descrito na próxima seção. 3.3.Implementação em VHDL Uma vez traduzido todo o código em C para VHDL, utilizou-se a ferramenta ModelSim para verificação da funcionalidade e possíveis otimizações, já que nesta fase era possível executar explicitamente várias operações em um único ciclo de clock, o que não acontecia com a versão do código implementada anteriormente. Uma vantagem do uso do ModelSim é a capacidade de ser realizado debug no código em VHDL. Isso permite que seja analisado o comportamento do código antes que o mesmo seja usado como entrada da síntese do circuito. Como o resultado do funcionamento do FIRT é uma imagem por completo, é inviável testar os valores resultantes de cor para cada pixel e compará-los com aqueles obtidos com o protótipo em software. Dessa forma, algumas ferramentas adicionais foram criadas usando a linguagem C para permitir essa comparação dos valores obtidos com a simulação do código em VHDL. Essas ferramentas, além de comparar os valores dos pixels obtidos, realizavam a conversão do formato binário adotado (ponto-fixo 32 bits em VHDL para ponto-flutuante em C), além de gerar uma imagem que pudesse ser comparada visualmente com a produzida por software. 3.1.Definição das Funcionalidades 3.4.Ajustes e Testes do Circuito O primeiro protótipo do FIRT visa trabalhar apenas com a renderização de planos e esferas, apresentando níveis variados de reflexão, refração e sombras simples (hard shadows). Está prevista uma extensão futura do protótipo para que o mesmo suporte malhas triangulares e características de cenas mais complexas. O comportamento da técnica de traçado de raios demanda uma abordagem recursiva, de forma que novos raios sejam gerados à medida que colisões são detectadas entre os raios virtuais que partem do observador e das primitivas da cena [1]. Esse foi o primeiro requisito do FIRT: ser capaz de suportar vários níveis de recursividade. Resolveu-se adotar a Lei de Beer de forma a tornar as refrações mais próximas do real (por exemplo, o olho humano enxerga uma diferença sutil na cor da água encontrada no fundo de uma piscina e A passagem do código VHDL criado com a ferramenta ModelSim para o Quartus (ferramenta de síntese do circuito) ocorreu sem dificuldades aparentes. Algumas modificações tiveram que ser realizadas no código para aproveitar alguns componentes já fornecidos pela Altera, que são implementados otimizadamente. A adaptação deveu-se ao fato da utilização do formato ponto-fixo ao invés de número inteiro diretamente. Algumas operações de deslocamento de bits resolveram a tradução entre os formatos. O módulo de exponenciação continuou fazendo parte do projeto, uma vez que não era fornecido um módulo com tal funcionalidade pela Altera. A compilação inicial do projeto resultou em um circuito com cerca de 94.000 Adaptative Look-Up Tables (ALUTS) de área. Uma vez que o FPGA utilizado só possui aproximadamente 48.500 ALUTs, o circuito não pôde ser sintetizado. Depois de reestruturar o código, algumas modificações tiveram que ser feitas para otimizar a área ocupada. Por exemplo, criou-se um módulo capaz de calcular a interseção entre um raio e uma primitiva geométrica em apenas um ciclo de clock. Além disso, passou-se a utilizar explicitamente apenas 7 multiplicadores em todo o circuito do "Raytracer", em conjunto com 3 divisores. As otimizações realizadas diminuíram a área final do circuito para 36.000 ALUTs, espaço compatível com o disponível no FPGA. Por se tratar de um código muito complexo, a ferramenta Quartus conseguiu apenas sintetizar todo o circuito com uma freqüência máxima garantida de funcionamento igual a 3.30 MHz. Resolveu-se adotar um "overclock" na freqüência para 4 MHz, o que não comprometeu a integridade dos cálculos realizados pelo circuito. O esquemático do FIRT é ilustrado pela Figura 2. Fig. 2. Esquemático do FIRT. O módulo principal do projeto é o salientado em azul, responsável pelo cálculo do traçado de raios. Os outros módulos compreendem a memória de armazenamento da imagem gerada, um módulo VGA responsável por enviar o conteúdo da memória para o dispositivo de visualização e um Phase-Locked Loop (PLL) para gerar as freqüências utilizadas no circuito. Os módulos implementados neste protótipo foram os seguintes: • Raytracer: engloba todo o processamento da técnica de traçado de raios. • Intersect: calcula a interseção entre um objeto da cena (esfera ou plano) e um raio lançado. • Ray_camera: fornece a posição espacial da câmera virtual (coordenadas x, y e z). • Ray_memory: memória de tamanho 320 x 240 pixels que a imagem resultante do processamento do raytracer. • Alt_mult32: multiplica combinacionalmente dois números de 32 bits no formato de ponto-fixo. • Alt_div32: divide combinacionalmente dois números de 32 bits no formato de ponto-fixo. • Sqrt: calcula a raiz quadrada de um número de 32 bits no formato de ponto-fixo. • Sqrt48: possui a mesma função que o módulo sqrt, só que para números com precisão maior (48 bits). • Expf: calcula o exponencial (ex) de um número de 32 bits no formato de ponto-fixo. 4. RESULTADOS Com a finalidade de avaliar o resultado do protótipo do FIRT, quatro casos de teste foram realizados. Em cada um deles, a imagem era gerada tanto por software quanto pelo circuito rodando no FPGA, e dois aspectos foram analisados: tempo de execução e qualidade da imagem gerada. A Figura 3 ilustra as imagens escolhidas para os testes. À esquerda são mostradas as imagens geradas por software, e à direita aquelas geradas pelo FIRT. Percebeu-se que apesar de pequenas diferenças de precisão entre as implementações, o resultado visual mostrou-se bastante satisfatório. Conforme ilustrado na Figura 4, devido à precisão, um pixel da fonte luminosa não é renderizado (imagem à direita), uma vez que o FIRT não conseguiu detectar a colisão com o raio lançado, como na diferente da imagem gerada por software. Para as simulações via software foi utilizado um PC com processador Athlon 64 X2 4800+, com 1 GB de RAM, rodando a uma freqüência de 2,41 GHz. A versão final do circuito levou cerca de 50 minutos para ser sintetizada. 5. CONCLUSÃO E TRABALHOS FUTUROS Embora o FIRT tenha apresentado um resultado visual correto nas imagens geradas, faz-se necessário um FPGA com área maior, para se obter uma melhor performance com o módulo. Com mais elementos lógicos seria possível aumentar o desempenho proporcionalmente ao número de módulos FIRT utilizados. Além disto, outras técnicas de otimização de circuito devem ser aplicadas ao módulo, de forma a aumentar sua freqüência de operação. Algumas dessas técnicas, como a aplicação de pipeline em operações custosas, já estão sendo introduzidas no circuito previamente implementado. Como trabalhos futuros, têm-se a inclusão no módulo de outras funcionalidades, como sombras complexas (soft shadows), colisão com malhas triangulares, uso de texturas e kd-trees para otimizar o cálculo de interseção com as primitivas da cena. Além disso, pretende-se criar uma interface de comunicação com o PC, de forma que as cenas renderizadas possam ser alteradas dinamicamente. AGRADECIMENTOS Fig. 3. Imagens geradas: (esquerda) protótipo em software; (direita) FIRT. Fig. 4. Diferença nas imagens devido à precisão. Por restrições de memória do FPGA, não foi possível armazenar os 8 bits relativos a cada componente de cor de cada pixel gerado pelo FIRT. Dessa forma, apenas os 6 bits mais significativos eram armazenados, o que resultou em variações bruscas do gradiente de cor na imagem gerada pelo FPGA. Além disso, conforme pode ser observado na Tabela 1, o tempo necessário para a renderização em hardware foi mais elevado do que em software, chegando a até 25 vezes superior, no pior caso. TABELA I Tempo de Execução dos Testes Teste 1 Teste 2 Teste 3 Teste 4 Software 0,422 s 0,235 s 9s 1s FIRT 8,84 s 5s 221 s 21,2 s Os autores gostariam de agradecer ao MCT e CNPq, por financiarem esta pesquisa (processo 507194/2004-7). REFERÊNCIAS BIBLIOGRÁFICAS [1] T. Whitted, “An Improved Illumination Model for Shaded Display”, ACM SIGGRAPH Computer Graphics, vol. 13, no. 2, pp. 14, August 1979. [2] B. Zeidman, Designing with FPGAs and CPLDs, C M P Books, California, 2002. [3] T. J. Purcell, I. Buck, W. R. Mark, P. Hanrahan, “Ray Tracing on Programmable Graphics Hardware”, ACM Transactions on Graphics, vol. 21, no. 3, pp. 703-712, July 2002. [4] J. Schmittler, I. Wald, and P. Slusallek, ”SaarCOR, a Hardware Architecture for Realtime Ray-Tracing”, in Proc. of EUROGRAPHICS Workshop on Graphics Hardware, 2002. [5] J. Schmittler, S. Woop, D. Wagner, W. J. Paul, and P. Slusallek, “Realtime Ray Tracing of Dynamic Scenes on an FPGA Chip”, in Proc. of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware, pp. 95-106, 2004. [6] V. A. Pedroni, Circuit Design with VHDL, MIT Press, Cambridge, 2004. [7] J. Bikker, “Raytracing: Theory & Implementation”, http://www.devmaster.net/articles/raytracing_series/part1. php [8] Y. A. Liu, and S. D. Stoller. “From recursion to iteration: what are the optimizations?”, Technical Report 527, Computer Science Dept., Indiana University, 1999. F-LIBRAS - AMBIENTE INTEGRADO PARA LÍNGUA BRASILEIRA DE SINAIS Fabrício Baptista1, José Remo F. Brega2 1 Faculdade de Ibaiti Av. Tertuliano de Moura Bueno, 232, Bairro Flamenguinho, Ibaiti-PR, Brasil 2 Centro Universitário Eurípides de Marília Av. Hygino Muzzi Filho, 529, Campus Universitário, Cep 17525-901, Cx.Postal 2041, Marília-SP, Brasil [email protected], [email protected] Resumo - Grande parte dos deficientes auditivos brasileiros utiliza a Língua Brasileira de Sinais (LIBRAS) para a sua comunicação. No entanto, alguns encontram dificuldade para comunicar-se, pois o português não é a sua língua– mãe, e possui uma ordem diferente da definida pela LIBRAS. Para minimizar este problema criou-se o F-LIBRAS, um Ambiente Virtual voltado para o domínio da LIBRAS. Este ambiente deve proporcionar suporte para a integração de pessoas, sistemas computacionais e conteúdos, podendo ser utilizado tanto para aprendizagem como para treinamento. As principais tarefas deste software são: a gravação, editoração e visualização de gestos. Os gestos utilizados em LIBRAS são tridimensionais, dessa forma as técnicas de Realidade Virtual são apropriadas para a representação dos movimentos que compõe a língua de sinais. Palavras-Chave – Ambientes Virtuais, Deficiente Auditivo, Realidade Virtual, LIBRAS. Abstract – The most of Brazilians hearing deficient uses the Signal Brazilian Language (LIBRAS) for their communication. However, some of them find difficulty to communicate each other, because Portuguese is not their native language, and it has a different position than that defined by LIBRAS. For reducing this problem, it was created the F-LIBRAS, a Virtual Environment directed to dominate of LIBRAS. This environment should provide support for including people, computer systems and contents; it can be used even for learning as training. The principal tasks of this program are: recording, publishing and visualizing of gestures and movements from Signal Language. The gestures used in LIBRAS are threedimensional, this way the techniques of Virtual Reality are appropriated to represents the movements that compose the signal language i Keywords - Deficient Hearing, LIBRAS, Virtual Enviroment, Virtual Reality. 1. INTRODUÇÃO Segundo Moura [10], a educação e a inserção social dos deficientes auditivos constituem um sério problema, e muitos caminhos têm sido seguidos na busca de uma solução. A oficialização da Língua Brasileira de Sinais (LIBRAS) em abril de 2002 (Lei n. 10.436, de 24 de abril de 2002) começa a abrir novos caminhos. Contudo, Capovilla [3] salienta que existe uma certa carência de materiais de avaliação e ensino desenvolvidos especialmente para o deficiente auditivo brasileiro. Neste contexto, surgiu a proposição de um Ambiente Virtual para o domínio da LIBRAS e sua integração à sociedade. Um dos fatores primordiais é o desenvolvimento de uma interface capaz de apresentar a LIBRAS de forma mais atraente, desta forma, uma das tecnologias a ser utilizada para o desenvolvimento desta ferramenta é a Realidade Virtual (RV). A RV proporciona uma interface mais rica em detalhes, principalmente por proporcionar a visualização e interação em três dimensões. Assim, esta técnica seria apropriada para a apresentação dos movimentos que compõe a língua de sinais. 2. LIBRAS – LÍNGUA BRASILEIRA DE SINAIS As linguagens oral e escrita são as formas mais comuns de comunicação, mas para os deficientes auditivos esta comunicação se estabelece em termos gestual-visuais, em que gestual significa o conjunto de elementos lingüísticos manuais, corporais e faciais necessários para a articulação e a significação cultural do sinal. A linguagem de sinais deve ser considerada a língua natural dos deficientes auditivos. Dizeu & Caporali[6] explicam que a criança com esta deficiência, adquire esta linguagem de forma espontânea sem que seja preciso um treinamento específico, mas ainda é considerada por muitos profissionais apenas como gestos simbólicos. Segundo Quadros [12] a LIBRAS é uma língua organizada espacialmente de forma altamente restringida. Analisar alguns aspectos da sintaxe de uma língua requer "enxergar" esse sistema que é visual-espacial não oralauditivo. A comunicação em qualquer língua é dotada de regras, surgindo a necessidade de se conhecer a estrutura de formação das sentenças. Desta forma pode-se analisar o sistema sintático e morfológico da língua de sinais. Quanto as regras sintáticas, Quadros[12] considera que a partir da intuição de falantes nativos da LIBRAS assume-se que há três possíveis formas de ordenar as palavras na LIBRAS: Sujeito-Verbo-Objeto(SVO), Objeto-SujeitoVerbo(OSV) e Sujeito-Objeto-Verbo (SOV). As outras combinações são consideradas inaceitáveis. Na língua de sinais, um sinal corresponde a uma palavra nas línguas orais-auditivas. Segundo Brito[2] o sinal é formado a partir da combinação do movimento das mãos, com um determinado formato e em um determinado lugar, podendo este lugar ser uma parte do corpo ou um espaço em frente ao corpo. Três parâmetros primários se combinam para a realização de um movimento em LIBRAS: a Configuração das Mãos, o Movimento e o Ponto de Articulação, e também apresenta parâmetros secundários que são: a disposição das mãos, a orientação das mãos e a região de contato, além de seus componentes não manuais como a expressão facial. A Datilologia, ou alfabeto manual, é a forma de soletrar palavras com as mãos. Muito utilizado para nomes próprios de pessoas, geográficos e palavras estrangeiras. No entanto, nem todos os nomes de pessoas são soletrados. Freqüentemente cria-se um sinal específico para se referir a uma determinada pessoa. Não é universal. Países diferentes possuem sinais datilológicos diferentes. 2.3. Informática na Socialização dos Deficientes Auditivos como substitutos em avaliações ergonômicas, projeto de produtos, linhas de montagem, entre outros, antes da construção dos mesmos. Também podem ser representações em tempo real dos próprios usuários ou de outros, em Ambientes Virtuais. Os HV podem ser implementados com diferentes enfoques. Torres et al. [15] comentam que muitos projetos propostos apresentam Humanos Virtuais com aparência e funcionalidade bastante realistas, usando superfícies deformáveis e mecanismos de animação baseados em Física, mas não se importam com o comportamento do agente. Outras abordagens propõem agentes cognitivos capazes inclusive de apresentar reações emocionais e personalidade própria, porém com representação gráfica pobre (textual em alguns casos). Assim verifica-se que a utilização de Humanos Virtuais para recriar ambientes e avaliar as relações entre os seres humanos nestes ambientes, é de grande importância na criação de documentação e pesquisas que permitem avaliar o impacto da presença humana nestes espaços. O computador é utilizado nas diversas áreas do conhecimento para auxiliar o ser humano nas tarefas de seu cotidiano. Pode-se utilizá-lo na socialização dos deficientes auditivos, desenvolvendo ferramentas e meios para a comunicação entre eles e com indivíduos ouvintes. Entretanto Dizeu & Caporali [6] ressaltam que deve haver a conscientização de que toda esta tecnologia disponível não é de acesso a toda a população com deficiência auditiva, especialmente considerando-se nossa realidade social, cultural e econômica. Souza e Pinto[14] concluem que em nossa sociedade informatizada, todos os educandos, inclusive os deficientes auditivos, necessitam do computador presente em seu processo de aprendizagem. Para a educação dos indivíduos que se comunicam de forma visual, a utilização de ferramentas computacionais passam a ser essenciais. Os sistemas de RV proporcionam interações que apresentam uma interface muito próxima à realidade. O desenvolvimento de uma ferramenta que estimule o aprendizado e compreensão da língua de sinais seria apropriado, já que os sinais utilizam-se de gestos humanos. Estes seriam melhor apresentados através de representações em 3D. Trata-se de um complemento tecnológico para a educação especial, que consiste em estimular através de imagens computadorizadas, o processo de comunicação e aprendizagem interativa. As principais tarefas deste software são a gravação, editoração e visualização de gestos e movimentos da Língua de Sinais. 3. AMBIENTES VIRTUAIS 4.1. Desenvolvimento do F-LIBRAS Ambiente Virtual (AV) é um ambiente sintético composto por um conjunto de elementos que estimulam os sentidos do usuário, causando a presença virtual. Compreende uma representação, que consiste na modelagem do ambiente e no conjunto de agentes de efeito compostos de interfaces físicas e lógicas que interagem com esta representação. Lamar [8] comenta que a voz e os gestos são as formas mais naturais de comunicação entre os seres humanos, entretanto as interfaces ainda são muito primitivas forçando a nos adaptar aos requisitos de hardware, como por exemplo, o teclado. Porém muitos pesquisadores tem se dedicado a criação de meios mais naturais de interface homem-máquina. As técnicas de Realidade Virtual são apropriadas para atingir estes objetivos. Pinho [11] destaca que a potencialidade da Realidade Virtual está exatamente no fato de permitir que sejam explicados alguns ambientes, processos ou objetos, não através de livros, fotos, filmes ou aulas, mas através da manipulação e análise virtual do próprio alvo do estudo. Visando disponibilizar esta ferramenta sem custo aos usuários, foram utilizadas tecnologias de livre distribuição, como JAVA, utilizando-se da sua API (Application Programming Interface) Java 3D e XML. A Figura 1 apresenta a interface inicial do F-LIBRAS. 4. DESCRIÇÃO DO F-LIBRAS 3.2. Humanos Virtuais Badler [1] comenta que Humanos Virtuais (HV) são modelos computacionais de pessoas, que podem ser usados Figura 1: Interface inicial do F-LIBRAS A ferramenta foi dividida em três módulos principais: Editor de Sinais, Interpretador de Sinais e Módulo de Datilologia. O Módulo Editor possibilita ao usuário a geração e gravação dos sinais em LIBRAS, através de movimentos nos membros específicos do corpo humano, como braços, antebraços, mãos, dedos, entre outros. O Módulo Interpretador de sinais tem como função receber requisições de movimentos, e caso existam no banco de dados, recuperá-los e apresentá-los ao usuário. Estas requisições poderiam ser feitas em formato de frases da língua portuguesa. Cusin [4] apresentou uma arquitetura de tratamento das frases para conversão separada em dois módulos: Módulo de Análise e Módulo de RV. O Módulo de Análise é responsável por receber a sentença em LIBRAS, analisar e gerar as instruções de movimentos. Essas instruções são enviadas para o Módulo de RV responsável pela execução dos movimentos. O terceiro módulo é o de Datilologia, que é responsável pela representação das letras no alfabeto manual. Apesar da descrição da independência das classes, formando a idéia de modularização, esses módulos compartilham de alguns pontos em comum entre eles. Para o usuário da ferramenta, esta modularização torna-se transparente, mantendo-se a impressão de um ambiente único. A seguir são apresentados os Ambientes Virtuais que compõe o F-LIBRAS e suas descrições. 4.2. Ambientes Virtuais do F-LIBRAS Os módulos de edição, interpretação e datilologia agem diretamente sobre os Ambientes Virtuais. São esses ambientes que recebem os comandos e representam as instruções enviadas pelo usuário do aplicativo. A modelagem de uma cena virtual é pré-requisito básico para a exibição do Avatar Humanóide onde serão executados os movimentos e também para a exibição da datilologia. São utilizados dois AVs, o primeiro para a representação e edição dos gestos em LIBRAS e outro para a Datilologia. Para implementação dos AVs, inicialmente foi necessário definir o modelo de grafos de cada componente. Este modelo é utilizado para gerar e demonstrar as relações entre os nós do grafo (que representam os componentes responsáveis por posição, escala, cores e forma do objeto). A seguir serão apresentadas as classes que compõem cada módulo, destacando as principais e a forma com que estão relacionadas. 4.3. Classes do F-LIBRAS Diversas classes estão integradas no F-LIBRAS. A descrição das principais serve para elucidar os principais pontos desta arquitetura. A classe denominada Principal é a responsável pela interface inicial do aplicativo, fornece a interface gráfica com o usuário e acesso as funcionalidades. Ela instancia os objetos da classe Tradutora, responsável pela datilologia e também as classes responsáveis pela execução dos movimentos em LIBRAS. Uma vez que se tenha definido e implementado um modelo de representação de corpos, a necessidade de aplicar movimentos sobre este corpo acaba surgindo naturalmente. Desta forma faz-se necessária a aplicação de movimentos controlados sobre ele. Para que os módulos que necessitam implementar movimentos do ambiente possam agir sobre o Avatar, foi desenvolvida uma classe para realizar esse trabalho. A classe InterpoladorBD permite associar um conjunto de movimentos a um corpo e controlar a execução desses movimentos. Esta classe representa cada uma das ordens individuais de movimentação, onde são indicados os membros do corpo, os eixos e ângulos de rotação. Para a apresentação dos Ambientes Virtuais de movimento e datilologia são instanciadas duas classes. São elas: Universo(datilologia) e Universo2, as quais são subclasses de JInternalFrame que possibilitam que dois Ambientes Virtuais possam estar contidos na interface principal do aplicativo. A classe Universo2 é responsável pela criação do ambiente onde agem os módulos de edição e interpretação da LIBRAS. Nesta implementação, a cena (ou modelo) é uma instância da classe. Para formação da cena são utilizados objetos gráficos, um conjunto de luzes e um conjunto de câmeras virtuais. A classe Universo2 instancia a classe Avatar, responsável por implementar a representação humana. As câmeras virtuais são usadas para simular o ponto de vista de um observador dentro de uma cena virtual e obter imagens correspondentes à sua visão. Para isso, foi implementada a classe Camera(). Esta classe armazena os parâmetros de diversas câmeras, com ângulos e posições variadas. As mudanças de posicionamento e ponto de vista são implementadas em métodos da própria classe Camera(). O Módulo Editor possui três principais classes que implementam as funcionalidades necessárias para a criação e gravação dos movimentos. São elas: Controles, KeyFramer e GravaMovimento. A classe Controles é a responsável pela seleção do membro a ser movimentado. A partir desta seleção, são escolhidos os ângulos desejados. A cada alteração da movimentação de qualquer um dos eixos são acionadas as classes Interpolador e KeyFramer. A partir da classe KeyFramer são definidos os quadroschave (posição final), e a velocidade do movimento. O movimento completo pode possuir um ou vários quadroschave, onde cada quadro deve representar um segmento do movimento. Para definição das posições de cada movimento (quadros-chaves), conforme pode ser observado na Figura 2. Figura 2: Gerador de Movimentos Para que as informações do movimento possam ser reutilizadas é necessário armazenar todos os dados referentes ao mesmo, como posição dos membros, ângulos de rotação e quadros-chave. Estes dados são enviados para a classe GravaMovimento que é responsável pela padronização de armazenamento, possibilitando a recuperação do mesmo. A descrição do movimento precisa ser gravada em um formato tal que possa ser utilizado no interpretador, e também ser importada para outros ambientes de animação e modelagem desenvolvidos futuramente. A solução proposta para este problema foi armazenar os movimentos em três formatos diferentes: arquivos padrão XML, arquivos texto e banco de dados relacional. As classes AnalisadorBD e ExecutorBD são utilizadas na interpretação dos movimentos, sendo invocadas a partir da classe Principal, conforme já especificado, e são responsáveis por realizar o tratamento das sentenças. A classe AnalisadorBD tem a função de realizar o tratamento das frases, enquanto a classe ExecutorBD realiza a busca da palavra no banco de dados de todos os movimentos correspondentes, para execução através da classe InterpoladorBD. 5. CONCLUSÕES Este trabalho apresentou o F-LIBRAS, uma ferramenta que visa proporcionar aos usuários da LIBRAS um apoio para a difusão desta linguagem. A idéia é proporcionar tal melhoria com a utilização de tecnologias emergentes e que possibilitam a integração das diversas ferramentas utilizadas no desenvolvimento. Os resultados obtidos em termos de geração de movimentos foram satisfatórios, já que os objetos responderam com rapidez e precisão às instruções enviadas pelo usuário à ferramenta. Muito além de simplesmente transformar as diversas ferramentas em um único sistema, diversos desafios envolveram esta implementação. Entre eles destacam-se a integração das classes e o compartilhamento de algumas funções essenciais para a concepção da ferramenta. Ao longo desse processo, pôde-se observar as formas de integrar ferramentas existentes e com implementações diferentes. A utilização da linguagem Java, confere à biblioteca de classes desenvolvida, grande portabilidade e versatilidade para se adaptar a novas situações e novas plataformas. Como trabalhos futuros, novas formas para captação de movimentos poderiam ser adicionadas na criação dos mesmos, utilizando-se de dispositivos não convencionais, como rastreadores de movimentos. Para isso, os arquivos em formato TXT seriam utilizados na implementação destes rastreadores. Existe também a possibilidade de criação de um serviço de troca de mensagens em LIBRAS. Aidéia seria que o FLIBRAS possa servir como interface entre duas ou mais pessoas ligadas em rede ou utilizando a internet, onde mensagens seriam enviadas e representadas remotamente. Assim, o formato de arquivo em XML poderia agir como base e padrão de troca dessas mensagens. REFERÊNCIAS BIBLIOGRÁFICAS [1] BADLER, Norman et al. Representing and Parameterizing Agent Behaviors. University of Pennsylvania, 2002. [2] BRITO, Lucinda Ferreira. A Língua de Sinais Brasileira. 2003. Disponível em: <http://www.ines.org.br/ines_livros/fasc7_principal.htm >. Acesso em: 30 mar. 2006. [3] CAPOVILLA, Fernando C., et al. Avaliando Compreensão de Sinais da Libras em Escolares Surdos do Ensino Fundamental. Revista Interação em Psicologia, jul./dez. 2004, p. 159-169. [4] CUSIN, Gislene Marengo. Ambiente Virtual interpretador de sentenças em português para Língua Brasileira de Sinais. Dissertação de Mestrado. UNIVEM. Marília, 2004. [5] DEUSDADO, Leonel Domingues. Ensino da Língua Gestual Assistido por Personagens 3D Virtuais. Dissertação de Mestrado. Universidade do Minho. Braga, 2002. [6] DIZEU, Liliane Correia Toscano de Brito; CAPORALI, Sueli Aparecida. A língua de sinais constituindo o surdo como sujeito. Educ. Soc. vol.26 n° 91 Campinas. Mai/Ago 2005. [7] FUSCO, Elvis. X-LIBRAS: Um Ambiente Virtual para a Língua Brasileira de Sinais. Dissertação de Mestrado. UNIVEM. Marília, 2004. [8] LAMAR, Marcus Vinicius. Hand Gesture Recognition using T-CombNET. Tese de Doutorado – Nagoya Institute of Technology. Nagoya, Japan, January 2001. [9] MARTINS, R. B.; MACIEL, A.; NEDEL, L. P. SkelMod-3D: Um Sistema Livre e Multiplataforma para Modelagem e Visualização de Corpos Articulados. Workshop de Software Livre, 2001. Porto Alegre , 2001. [10] MOURA, M.C. O surdo: caminhos para uma nova identidade. Rio de Janeiro: Revinter, 2000. [11] PINHO, Márcio Serolli. Realidade Virtual como Ferramenta de Informática na Educação. VII Simpósio Brasileiro de Informática na Educação, Belo Horizonte, 1996. [12] QUADROS, Ronice Muller de. A estrutura da frase da língua brasileira de sinais. II Congresso Nacional da Abralin. Florianópolis, 2000. [13] ROSA JUNIOR, Onivaldo. LRVCHAT3D, Desenvolvimento de um Ambiente Virtual Tridimensional Multiusuário para Internet. UFSC Florianópolis, 2003. [14] SOUZA, Vinícius Costa de; PINTO, Sérgio Crespo C. da Silva. Sign WebMessage: uma ferramenta para comunicação via web através da Língua Brasileira de Sinais – Libras. XIV Simpósio Brasileiro de Informática na Educação, UFRJ - Rio de Janeiro, novembro de 2003. [15] TORRES, J. A. R.; MACIEL, A.; NEDEL, L. P. Uma Arquitetura para Animação de Humanos Virtuais com Raciocínio Cognitivo. SVR 2002 - SYMPOSIUM ON VIRTUAL REALITY, 2002, Fortaleza - CE Proceedings. Fortaleza: SBC, 2002 FLIGHT INSTRUCTOR, UM INSTRUTOR DE VÔO VIRTUAL PARA O MICROSOFT FLIGHT SIMULATOR X Rodrigo C. de Farias, Gabriel F. de Almeida, Veronica Teichrieb, Judith Kelner Universidade Federal de Pernambuco, Centro de Informática Grupo de Pesquisa em Realidade Virtual e Multimídia Av. Professor Moraes Rego S/N, prédio da Positiva, 1º andar Cidade Universitária, Recife, Pernambuco CEP: 50670-901 E-mail: {rcf3, gfa, vt, jk}@cin.ufpe.br Resumo – O curso de formação de pilotos, em sua etapa prática, requer o uso de aeronaves de treinamento, cujo custo operacional é alto, enquanto simuladores de vôo permitem a prática de alguns cenários específicos a um custo inferior. Este artigo apresenta o FlightInstructor, um instrutor de vôo virtual para o Microsoft Flight Simulator X, com foco no desenvolvimento dos módulos responsáveis pela execução e descrição de alguns procedimentos aeronáuticos abordados na etapa prática do curso. Palavras-Chave – curso de formação de pilotos, Microsoft Flight Simulator X, instrutor de vôo virtual, SimConnect. Abstract – The pilot preparation course, on its practical stage, requires the use of training aircrafts, whose operational cost is high. Flight simulators, on the other hand, allow the practice of some specific scenarios at a lower cost. This article presents the FlightInstructor, a virtual flight instructor for Microsoft Flight Simulator X. It focuses on the development of the modules responsible for the execution and description of some aeronautical procedures taught in the practical stage of the course. Keywords – pilot preparation course, Microsoft Flight Simulator X, virtual flight instructor, SimConnect 1. INTRODUÇÃO A aviação é uma área fascinante, que traz satisfação a muitos dos seus profissionais e entusiastas. Porém, o custo associado a essa atividade ainda é muito alto, tornando seu mercado restrito. A etapa prática do curso de formação de pilotos é uma barreira para muitos alunos devido ao alto custo operacional das aeronaves de treinamento [1]. Um meio que as escolas de aviação e seus instrutores têm empregado para reduzir parte desses custos é o uso de simuladores de vôo, em algumas etapas do curso, que oferecem ao aluno uma experiência de imersão virtual em uma aeronave [2]. Além de ter um custo de operação muito menor, os simuladores permitem a prática em cenários específicos e são tolerantes às falhas do aluno. Há simuladores que conseguem representar com muita precisão o ambiente da cabine e o comportamento de uma aeronave. Porém, são muito caros e só podem ser adquiridos por grandes escolas de aviação. O Microsoft Flight Simulator X (FSX) se encaixa nesse contexto como um simulador de vôo barato, para PC, e que permite a conexão de diversos dispositivos de interação para aumentar o grau de imersão do usuário [3]. Este artigo apresenta o FlightInstructor e seu módulo ProcedurePerformer. A proposta do FlightInstructor é criar um instrutor de vôo virtual para o FSX, que servirá como material complementar para a etapa prática do curso de formação de pilotos. É uma solução de baixo custo que permitirá ao aluno praticar alguns conceitos aprendidos no curso sem a presença de um instrutor de vôo. O ProcedurePerformer é o módulo responsável pela execução de procedimentos aeronáuticos, e será o foco do artigo. Cada tarefa executada pelo instrutor virtual será exibida para o usuário pela interface da aplicação, como uma forma de orientá-lo na execução do procedimento. O FlightInstructor ainda terá outros módulos, como o FlightAnalyzer, responsável pela análise de um procedimento executado pelo aluno. Estes módulos serão desenvolvidos após a conclusão do ProcedurePerformer. Para torná-la uma ferramenta de ensino eficiente, os assuntos abordados pelo FlightInstructor serão aqueles que o FSX simula com mais precisão, como as particularidades do vôo sob Instrument Flight Rules (IFR) e seus procedimentos, descritos na publicação ICA 100-12, do Comando da Aeronáutica do Brasil [4]. A seção 2 deste artigo relaciona alguns produtos relacionados ao processo de ensino na aviação. A seção 3 descreve alguns conceitos relacionados ao FSX e às ferramentas que oferece para a criação de uma aplicação. A seção 4 mostra as etapas seguidas para o desenvolvimento do módulo ProcedurePerformer. Finalmente, a seção 5 relaciona os resultados alcançados até o momento e seus trabalhos futuros. 2. TRABALHOS RELACIONADOS Existem muitos trabalhos dedicados ao processo de ensino na aviação, que vão de livros a softwares interativos para PC. Os cursos de treinamento da Oxford Aviation Training são exemplos de softwares interativos com recursos multimídia para facilitar o ensino de diversos assuntos relacionados ao curso de formação de pilotos [5]. Há ainda os softwares que simulam o comportamento de certas interfaces de interação da aeronave, de maneira isolada. Pode-se citar como exemplo o G1000 PC Trainer, que simula o comportamento dos novos painéis de cristal líquido que equipam muitas das aeronaves produzidas atualmente [6]. O livro é uma das mídias mais acessíveis e usadas nas escolas de aviação. Microsoft Flight Simulator X For Pilots e Microsoft Flight Simulator as a Training Aid são as principais referências teóricas usadas no desenvolvimento do FlightInstructor [7] [8]. Esses livros abordam de forma eficiente os recursos oferecidos pelo FSX, complementando a parte prática do curso de formação de pilotos. O próprio FSX, por exemplo, oferece o Learning Center, que é uma seção destinada ao ensino dos conceitos básicos da aviação, para diferentes etapas do curso. Além de material escrito e ilustrado para a parte teórica, possui checkrides (testes práticos) e missões, que analisam o comportamento do aluno em situações específicas. Ainda há a possibilidade de um instrutor se conectar remotamente ao PC do aluno e interagir com a aeronave como se estivessem juntos. Nos checkrides, o instrutor virtual do Learning Center passa algumas instruções para o aluno e verifica se as executou corretamente, aprovando-o ou não para a próxima etapa do curso. Sua limitação é abordar apenas um único procedimento para cada assunto. Além disso, o Software Development Kit (SDK) do FSX não oferece recursos para a modificação ou criação de novos checkrides. O conceito de missão surgiu na versão X do Flight Simulator. Basicamente, é um conjunto de objetivos que o piloto precisa cumprir para ter sucesso. A SDK permite a criação de novas missões, mas os recursos oferecidos são limitados, dificultando uma análise precisa das ações executadas pelo piloto. O FSX ainda permite a criação de vídeos, que é um instrumento interessante de ensino, quando se deseja apenas ilustrar a execução de uma tarefa específica. Esse recurso é oferecido como material complementar dos livros [7] e [8]. 3. CONCEITOS RELACIONADOS 3.1. Microsoft Flight Simulator X A Microsoft lançou a primeira versão do seu simulador em 1982 [9]. Vinte e cinco anos depois, após várias versões e melhorias, lançou a versão X. Uma interface das versões 1 e X, respectivamente, está ilustrada na Figura 1. O FSX pode ser utilizado com mouse e teclado, como dispositivos de entrada. Segundo os autores citados, é o suficiente para usá-lo de forma eficiente em muitos assuntos do curso. Mas para aqueles que desejam aumentar a imersão na simulação, pode-se adquirir mais alguns dispositivos como yoke ou joystick, pedais e tracker (rastreador) dos movimentos da cabeça do usuário. A função do yoke ou joystick é controlar os movimentos de pitch e roll da aeronave. Como exemplo de yoke, pode-se citar o Flight Sim Yoke da CH Products, que ainda possui mais três eixos para o controle dos principais manetes de um monomotor [10]. A função dos pedais é controlar o movimento de yaw da aeronave e freá-la em solo. Pode-se citar o Pro Pedals da CH Products como exemplo [10]. A função do tracker citado é controlar, de forma intuitiva, a visão do piloto dentro da cabine da aeronave. O TrackIR 4:Pro da NaturalPoint é um dos exemplos [11]. 3.2. SimConnect O SimConnect é um protocolo de comunicação baseado na arquitetura cliente/servidor, que permite o desenvolvimento de aplicações para o FSX pelo acesso assíncrono a dados e eventos do simulador [12]. O protocolo usado é o Transmission Control Protocol, e permite que um cliente acesse várias instâncias do FSX em computadores distintos, ou que um servidor seja acessado por vários clientes, em computadores distintos ou não. O padrão publish/subscriber é usado como base da comunicação. Basicamente o cliente solicita um pacote de dados ou envia um evento ao servidor, que o processa de acordo com o nível de prioridade previamente estabelecido. A linguagem de programação padrão utilizada pela Application Programming Interface (API) é C++, mas oferece um wrapper para C#, que foi a linguagem escolhida para o desenvolvimento do FlightInstructor. O ambiente de programação Microsoft Visual C# Express oferece ferramentas que tornam o desenvolvimento de aplicações em C# mais produtivo que em C++, em especial na construção de interfaces gráficas [13]. O SDK do SimConnect só está disponível para os usuários da versão Deluxe do FSX, mas as aplicações desenvolvidas podem ser executadas na versão Standard. 4. O MÓDULO PROCEDURE PERFORMER O desenvolvimento de ProcedurePerformer, bem como da base do FlightInstructor, passa pelas seguintes etapas, descritas na seqüência: – Fig. 1. Primeira versão do Flight Simulator (esquerda) e sua versão X (direita). Segundo os autores dos livros [7] e [8], que são instrutores de vôo, o FSX simula com precisão diversos aspectos do vôo real, e é usado como ferramenta de ensino em muitas escolas de aviação. – – – – Estudo dos conceitos básicos da linguagem programação C#; Estudo dos conceitos relacionados ao domínio aplicação; Estudo da SDK do SimConnect e as particularidades seu wrapper para a linguagem C#; Desenvolvimento do EasyConnect, uma camada abstração para o SimConnect; Desenvolvimento da lógica de aplicação ProcedurePerformer. de da do de do 4.1. Domínio da Aplicação Os conceitos relacionados ao domínio da aplicação estão sendo pesquisados nos livros [7] e [8] durante o seu desenvolvimento. Porém, é importante ter em mãos outros livros relacionados ao curso de Piloto Comercial e conceitos do vôo sob IFR, bem como a legislação específica do tráfego aéreo e os manuais de operação das aeronaves a serem adicionadas na aplicação. 4.2. SimConnect para C# A documentação da API é abrangente e traz vários exemplos de aplicações simples para ilustrar seus principais recursos. Porém, a compreensão do seu funcionamento não é trivial e está focada no uso de C++. A aplicação cliente e o servidor se comunicam através de variáveis e eventos. Variáveis representam estados da simulação, que podem ser lidos, e algumas vezes modificados; eventos, as ações que o usuário pode executar para modificar o estado da aplicação. Há um número muito grande de variáveis e eventos disponíveis na API, o que abre muitas possibilidades de interação com o simulador. É um campo aberto para o desenvolvimento de aplicações relacionadas à aviação. Há alguns fóruns dedicados ao SimConnect na Internet, como os da AVSIM e FsDeveloper [14][15]. São fontes de pesquisa importantes para a compreensão dos detalhes, limitações e problemas da API. 4.3. EasyConnect A estrutura de programação oferecida pelo SimConnect exige muitas linhas de código para a execução de tarefas relativamente simples. Para se modificar a posição de um dos manetes da aeronave, por exemplo, são necessárias mais de 20 linhas de código, distribuídas em diversas estruturas da linguagem de programação usada. O EasyConnect se encaixa nesse contexto, como uma camada de abstração entre o FlightInstructor e o SimConnect, para tornar o código da aplicação legível e gerenciável. A idéia é tentar separar o código relativo ao SimConnect da lógica da aplicação, permitindo que essa base possa ser usada em outros módulos do FlightInstructor, bem como em outros projetos. A arquitetura do EasyConnect é apresentada na Figura 2. A aeronave é representada como uma coleção de componentes. Cada componente, por sua vez, representa um ponto de interação com a aeronave, como botões, mostradores, manetes, etc. Existem componentes que só permitem a leitura de seus dados, como os mostradores; e outros que também permitem sua modificação, como botões e manetes. A classe MainForm é o ponto de entrada da aplicação, onde são tratados a abertura e fechamento da conexão com o FSX, assim como exceções e eventos de sistema do SimConnect. Um desses eventos é disparado a cada segundo, e é usado como loop da aplicação. Cada componente herda da classe Component e é responsável pelo gerenciamento de um dos pontos de interação da aeronave. A classe Throttle, por exemplo, registra-se como listener dos eventos relacionados ao manete de potência da aeronave. Possui ainda uma variável que guarda o valor atual da sua posição. A função que modifica esse valor apenas chama o método apropriado da API, para sua atualização no servidor. Porém, como a comunicação cliente/servidor é assíncrona, a função de leitura retorna o último valor atribuído à variável. A freqüência de atualização desse valor é determinada na inicialização do componente. Cada aeronave disponível será carregada de arquivos de configuração, com todos os seus componentes e características. Parte do trabalho relacionado a esse módulo será a definição de uma estrutura genérica para esse arquivo, além da implementação de um parser para o seu carregamento. A classe EasyConnect guarda outros atributos e métodos relacionados ao SimConnect e é responsável pelo carregamento da aeronave e inicialização dos seus componentes. EasyConnect também tem alguns métodos específicos para facilitar a execução de tarefas que exigem vários passos para sua conclusão. Em alguns tipos de aeronave, por exemplo, o controle da rotação de sua hélice, que é medido em rotações por minuto (RPM), é feito pelo manete de potência. Para se chegar a uma determinada rotação, são necessários pequenos incrementos na posição do manete, até que se chegue ao valor almejado. O método SetRPM(int value) de EasyConnect tem um laço que faz os incrementos necessários no componente Throttle enquanto checa o componente RPM para verificar se o valor já foi alcançado. 4.4. Lógica de Aplicação do ProcedurePerformer Fig. 2. Arquitetura do EasyConnect. O ProcedurePerformer é o módulo responsável pela execução dos procedimentos IFR escolhidos pelo usuário e utiliza o EasyConnect como base de comunicação com o FSX. Sua arquitetura é ilustrada na Figura 3. Um procedimento é representado como um conjunto de estados (State). Cada estado tem uma lista de tarefas (Task) e uma lista de condições de mudança de estado (ChangeCondition). A tarefa representa uma ação, como atingir uma determinada velocidade. A classe ProcedurePerformer tem uma instância de EasyConnect, do procedimento a ser executado e uma fila de tarefas, que é alimentada pelos estados do procedimento. aviação, ajudando alunos e entusiastas a colocar em prática e aperfeiçoar os conhecimentos teóricos previamente adquiridos. AGRADECIMENTOS Os autores agradecem ao CNPq, que parcialmente financiou este projeto. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 3. Arquitetura de ProcedurePerformer. A cada loop da aplicação, se nenhuma tarefa estiver sendo executada e não houve mudança de estado, a próxima tarefa da fila é executada. Se houve mudança de estado, as tarefas do novo estado são adicionadas à fila de tarefas. O seguinte pseudocódigo ilustra o algoritmo descrito: void loopEvent() { if (!isPerformingTask) { if (someChangeCondition) { changeState; enqueueStateTasks; } dequeueAndExecuteTask; } } Os procedimentos também serão carregados de arquivos de configuração para que a aplicação possa ser estendida. Grande parte do trabalho relacionado a esse módulo será a definição de uma estrutura genérica para esse arquivo, bem como a implementação de um parser para o seu carregamento, que terá como base o parser de carregamento das aeronaves. 5. CONCLUSÕES E TRABALHOS FUTUROS Após o estudo do SimConnect, a base da arquitetura do EasyConnect foi implementada, e algumas tarefas isoladas do ProcedurePerformer já estão sendo executadas com sucesso, como a leitura e modificação dos principais componentes de uma aeronave, de acordo com objetivos isolados. A comunicação assíncrona entre o SimConnect e o FSX não atrapalhou a execução de tarefas críticas, e demonstrou ser eficiente. O lançamento do primeiro Service Pack do SimConnect corrigiu alguns problemas e adicionou novos recursos à API. Porém, ainda há variáveis e eventos que estão disponíveis na interface, mas não foram devidamente implementados. Como trabalhos futuros pode-se citar a conclusão do módulo ProcedurePerformer, a ampliação do seu banco de procedimentos e aeronaves, o desenvolvimento do módulo de integração da interface gráfica do FlightInstructor à interface do FSX, e do módulo FlightAnalyzer. A validação do FlightInstructor por instrutores e pilotos também será importante para torná-la uma ferramenta útil no meio da [1] Aeroclube de Bauru. Disponível em: site do Aeroclube de Bauru. URL: http://www.aeroclubebauru.com.br/site/base.asp?pag=ta belapreco.asp, visitado em setembro de 2007. [2] The Art of Flight Simulation. Disponível em: site de Jonathan Gabbai. URL: http://gabbai.com/academic/theart-of-flight-simulation/, visitado em setembro de 2007. [3] Microsoft Flight Simulator X. Disponível em: FsInsider. URL: http://www.fsinsider.com, visitado em setembro de 2007. [4] Comando da Aeronáutica do Brasil, Regras do Ar e Serviços de Tráfego Aéreo, 2006. [5] Computer based training. Disponível em: site da Oxford Aviation Training. URL: http://www.oxfordaviation.net/cbt.htm, visitado em setembro de 2007. [6] Garmin G1000. Disponível em: site da Garmin. URL: https://buy.garmin.com/shop/shop.do?cID=153&pID=64 20, visitado em setembro de 2007 [7] J. V. West, K. Lane-Cummings, Microsoft Flight Simulator X For Pilots, Wiley Publishing, Indianapolis, 2007. [8] B. Williams, Microsoft Flight Simulator as a Training Aid, Aviation Supplies & Academics, Newcastle, 2006. [9] History of Microsoft Flight Simulator. Disponível em: Wikipedia. URL: http://en.wikipedia.org/wiki/History_of_Microsoft_Fligh t_Simulator, visitado em setembro de 2007. [10] Flight Sim Yoke e Pro Pedals. Disponível em: site da CH Products. URL: http://www.chproducts.com/retail/, visitado em setembro de 2007. [11] TrackIR 4:Pro. Disponível em: site da NaturalPoint. URL: http://www.naturalpoint.com/trackir/02products/product-TrackIR-4-PRO.html, visitado em setembro de 2007. [12] About SimConnect. Disponível em: FsInsider. URL: http://www.fsinsider.com/developers/Pages/AboutSimC onnect.aspx, visitado em setembro de 2007. [13] Microsoft Visual C# Express. Disponível em: MSDN. URL: http://msdn2.microsoft.com/enus/express/aa700756.aspx, visitado em setembro de 2007. [14] MS FSX SimConnect Forum. Disponível em: The AVSIM Forums. URL: http://forums.avsim.net/dcboard.php?az=show_topics&f orum=255, visitado em setembro de 2007. [15] SimConnect portal. Disponível em: FsDeveloper.com. URL: http://fsdeveloper.agerrius.nl/simconnect/, visitado em setembro de 2007. IMPLEMENTAÇÃO DE REALISMO NA INTERAÇÃO EM UM FRAMEWORK PARA TREINAMENTO VIRTUAL Cléber Gimenez Corrêa, Adriano Bezerra, Ana C. M. T. G. de Oliveira, Fátima L. S. Nunes Centro Universitário Eurípides de Marília (UNIVEM) Laboratório de Aplicações de Informática em Saúde (LApIS), Marília, Brasil [email protected], [email protected], [email protected], [email protected] Resumo – Este artigo apresenta um módulo de interação a ser implementado em um framework de Realidade Virtual (RV) para treinamento médico, visando a obter mais realismo em aplicações para simular exames de biópsia. O módulo suporta dispositivos convencionais (teclado e mouse) e não-convencionais (equipamento háptico e luva de dados), permitindo desenvolver aplicações de acordo com a disponibilidade financeira e o grau de realismo desejado. Com os dispositivos, é possível navegar no ambiente, manipular objetos virtuais e controlar o sistema durante a sessão de treinamento. Palavras-Chave – Dispositivos convencionais, dispositivos não-convencionais, interação. Abstract – This paper presents a proposal of an interaction module to be implemented in a Virtual Reality (VR) framework for medical training, aiming at to obtain more realism in applications to simulate biopsy examinations. The module supports conventional (keyboard and mouse) and non-conventional devices (haptic equipment and dataglove), allowing to develop applications according to financial availability and desired degree of realism. With the devices, is possible to navigate on the environment, manipulate virtual objects and control the system during the training session. Keywords – Conventional devices, non-conventional devices, interaction. 1. INTRODUÇÃO Diversas pesquisas estão sendo realizadas com o intuito de tornar aplicações de RV mais realistas, principalmente aquelas voltadas ao treinamento médico, permitindo aos profissionais e estudantes de medicina, adquirir e aumentar seus conhecimentos na execução de determinados procedimentos. Neste contexto, existem os Ambientes Virtuais (AVs), que são construídos com técnicas de RV, e os dispositivos de comunicação, como mouse, teclado, monitor, luva de dados, dispositivo háptico, capacete, entre outros, que têm papel importante, pois propiciam a interação entre ser humano e computador. Os dispositivos chamados não-convencionais podem elevar o nível de realismo de uma simulação, como uma luva de dados mapeando os movimentos da mão do usuário para o simulador, ou um dispositivo háptico funcionando como um instrumento, que é manipulado por um médico durante a execução de um determinado procedimento. A interação em AVs envolve navegação, que é a movimentação do usuário pelo ambiente, observando suas características; seleção, que consiste na escolha de um ou mais objetos virtuais dentre um conjunto de objetos; manipulação, que envolve a alteração das características de objetos selecionados, tais como: rotação, posição, escala, entre outras; e controle do sistema, que é a modificação do estado do sistema ou modo de interação [3]. Quando trata-se de treinamento de procedimentos médicos, os AVs oferecem diversas vantagens, a citar: diversidade de casos, inexistência de riscos a pacientes, médicos e estudantes da área, disponibilidade do Ambiente Virtual (AV) [6]. Um recurso interessante a ser utilizado na construção de aplicações, uma vez que aumenta a produtividade, são os frameworks, que podem ser definidos como o projeto e implementação abstratos com o objetivo de desenvolver aplicações em um determinado domínio de problemas, aproveitando códigos já implementados [4]. Este artigo apresenta o desenvolvimento de um módulo de interação com suporte a diversos dispositivos dentro de um framework de Realidade Virtual orientado a objetos, denominado ViMeT (Virtual Medical Training), com ênfase em um dispositivo háptico. 2. IMPLEMENTAÇÃO DA INTERAÇÃO A implementação do módulo de interação considerou as classes já existentes em um framework em construção. Por isso, inicialmente é apresentado o framework e, em seguida, as considerações sobre a interação em questão. 2.1 O ViMeT O ViMeT é um framework de RV para gerar aplicações de treinamento médico desenvolvido em linguagem de programação Java, usando a API (Application Programming Interface) Java3D. Fornece características e funcionalidades básicas por meio de classes e métodos, como: deformação, detecção de colisão, modelagem de objetos tridimensionais, para facilitar a construção de aplicações desta natureza [2]. As aplicações geradas disponibilizam dois objetos sintéticos que representam um órgão humano e um instrumento médico. O usuário pode manipular o instrumento médico até que a aplicação identifique que houve uma colisão, realizando a deformação do local selecionado no objeto que representa o órgão humano, conforme pode ser verificado na Figura 1. Fig. 1. Exemplo de aplicação gerada pelo ViMeT [2] A Figura 2 apresenta o diagrama de classes do ViMeT, sendo que as classes em cinza contêm as características e funcionalidades dos dispositivos que compõem o módulo de interação. Fig. 2. Diagrama de classes do ViMeT 2.2 Módulo de interação O módulo de interação deve proporcionar a navegação pelo AV, a manipulação de objetos virtuais e o controle do sistema. Não há a ocorrência da seleção, pois os objetos virtuais estão associados aos dispositivos considerados. São considerados atualmente quatro dispositivos: teclado, mouse, luva de dados e equipamento háptico. A Figura 3 mostra o funcionamento do módulo de interação. O desenvolvedor pode optar pela combinação de dispositivos de acordo com a disponibilidade financeira, visto que os equipamentos não-convencionais possuem custo maior quando comparados com os convencionais. No entanto, grau de realismo maior é fornecido pelos dispositivos não-convencionais, visto que sua manipulação é semelhante ao procedimento executado no mundo real. Neste módulo de interação é previsto que a luva e o teclado sejam utilizados para simular o ato de segurar o objeto que representa o órgão humano. O mouse e o dispositivo háptico são usados para manipular o instrumento médico. Uma mão virtual é disponibilizada para representar os movimentos da mão e dos dedos do usuário em relação aos atos de segurar e soltar o órgão humano. As setas posicionadas na Figura 1 indicam a associação entre os objetos virtuais e os dispositivos, sendo que a seta bidirecional entre o equipamento háptico e o instrumento médico indica que, além de enviar informações ao computador, o dispositivo também recebe informações para gerar o feedback tátil ou retorno de força. 2.3 Dispositivos No desenvolvimento do módulo de interação foram adotados os seguintes dispositivos: mouse comum, teclado, uma luva de dados 5DT Data Glove 5 Ultra, fabricada pela 5DT (Fifth Dimension Technologies), e um equipamento háptico, modelo PHANTOM Omni, desenvolvido pela empresa SensAble Technologies. O mouse, de acordo com as coordenadas x e z captadas do usuário pelo dispositivo, e enviadas ao computador, realiza movimentações no objeto virtual que representa o instrumento médico nos eixos x e y na tela do computador. Além disso, permite a navegação pelo AV em determinados momentos durante a interação. Com o teclado, teclas específicas ao serem pressionadas indicam que a mão do usuário está sendo fechada para segurar o objeto que representa o órgão humano. A liberação destas indica que a mão está sendo aberta, e o órgão humano virtual deve ser solto. O teclado também permite controlar o sistema, alterando, por exemplo, o modo de interação, de navegação pelo AV para manipulação da seringa virtual com o uso do dispositivo mouse, conforme acionamento de teclas. A luva de dados possui cinco sensores, que permitem a captação de informações como a flexão dos dedos e a orientação da mão real [1], que são transferidas ao computador. Da mesma forma que o teclado, indicam o ato de segurar e soltar o órgão pelo usuário. Por último, o dispositivo háptico, que pode imitar um instrumento médico, como seringa ou agulha, capta movimentações e fornece um retorno de força. O termo háptico consiste na ciência do toque, englobando força e sensação propiciadas pelo toque [5]. Desta forma, informações de movimentação do dispositivo, como rotação e translação são enviadas ao computador, e o objeto virtual que representa o instrumento médico é mapeado para as coordenadas da tela do computador. Entretanto, o retorno de força deve ser calculado pela aplicação por meio de fórmulas matemáticas, de acordo com o tipo de objeto e a ação do usuário, e deve ser enviado ao dispositivo para causar sensações táteis no usuário. O dispositivo PHANTOM Omni, visualizado na Figura 4, possui seis graus de liberdade de movimentação Fig. 3. Funcionamento do módulo de interação (translação e rotação nos eixos x, y e z), e três graus de liberdade no retorno de força (x, y, e z) [7]. Fig. 5. Diagrama de camadas do OpenHaptics Toolkit [7] Fig. 4. PHANTOM Omni [7] A inclusão dos dispositivos convencionais foi implementada em linguagem Java. Para a luva e o dispositivo háptico está sendo adotada, além da linguagem Java, e sua a API Java3D, a linguagem de programação C, a fim de permitir o uso dos drivers nativos fornecidos pelos fabricantes. As funções destas bibliotecas que compõem o conjunto de ferramentas OpenHaptics Toolkit, cujo diagrama é visualizado na Figura 5, permitem a programação e o controle do equipamento em alto e baixo nível, por meio de utilitários; da HDAPI (Haptic Device API), que propicia um controle direto do dispositivo; e da HLAPI (Haptic Library API), que propicia a interação entre o equipamento e objetos virtuais, modelados por exemplo, em OpenGL (Open Graphics Library). A integração das linguagens C e Java ocorre por meio do recurso JNI (Java Native Interface), que compõe o JDK (Java Development Kit), e permite que um programa em Java, com a utilização de métodos nativos, chame funções escritas em C, a linguagem nativa neste caso. Para isso, é necessário a criação de bibliotecas de ligação, as chamadas DLLs (Dynamic-Link Libraries) [8]. A Figura 6 mostra o fluxo de informações entre o usuário e o sistema no computador por meio de dispositivos, e o fluxo entre as partes do sistema envolvidas na integração das linguagens, que é promovida pela biblioteca Haptic.dll. Fig. 6 Diagrama de integração e interação Desta forma, a aplicação criada por meio do ViMeT em linguagem Java e Java3D, gera o AV com os objetos, detecta colisões, realiza deformação, enviando informações para o usuário via monitor (movimento dos objetos virtuais por exemplo). Além disso, envia e recebe dados das funções em C (feedback de força e coordenadas), implementadas com o auxílio do OpenHaptics Toolkit, que oferece funções prédefinidas para captar e retornar parâmetros do dispositivo, o qual recebe movimentos e envia sensações ao usuário. 3. AVALIAÇÃO Em paralelo à implementação, está sendo preparada uma avaliação, que deve ser realizada com o auxílio de profissionais de medicina, onde aspectos computacionais e humanos serão levados em consideração. Por isso, para analisar o desempenho do sistema, durante a execução da aplicação, o tempo de resposta do sistema a uma ação do usuário deverá ser computado para cada combinação de dispositivos (mouse e teclado, mouse e luva de dados, equipamento háptico e teclado, equipamento háptico e luva de dados). O objetivo é verificar se a interação não está sendo prejudicada com algum atraso na confecção da cena, ou no retorno de força no caso do dispositivo háptico, pois há a renderização gráfica e a renderização háptica, existe uma combinação de dispositivos em cada de sessão de treinamento, a integração entre Java e C, e a presença de dispositivos não-convencionais. Por exemplo, para o dispositivo háptico é necessário um processamento de informações mais elevado se comparado com o mouse, uma vez que possui seis graus de liberdade, retorno de força. O tempo de execução do procedimento de cada usuário deverá ser calculado para cada combinação de dispositivos, verificando qual combinação adapta-se de forma satisfatória aos usuários. Um questionário dividido em duas partes deve ser usado também: uma antes e outra após o uso da aplicação. A primeira apresenta questões sobre o nível de experiência com dispositivos de RV e aplicações desta natureza, nível de experiência na realização de procedimentos de punção, entendimento da tarefa e entendimento do modo de utilização do sistema. A segunda apresenta questões sobre facilidade de uso, intuição, combinação de dispositivo desejável, grau de realismo, dificuldades encontradas e sugestões. Uma análise dos dados será elaborada, demonstrando o tempo de resposta, o tempo de execução, a comparação entre dispositivos que manipulam o órgão (teclado e luva) e dispositivos que manipulam o instrumento (mouse e equipamento háptico), e a comparação entre combinações de dispositivos. 4. CONCLUSÕES Como resultados até o momento tem-se o funcionamento pleno dos dispositivos convencionais (mouse e teclado) e o funcionamento parcial da luva de dados e do equipamento háptico. Verifica-se, como esperado, que os dispositivos convencionais não produzem a sensação de realismo necessária ao treinamento médico. A avaliação deve apresentar dados interessantes, no entanto, observações preliminares podem ser feitas, como: o dispositivo háptico ser considerado mais intuitivo, e poder atingir um maior grau de realismo que o mouse, além da eficiência da combinação de dispositivos com grau de realismo maio, pois às vezes, pode-se sacrificar desempenho, de forma que não afete a interação, para refinar o envio e recebimento de informações, tornando a aplicação mais próxima do real. Um sistema de RV para auxiliar profissionais de medicina e estudantes da área, pode contribuir na aquisição e aumento de conhecimento, trazendo diversos benefícios, como a diminuição de riscos a saúde dos pacientes, causados pela execução inadequada de procedimentos. As aplicações geradas pelo framework ViMeT permitirá que o desenvolvedor escolha os dispositivos para a aplicação de acordo com a disponibilidade financeira dos usuários. Entretanto, para aproximar-se do real, um retorno de força mais preciso, calculado de acordo com os tipos de tecido do órgão, diversidade de patologias, tratamento da inclinação da agulha no ato da colisão e durante a perfuração do órgão, devem ser implementados. AGRADECIMENTOS Os autores agradecem ao CNPq pelo apoio financeiro (Processo n° 472348/2004-3). REFERÊNCIAS [1] 5DT Fifth Dimension Technologies, disponível em: http://www.5dt.com/hardware.html, acessado em 06/03/2007. [2] A. C. M. T. G. Oliveira, “ViMeT – Um Framework em Java para Aplicações de Treinamento Médico usando Realidade Virtual”, in Proc. 9th SVR Symposium on Virual. and Augumented Reality, Petrópolis, RJ, Brasil, p. 253-262, 2007. [3] D. A. Bowman, LA J. J. la Viola Jr., E. Kruijiff, I. Poupyrev, “An Introduction to 3-D User Interface Design”, in Presence: Teleoperators and Virtual Environments, p. 96-108, 2001. [4] J. Bosch, M. Mattsson, “Framework problems and Experiences”, in M. J. Fayad, R. Johnson, D. Schmidt: Building Application Frameworks: Object-Oriented Foundations of Framework Design, New York: John Wiley and Sons., p. 55-82, 1999. [5] J. M. Burns, A. G. Chila, D. C. Eland, J. N. Howell, JR, R. R. C., M. Srivastava, R. I. Willians, “The Virtual Haptic Back for Palpatory”, in Proc. 6th International Conference on Multimodal. Interraction, p. 191-197, 2004. [6] L. S. Machado, R. M. Moraes, D. F. L. Souza, M. C. O. Valdeck, “SITEG – Sistema Interativo de Treinamento em Exame Ginecológico”, in Proc. 8th SVR Symposium on Virtual. and Augumented Reality, Belém, PA, Brasil, CD-ROM, 2006. [7] SensAble Technologies, Disponível em: http://www.sensable.com, acessado em 06/03/2007. [8] Sun, “Java Native Interface Specification”, Disponível em: http://java.sun.com/j2se/1.4.2/docs/guide/jni/spec/jniTO C.html, acessado em 15/03/2007. INCORPORANDO COLABORAÇÃO COM REALIDADE VIRTUAL E AUMENTADA EM AMBIENTES DE EDUCAÇÃO À DISTÂNCIA Clodonil H. Trigo1, Cláudio Kirner2. 1 – Centro Universitário Adventista de São Paulo 2 – Universidade Metodista de Piracicaba [email protected], [email protected] Resumo - A Educação a Distância é uma estratégia de ensino que ganhou novos espaços com o surgimento da Internet. Nesse contexto, aplicações de Educação a Distância são gerenciadas por Ambientes Virtuais de Aprendizagem com predominância dos aspectos textuais. No sentido de tornar esses ambientes mais potentes e naturais, este artigo apresenta o desenvolvimento de um novo Ambiente Virtual de Aprendizagem, denominado Avadpt, que contém um conjunto de módulos ricos em colaboração e manipulação, como módulo de realidade virtual, realidade aumentada. Esse ambiente é adaptativo, de acordo com o grau de familiaridade do professor com a tecnologia, e pode ser usado separadamente ou em conjunto com outros ambientes como o Moodle. Palavras-Chave – Educação à Distância, Realidade Virtual, Realidade Aumentada, Colaboração. Abstract – As the Internet is growing, distance education has gained newspace as a strategy of teaching. In this context, distance education applications are managed by virtual learning environments. In order to make these environments more powerful and natural, this article presents the development of a new Virtual Learning Environment, named Avadpt, which contains a group of collaboration modules, involving virtual reality, augmented reality and media-center. This environment is adaptive, according to the each teacher expertise in the technology and can be used separately or together with other environments like Moodle. 1 Keywords – E-larning, Virtual Reality, Augmented Reality, Collaboration 1. INTRODUÇÃO A Educação a Distância (EAD) é uma modalidade de ensino que, desde o início do século XIX, tornou-se uma oportunidade positiva para as novas abordagens da aprendizagem [12]. Entretanto, com o surgimento da Internet, uma nova abordagem integrada dos aspectos deficitários dos modelos anteriores foram sanados, como por exemplo, a interação do professor com o aluno. A EAD ideal para alguns pesquisadores é aquela que faz uso das potencialidades e características da Internet [4]. A Internet possibilitou o surgimento de novos cursos à distância no Brasil. Esses cursos começaram a ser oferecidos, através de lista de e-mail, websites de relacionamento, software de mensagens instantâneas até chegar aos software de gerenciamento de cursos, também conhecidos como LMS (Learning Management System) ou AVA (Ambientes Virtuais de Aprendizagem). Os AVA têm que propiciar ferramentas e ambiente para a comunicação síncrona e assíncrona entre aluno e professor. Atualmente, há um grande número de AVA. O portal da UNESCO na Internet relaciona 63 software gratuitos, enquanto o sourceforge, que é o maior repositório de projetos gratuitos em software livre, relaciona 53 projetos, além dos software de empresas especializadas na área. Entre todos os AVA, o Moodle (Modular Object-Oriented Dynamic Learning Environment) [8], tornou-se um padrão de fato, no Brasil, em âmbito federal (acadêmicos) e também entre as universidades privadas. O Moodle contém um conjunto muito amplo de módulos, que na grande maioria é textual. E isso dificulta o desenvolvimento colaborativo, por não possibilitar uma cooperação mais profunda. Para implementar colaboração de maneira eficiente, Realidade Virtual e Realidade Aumentada são usadas como ferramentas de visualização 3D e interação em tempo real. Este artigo apresenta a construção de um novo modelo de AVA que pode ser usado em separado ou complementar ao Moodle, permitindo aos educadores e alunos interagirem e colaborarem, utilizando realidade virtual e realidade aumentada, de forma que o ambiente seja adaptativo de acordo com o grau de familiaridade do professor com a tecnologia. O ambiente, denominado Avadpt, também tem como proposta contribuir com os professores que estão começando a trabalhar com EAD. Ao contrário do Moodle, que é complexo e apresenta-se ao usuário como um todo, o Avadpt, funcionando como um sistema adaptativo, apresenta-se de forma simples ao usuário, expõe gradualmente suas funcionalidades e possibilita o avanço do professor até este estar apto a utilizar o todo. Além disso, o usuário pode usá-lo para complementar o Moodle, selecionando funcionalidades específicas como aquelas voltadas para colaboração. O fator que motivou este projeto é o número baixo ou inexistente de AVA com possibilidade de implementar laboratórios tangíveis com realidade aumentada. Além disso, poucos ambientes virtuais são adaptativos de acordo com o nível de familiaridade do professor com a tecnologia. 1. COLABORAÇÃO EM AMBIENTES DE EAD Colaboração representa o ato de desenvolver ou cooperar trabalhos em conjuntos. Na mesma linha [7], define colaboração como sendo o trabalho conjunto entre duas ou mais pessoas visando o mesmo objetivo. Há algum tempo, percebeu-se que o trabalho em grupo bem estruturado alcança resultados maiores que os obtidos com a soma dos resultados individuais [7]. Além dessas vantagens, a colaboração propicia, aos membros do grupo, um rápido alinhamento dos pensamentos e objetivos, eliminando a inconsistência de raciocínio uns dos outros [7]. Segundo o modelo 3C [7], para existir colaboração é necessário estarem presentes: comunicação, coordenação e cooperação, no mesmo contexto. O modelo 3C funciona porque, com a comunicação, as pessoas compartilham o mesmo problema ou tarefa, assumindo compromissos. Tais compromissos precisam ser coordenados para garantir que sejam cumpridos. Para cumprir os compromissos é necessário resolver problemas e, para tanto, a cooperação entre os participantes é necessária [7]. Após definir os conceitos de colaboração, é necessário delimitar o local e as ferramentas utilizadas para facilitar a colaboração. A colaboração suportada por computador, é uma vertente da colaboração tradicional ou presencial. Groupware ou Sistema de Trabalho Cooperativo Apoiado por Computador (CSCW – Computer Supported Cooperative Work) é o termo utilizado para determinar o suporte tecnológico ao trabalho colaborativo [2]. É possível citar como exemplo de Groupware, correio eletrônico, vídeoconferência, editor de texto colaborativo etc. Na EAD, é possível citar um Ambiente Virtual de Aprendizagem (AVA) como sendo um Groupware - desde que o ambiente ofereça recursos que possibilitem a comunicação, coordenação e cooperação entre usuários. Para existir colaboração, é preciso transformar o acesso dos usuários ao AVA em uma comunidade ativa. Para isso, é necessário que o ambiente ofereça ferramentas que possibilitem a comunicação entre os usuários. Apenas a comunicação não constitui colaboração, conforme o modelo 3C. Portanto, para um AVA ser considerada apta a contribuir com a colaboração entre os usuários, deve conter módulos com as propriedades de comunicação, coordenação e cooperação tanto no modelo síncrona e assíncrona. Com a análise de alguns AVA como: TelEduc, Moodle, Atutor e Dokeos, procurou-se identificar os módulos que cada um disponibiliza para a colaboração. A tabela 1 mostra uma relação de módulos por ambiente. Tabela 1 – Módula por ambiente Os módulos apresentados na tabela 1 possuem nomes genéricos. Alguns AVA apresentam ferramentas com as mesmas funcionalidades, porém com nomes diferentes. Por este fato é necessário definir a funcionalidade básica analisada em cada módulo. Fórum: Segunda [9] o fórum é um ambiente assíncrono de envio de mensagens pela Internet. As mensagens são enviadas para um grupo de pessoas com afinidades no assunto tratado. O fórum é o ambiente perfeito para aprofundamento reflexivo dos assuntos tratado. Chat: Também conhecido de sala virtual de bate-papo, é um módulo que permite a comunicação síncrona entre os participantes. A grande vantagem deste módulo é a possibilidade de um encontro em tempo real para discussão de um assunto. Wiki: Neste projeto, são considerados WIKI todos os módulos que possibilitam desenvolver textos colaborativamente. Vários usuários podem trabalhar em um texto de forma harmoniosa e colaborando entre si. Existem também outros módulos com a mesma tecnologia para desenvolvimento de apresentação. A ferramenta controla a versão e mostra quem alterou o trabalho. Correio: Correio eletrônico possibilita a troca de mensagens entre os usuários. A comunicação entre os usuários é direcional e assíncrono. Arquivos: Os módulos de arquivos devem ter a capacidade de armazenar os arquivos como um disco virtual e também de compartilhar estes arquivos entre os usuários. Possibilitando que outros opinem sobre o arquivo. Vídeo Conferência: A vídeo conferência possibilita uma comunicação síncrona com áudio e vídeo entre os usuários, possibilitando um contato interpessoal. A proposta deste módulo é amenizar a falta de contato interpessoal, decorrente da educação a distância. Áudio Conferência: O módulo de áudio conferência possibilita a comunicação síncrona entre duas pessoas através do som. É possível fazer uma analogia deste módulo com o uso do telefone. A grande vantagem do módulo áudio conferência, em relação à vídeo conferência, está na menor utilização de recursos computacionais. Blog: Este módulo que permite que um texto seja publicado e outros possam emitir opiniões. Em um processo colaborativo, este módulo pode ser utilizado para socializar uma parte do trabalho. Álbum de Fotografia: Este módulo é importante para socializar os membros de um grupo que estão separados. 2. COLABORAÇÃO COM REALIDADE VIRTUAL E AUMENTADA Um ambiente de realidade virtual (RV) é uma representação do mundo real. Assim sendo, o ambiente de realidade virtual multi-usuário representa um mundo mais real comparado à realidade virtual mono-usuário. Isso torna esse ambiente ideal para interações, compartilhamento e cooperação em tempo real através da computação [1]. As habilidades sociais dentro do ambiente de realidade virtual são inerentes ao ser humano, tornando o ambiente propício à colaboração [1]. Os ambientes RV multi-usuários têm apresentado um elevado nível de crescimento. Isso acontece, devido ao grande potencial deste tipo de aplicação, principalmente nas áreas de treinamento e educação. Este tipo de sistema tem a característica de fazer a imersão de usuários geograficamente separados para o mesmo espaço virtual compartilhado. Utilizando a Internet é possível melhorar o desempenho coletivo através da troca de informações [6]. Os ambientes de RV colaborativos proporcionam: sensação de espaço compartilhado, sensação de presença, sensação de tempo, sensação de comunicação e modo de compartilhamento. O acesso multi-usuário simultâneo é uma condição necessária, mas não suficiente para que um ambiente de RV seja um ambiente de realidade virtual colaborativa [1]. Existem vários exemplos de aplicações de realidade virtual colaborativa. Um exemplo é o AVICE (Ambiente Virtual Colaborativo para o Ensino a Distância): Surgiu da necessidade de prover maior interação síncrona entre participantes de um curso a distância [10]. Uma das características do AVICE foi a sua criação baseada na sala de aula tradicional e nos trabalhos de colaboração inerente a ela [10]. Além da realidade virtual, a realidade aumentada (RA) em rede propicia que objetos virtuais sejam compartilhados no espaço real, e que todos possam ter a mesma sensação de espaço, presença e tempo [6]. Além de poder manter comunicação entre o usuário. Um ambiente de RA implementado em rede amplia grandemente a potencialidade de aplicações educacionais. Por proporcionar grande potencial de recursos aos ambientes de aprendizagem, o estudo da RA em ambientes colaborativos têm sido alvo da atenção de muitos trabalhos [3]. Adiante alguns trabalhos para exemplificação dentro desta abordagem: Em [13], é proposto uma aplicação para treinamento industrial colaborativo baseado em RA distribuída. Esta aplicação permite a usuários remotos colaborarem numa tarefa de treinamento por meio do compartilhamento do mundo virtual, onde objetos reais são substituídos por objetos virtuais. Outro trabalho interessante é apresentado por [11], onde é adotado um sistema de computação móvel, por participante, para navegação colaborativa e pesquisa de informações em ambientes urbanos, de forma que se permita maior autonomia em relação ao ambiente compartilhado entre os usuários. O Construct3D [5], é apresentado como proposta para o uso em ambientes colaborativos com RA para o ensino de matemática e geometria. Trata-se de uma ferramenta especificamente designada para estudos em geometria. Com ele, é possível colaborativamente realizar construções geométricas tridimensionais. Também o projeto “Mãos colaborativas com realidade misturada” [6] visa permitir que as mãos de várias pessoas interajam diretamente em ambientes virtuais, construindo-os e alterando-os, de forma que os participantes aprendam fazendo, ao mesmo tempo em que geram resultados para serem usados por outras pessoas que visitarem os ambientes depois de terminando. O projeto consiste na elaboração de um espaço remoto compartilhado, onde usuários podem realizar tarefas colaborativas com suas mãos, interagindo com objetos virtuais. 3. INCORPORANDO COLABORAÇÃO COM REALIDADE VIRTUAL E AUMENTADA EM AMBIENTE DE EAD. O protótipo do AVA desenvolvido com características de ser adaptável ao professor e de possuir colaboração com RV e RA recebeu o nome de Avadpt. O AVA pode ser usado de modo completo, fazendo uso de todos os módulos, ou no modo parcial, em conjunto com outros AVA. O AVA torna-se adaptável ao professor, através de um agente que monitora a freqüência e agilidade do professor no módulo. O agente também utiliza recursos de formulários (questionários) para identificar o nível de usabilidade do professor. Todos os módulos têm três níveis. O primeiro nível para os professores iniciantes com informações e formulários simples, o segundo para professores intermediários com formulários e opções básicas e o terceiro para professores avançados com todas as funcionalidades do módulo. O professor pode optar por escolher o sistema adaptativo ou não. Além da característica de adaptação, o Avadpt conta com os seguintes módulos: Chat: Módulo que implementa um bate-papo entre os participantes do curso. Professor e alunos poderão agendar uma sessão de bate-papo. Poderão ocorrer sessões simultâneas em salas separadas. Chat p2p: Módulo que implementa um chat parecido com as ferramentas de mensagem instantâneas. Apenas dois (2) usuários participam da sessão aberta. Média-Center: A função principal desde módulo é transmissão de vídeo em stream dentro do AVA. Abaixo do vídeo, o aluno terá a opção de registrar os pontos importantes do vídeo e também compartilhar os registros com amigos e professores como mostra a figura 1. Figura 1 – Mídia-Center Fórum: O módulo de fórum foi baseado no modelo do TelEduc. O professor tem autonomia para criar e fechar os fóruns, tornando-os apenas para acesso de leitura. O fórum poderá ser moderado ou sem moderação. No modelo moderado, o professor poderá alterar as mensagens postadas ou apagar mensagens. Já no modelo sem moderação, o professor não poderá alterar os textos e nem apagar mensagens. Além disso, este módulo tem interligação com o módulo do Faq. O Professor poderá escolher perguntas para comporem a Faq. Faq: Os AVA em sua grande maioria utilizam o Faq de forma desinteressante. No Teleduc, por exemplo, o professor tem que cadastrar as perguntas e as respostas no Faq. Analisando a possibilidade de os Faq serem reutilizados, foi proposto um modelo de Faq novo. Ele é construído a partir do Fórum. Portanto, os questionamentos que surgem no fórum corrente podem ser armazenados no Faq. Assim o Faq é construído dinamicamente, dando sentido para a sua existência. O professor poderá editar, no Faq, as respostas dos alunos para ajuntá-las. Realidade Virtual: Esse módulo implementa um ambiente virtual em VRML para desenvolver trabalhos colaborativos. O foco principal é construir ambientes e mundos virtuais pela rede. Os mundos virtuais criados pelos alunos são socializados e disponibilizados para todos os alunos que tenham acesso ao ambiente, podendo incorporar mundos criados em um novo mundo em criação. A figura 2 (a) mostra esse módulo Figura 2 – Módulo de Realidade Virtual e Realidade Aumentada. Realidade Aumentada: O módulo de realidade aumentada possibilita colaboração entre os participantes de um curso, utilizando marcadores em um ambiente compartilhado. Após o término da atividade, o ambiente em RA será salvo e enviado para o professor, para ser visualizado no monitor. A figura 2 (b) mostra um exemplo de aplicação em RA. Também fazem parte do AVA os seguintes módulos: Links, Atividades, Correio, Vídeo Conferência e Avaliação. Os módulos foram escolhidos, levando em consideração o efeito colaborativo que exercerão. Mesmo módulos que não têm apelo colaborativo, foram desenvolvidos procurando implementar métodos de compartilhamento para facilitar a colaboração. 4. CONCLUSÕES Os ambientes virtuais de aprendizagem (AVA) tornaramse a principal ferramenta para a educação a distância pela Internet. Os AVA, em sua grande maioria, foram concebidos para o desenvolvimento de trabalhos textuais. Porém, o desenvolvimento humano necessita de ferramentas avançadas de comunicação interpessoal e ambientes tangíveis para colaboração, visando aproximar pessoas e potencializar a comunicação entre elas. Assim, o Avadpt apresenta-se como uma alternativa diferenciada, que pode ser usada isoladamente ou em conjunto com outros AVA, oferecendo recursos de colaboração, através de ambientes tangíveis com realidade virtual e realidade aumentada. Características como adaptabilidade ao usuário, capacidade de uso conjunto com outros AVA e recursos avançados de colaboração e comunicação interpessoal fazem desta ferramenta uma opção interessante para aplicações avançadas de educação a distância e para apoiar técnicas de ensino presencial mais modernas, compatíveis com o avanço da tecnologia e da Educação. REFERÊNCIAS BIBLIOGRÁFICAS [1] ASSIS, G, A. Ambientes Virtuais Cooperativos E Colaborativos. Instituto De Informática –UFRGS, Porto Alegre, RS, Brasil,2003. Acessado em 2007 e disponivel em hTTP://WWW.INF.UFRGS.BR/~NEDEL/CMP513/12COOPERATIVE-VR-P.PDF [2] COLEMAN, D. (Ed) (1992), Proceedings of Groupware '92, San Mateo, CA: Morgan Kaufmann, pp. 84-90. [3] CALONEGO, N. UMA APLICAÇÂO CLIENTESERVIDOR USANDO ARTOOLKIT. III Workshop de Realidade Aumentada - WRA2006 Realizado na UERJ, Rio de Janeiro, em 2006 (27 a 29 de setembro de 2006). [4] FILATRO. Design Instrucional Contextualizado. Ed. SENAC-São Paulo,,1ª edição. São Paulo, 2004 [5] KAUFMANNAND,H. Mathematics And Geometry Education With Collaborative Augmented Reality. Computers & Graphics, 27(3), 2003. [6] KIRNER, C. Mãos Colaborativas em Ambientes de Realidade Misturada. Anais do WRA2004. Universidade Metodista de Piracicaba. 2005. Acessado em 2004 e disponível em http://WWW.CKIRNER.COM/DOWNLOAD/ANAIS/WRA2004ANAIS/WRA2004-1-36.PDF [7] MITCHELL, L.H. Gestão de Pessoas por Competências no Ambiente AulaNet. Dissertação de Mestrado, Pontifícia Universidade Católica do Rio de Janeiro, 2004. [8] MOODLE, Administrator documentation, 2007, http://docs.moodle.org/en/Main_Page, Agosto de 2007. [9] OLIVEIRA, G.P. O Fórum em um Ambiente Virtual de Aprendizado Colaborativo. Revista Digital de Tecnologia educacional e Educação a distância, Vol2-n1, Outubro de 2005 ISSN 1808-1061 [10] PEIXOTO, M,V. ADVICE: Um Ambiente Virtual Colaborativo Para O Ensino A Distância. Instituto Militar De Engenharia (IME), Rio De Janeiro – RJ Brasil , 2004 [11] REITMAYR,G. Collaborative Augmented Reality for Outdoor Navigation and Information Browsing To appear in Proc. Symposium Location Based Services and TeleCartography 2004 Vienna, Austria, Jan. 2004. [12] RODRIGUES, R. S. Modelo de avaliação para cursos no ensino a distância: estrutura, aplicação e avaliação. Engenharia de Produção, Florianópolis: UFSC, 1998. [13] ZHONG, X, W. Georganas: Collaborative Augmented Reality: A Prototype For Industrial Training. Proc. Of 21st Biennial Symposium On Communications, Canada, June 2002. INTEGRAÇÃO DE TÉCNICAS DE MODELAGEM COM VRML E JAVA PARA CRIAÇÃO DE AMBIENTES VIRTUAIS EM REALIDADE AUMENTADA Rogério Gonçalves da Costa1, João Arthur Gabriel Silva Diniz1, Wender Antônio da Silva1, Marcos Wagner de Souza Ribeiro1, Edgard Afonso Lamounier Júnior2 e Alexandre Cardoso2 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected] [email protected], [email protected] Resumo – Este artigo apresenta a integração de técnicas de modelagem utilizando VRML (Virtual Reality Modeling Language) e Java para criação de ambientes virtuais em Realidade Aumentada, tendo como estudo de caso a utilização de um sistema desenvolvido em Java Applet, que pode ser incorporado a documentos HTML (Hypertext Markup Language) e VRML, gerando em back-end a configuração e posterior apresentação em Realidade Virtual e na Realidade Aumentada os objetos modelados em forma 2D. Palavras-Chave – Computação Gráfica, Realidade Virtual, Java, VRML. Abstract – This article presents the integration of techniques for modeling using VRML (Virtual Reality Modeling Language) and Java to create virtual environments in Reality Increased, and the case study using a system developed in Java applets, which can be embedded in HTML documents (Hypertext Markup Language) and VRML, generating in back-end configuration and subsequent presentation in Virtual Reality and Reality Increased objects modeled in the form 2D. Keywords - Graphic computation, Virtual Reality, Java, VRML. 1. INTRODUÇÃO. Um dos sentidos humanos mais ricos e diversificados é a visão, cuja capacidade de percepção nos faz interagir com o mundo real gerando ações que o mudam constantemente. Atualmente, quando a proliferação da computação atinge todos os setores humanos, a tendência metafórica é justamente atingir o máximo de proximidade com a máquina humana. Temos exemplos da área de inteligência artificial, procurando imitar o cérebro, e de outra, mais atraente, a computação gráfica que procura desenvolver a habilidade visual da máquina. O forte apelo das imagens seduz o ser humano mais do que as palavras, e quanto mais próximo da realidade for o apelo visual, mais confortável e próximo a sua própria realidade o homem se sentirá. Cada vez mais, a computação gráfica tem sido utilizada para a criação de imagens que representam modelos do mundo real. Neste sentido, por meio da realidade virtual, tenta se criar um ambiente no qual a pessoa possa sentir-se imersa total ou parcialmente em um mundo virtual, onde objetos imaginários podem ser sentidos e manipulados. 1.1 Realidade Virtual A expressão Realidade Virtual foi construída sobre a oposição do sentido usual dos seus termos. Segundo o dicionário Aurélio[7], a expressão virtual significa: “Que existe como faculdade, porém sem exercício ou efeito atual. Suscetível de se realizar; potencial”. Portanto, a rigor, real e virtual não são conceitos que se opõem, mas se complementam. Para fechar com a questão das expressões, assinala-se que esta expressão não foi a única que esteve em debate. Assim, podemos encontrar outros termos como realidade artificial, mundos virtuais, ambientes multissensoriais interativos, cyberspace, entre outros. Por meio da realidade virtual, tenta-se criar um ambiente (tridimensional), no qual o usuário tem a ilusão de estar imerso total (Full-imersive) ou parcialmente. Ela consiste de uma combinação de software, computadores de alto desempenho e periféricos especializados, que permitem criar um ambiente gráfico de aparência realística, no qual o usuário pode se locomover em três dimensões. Nele, objetos imaginários, criados por software, podem ser sentidos e manipulados. A realidade virtual é fundamentalmente uma tecnologia de melhoria na interface homem-máquina, e como tal, habilitou a criação de novas ferramentas de resolução de problemas. É essencialmente, um novo meio de comunicação. Ela é a simulação computacional de um ambiente no qual o participante pode penetrar e interagir[4] [5]. 1.2 Java Applet Applet – programas Java que podem ser incorporados documentos Hypertext Markup Language (HTML), isto é, páginas da Web. Quando um navegador carrega uma página da Web contendo um applet, o applet é baixado no navegador Web e executado. O navegador que executa um applet é genericamente conhecido como contêiner de applets . O JDK (Java Development Kit) inclui o contêiner de applets appletviewer para testar applets à medida que eles são desenvolvidos e antes de ser incorporados a paginas da Web[1]. 1.3 VRML Característica básica de VRML são arquivos que simulam mundos em 3D, na verdade é uma descrição textual, na forma de textos ASCii. Assim por meio de qualquer processador de texto, um desenvolvedor pode conceber tais arquivos, salvá – los e visualizar resultados no navegador de Internet associado a um plug-in. Estes arquivos definem como estão as formas geométricas, as cores, as associações, os movimentos, enfim, todos os aspectos relacionados com a idéia do autor. Quando um dado navegador – browser – lê um arquivo de extensão .wrl, o mesmo constrói o mundo descrito, ativando um plug-in compatível. De forma simplificada um arquivo VRML se caracteriza por quatro elementos principais: - o cabeçalho, os protótipos, - as formas, interpoladores, sensores, scriptes e as rotas. Assim um arquivo pode conter 1 – Header; 2 – Prototypes; 3 – Shapes, Interpolartors, Sensors, Scripts; 4 – Routes. Mas nem todos os arquivos contêm todos estes componentes. Na verdade o único item obrigatório em qualquer arquivo VRML é o header. Porém, sem pelo menos uma figura, o navegador não exibiria nada ao ler o arquivo. visualização por meio da Realidade Aumentada em tempo real. 2.2 Sweep Sweep é definido por uma área 2D movida ao longo de um caminho normal ao plano da área para criar um volume. Este tipo é conhecido como sweep translacional, técnica de varredura linear ou extrusão. Algumas extensões envolvem escalar a outra face para fazer objetos de formato cônico. O Sweep rotacional, também, chamado de superfície de revolução ou torneada, é definido pela rotação de uma área sobre um eixo. O sweep é uma maneira natural e intuitiva de construir uma variedade de objetos. Por esta razão, muitos sistemas de modelagem permitem ao usuário construir objetos por sweep[5]. 2.3 Representação de Limites 1.4 Realidade Aumentada Realidade Aumentada é definida usualmente como a sobreposição de objetos virtuais tridimensionais, gerados por computador, com um ambiente real, por meio de algum dispositivo tecnológico. Entretanto, esta conceituação é muito geral e só fica clara com sua inserção em um contexto mais amplo: o da Realidade Misturada. A Realidade Misturada, misturando o real com o virtual, abrange duas possibilidades: a Realidade Aumentada, cujo ambiente predominante é o mundo real, e a Virtualidade Aumentada, cujo ambiente predominante é o mundo virtual. Pode-se dizer, então, que a Realidade Aumentada é uma particularização da Realidade Misturada. A figura 4 apresenta o que é realidade Aumentada, mostrando as possibilidades gradativas de sobreposição do real com o virtual e vice-versa[6]. 2. MÉTODOS APLICADOS A metodologia usada para o desenvolvimento desta pesquisa foi baseada em um sistema cujo seu papel principal é por meio de técnicas e algoritmos transformar simples pontos em uma imagem e formas na realidade virtual, tendo como objetivo a implementação e melhoramento, tanto no visual como na aplicação de objetos 3D[1],[5]. Um trabalho motivador para esta pesquisa foi a monografia de Silva[5] onde o mesmo trabalhou Java integrado com o VRML, também podemos destacar a bibliografia de Deitel[1] que trata também da incorporação Applet e da criação de desenhos planos. 2.1 Estudo de Caso O estudo de caso aborda uma melhoria na solução de Silva[5] para a funcionalidade de uma aplicação, onde utiliza-se de técnicas complexas para formações de objetos 2D para 3D, onde movendo-se um objeto ao longo de uma trajetória do espaço pode – se definir um novo objeto por meio de técnicas chamadas de representação de limites, representação por decomposição volumétrica e sweep[5]. Assim, este artigo integrará ao mesmo a funcionalidade da O modelo por representação de limites define um sólido indiretamente por meio da representação das suas superfícies limitantes. São baseados em uma visão orientada para superfícies, em outras palavras, eles representam um objeto sólido através da subdivisão deste objeto em faces. Um modelo por representação de limites é considerado válido se ele consegue definir os limites de um objeto sólido. Deste modo, os critérios de validade de um modelo por representação por limites incluem as seguintes condições: 1. O conjunto de faces que compõem o modelo se fecham, ou seja, formam um invólucro completo em torno do objeto a ser representado e sem partes pendentes; 2. As faces do modelo não interseccionam outras faces, exceto as faces que possuem vértices e arestas em comum; 3. As faces são superfícies simples que não se auto-interseccionam. A primeira e a segundas condições excluem objetos que se auto-interseccionam, e a terceira condição exclui objetos abertos como, por exemplo, uma caixa aberta. Computacionalmente é conveniente dividir uma superfície do modelo em faces, sendo que cada face é limitada por um conjunto de vértices e arestas. Os limites de um objeto podem ser divididos em faces, vértices e arestas de forma ilimitada, ou seja, não existe uma forma única de representar os limites de um objeto. Modelos por representação de limites são difíceis de se descrever diretamente, porém é possível utilizar recursos gráficos e interativos para facilitar o projeto de objetos por representação de limites[5]. 2.4 Representação por decomposição volumétrica Este é um modelo por decomposição (SpatialPartioning), ou seja, os sólidos são descritos através da união de blocos básicos. Primitivas podem variar no tipo, tamanho, posição, parametrização e orientação, e a maneira como os blocos são combinados é que distingue cada variação deste esquema de representação[5]. 3. IMPLEMENTAÇÃO DO SISTEMA Este trabalho tem por objetivo a integração de técnicas de modelagem com a VRML, por meio da implementação prática de um software. Após a escolha das técnicas de modelagem, o passo seguinte foi à escolha da interface. Foi decidida a criação de um sistema de modelagem com uma interface simples de usar, onde o usuário “desenha” seus próprios polígonos para gerar os objetos em realidade virtual e aumentada. A linguagem de programação escolhida para realizar a implementação de um sistema de modelagem que crie objetos VRML, foi à linguagem Java da Sun Microsystems, uma linguagem portátil independente de plataforma ou Sistema Operacional onde pode ser agregado em páginas da Web. Com essa integração de ferramenta é possível que objetos planos feitos em 2D se transformem em Objetos Virtuais 3D. 3.1 Aplicação Para que se possa gerar objetos em RA (Realidade Aumentada) é necessário utilizar o RAVWorks como aplicação. A figura a seguir mostra a interface do programa sendo utilizado como aplicação: Fig.2. RAVWorks Objeto Polígono A figura seguinte mostra como ficou o objeto polígono desenhado anteriormente, que por meio da integração do Java, VRML e as técnicas supracitadas[5], foi possível a transformação de um objeto 2D para 3D modelado em VRML, sendo que todo este processo é feito automaticamente, bastando clicar no botão Gerar RA, fazendo com que o sistema gere o objeto 3D e integre com a ferramenta ARToolkit. Fig.1. RAVWorks como aplicação. A área em branco é o local onde são desenhados os polígonos que gerarão os objetos. Para desenhar um polígono, basta clicar com o mouse em pontos desta área, marcando os pontos que definem os vértices deste. Quando esta área estiver em branco, ao clicar o mouse sobre ela, a posição inicial do polígono será marcada. E, arrastando o mouse com o botão pressionado, resultará na criação de uma aresta para o polígono. Para inserir um novo ponto, gerando uma nova aresta ao polígono gerador para o sweep[5], basta clicar com o mouse e mover até a localização desejada. As coordenadas são mostradas na barra de status na medida em que o mouse é arrastado, conforme demonstrado na figura 2. Fig. 3. RAVWorks Objeto Gerado em 3D (VRML) A figura 4 mostra como ficou o objeto gerado em 3D, que com a integração da ferramenta ARToolkit, é feito e projeção do Objeto em um marcador. Estudos visando à implementação dos itens citados acima estão em andamento. 5 REFERÊNCIAS BIBLIOGRÁFICAS [1] JAVA COM PROGRAMAR 6º Edição, Harvey M. Deitel e Paul J. Deitel <www.deitel.com >. [2] SITE WIKIPEDIA, A enciclopédia livre. <http://pt.wikipedia.org>. Acesso em: 20 setembro 2007. [3] PINHO, Márcio Serolli. Textos e artigos sobre RV Disponível em: <http://www.pgie.ufrgs.br/siterv/introducao.htm>. Acesso em: 21 setembro 07. Fig.4. Objeto Gerado em RA (Realidade Aumentada) 4 CONCLUSÕES E TRABALHOS FUTUROS 4.1 Conclusões A integração de sistemas de modelagem com a VRML com a realidade aumentada é bastante natural, já que esta linguagem permite a criação de objetos complexos por meio da definição das faces destes objetos, como foi descrito neste artigo. A interface do sistema de modelagem desenvolvido junto a este artigo é bastante simples de usar, podendo o software ser usado por qualquer pessoa que tenha uma certa noção de RV (Realidade Virtual), não precisando recorrer a grandes, pesados e complicados sistemas de computação gráfica. No sistema de modelagem RAVWorks, o usuário desenha seus próprios polígonos para gerar os objetos pelas técnicas de modelagem descritas, transformando objetos 2D em objetos 3D no formato VRML e em seguida projetando o Objeto em um marcador e gerando uma imagem RA. O RAVWorks, também é uma ferramenta valiosa para pessoas que queiram examinar na prática a técnicas de modelagem e a visualização de objetos em realidade aumentada, um sistema bastante simples. 4.2 Trabalhos Futuros Apesar deste sistema ser capaz de construir uma grande variedade de objetos, existem algumas melhorias que poderão ser feitas futuramente, visando aperfeiçoar o trabalho desenvolvido até o presente. Algumas destas melhorias são: • Substituição da Interface de aplicação Java Applet para Java 2D. • Desenho de curvas e primitivas como círculo, retângulo, elipse, entre outras; • Definir cor, transparência, reflexão e textura dos objetos gerados; • Alterar a proporção pixels/m, fazendo uma transformação de escala no objeto gerado; • Permitir a operação com mais de um objeto, unindoos para formar um outro objeto qualquer. • Fazer o editor gráfico com janela virtual, possibilitando zoom e panning; [4] Home Page Prof. Alexandre Cardoso, - Ano 2007 <http://www.alexandre.eletrica.ufu.br/ > Acesso em: 22 setembro 07. [5] ATSWORLDS, Integração de Técnicas de Modelagem com a VRML, <http://www.inf.unisinos.br/~osorio/ATSWorlds.html>. Acesso em: 24 setembro 07. [6] SITE REALIDADE AUMENTADA, <http://www.realidadeaumentada.com.br/home/>. Acesso em: 24 setembro 07. [7] DICIONÁRIO AURÉLIO, Dicionário da Língua Portuguesa. [8] SITE ARTOOLKIT, <http://www.hitl.washington.edu/artoolkit/>. Acesso em: 25 setembro 07. O USO DA REALIDADE VIRTUAL NÃO-IMERSIVA COMO INSTRUMENTO DE AUXILIO NO TRATAMENTO DA AVIOFOBIA Danielly Cristine de Medeiros1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior2, Alexandre Cardoso2, Luciano Vieira Lima2 e Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo - A fobia é um sentimento de medo injustificável, ansiedade persistente, intensa e irrealística, sentimento o qual surge quando o fóbico se depara com a situação causadora de sua fobia. Este artigo apresenta uma aplicação em Realidade Virtual para auxiliar o tratamento de superação de aviofobia, o ambiente em Realidade Virtual possui três níveis de interação e de dificuldades para o paciente fóbico. Palavras-Chave – Aviofobia, Fobia, Realidade Virtual, Computação Gráfica. Abstract – Phobia is an unjustified fear, a constant anxiety, an intense and unrealistic feeling that manifests when a phobic person is faced with a situation that triggers the phobia. This article presents the application of Virtual Reality as a means to help overcome flight phobia. The virtual reality environment has three levels of interaction and challenges for the Phobic patient. Keywords - Phobia of Airplane, Phobia, Virtual Reality, Graphical Computation. 1. INTRODUÇÃO A fobia é um sentimento de medo, injustificado e desproporcional, que se intromete persistentemente no campo da consciência e se mantém ali, independentemente do reconhecimento de seu caráter absurdo. A característica essencial da Fobia consiste num temor patológico que escapa à razão e resiste a qualquer espécie de objeção, temor este dirigido a um objeto (ou situação) específico [2]. A fobia não é causa de nada, mas sim conseqüência; é o reflexo de alguma angústia interna, e em princípio deve ser tratada como tal, ou seja, deve-se tratar a angústia que causou e não a fobia em si. Tratandose e curando a angústia estará curada a fobia [5]. Por esse motivo a fobia não tem uma causa real (trauma real) ela apenas existe simbolicamente. Se ela tiver uma causa real como, por exemplo, medo de dirigir por causa de um acidente de carro, ela deixa de ser uma fobia e passa a ser considerada um “comportamento evitativo”. São várias as situações fóbicas freqüentes: injeções ou pequenas cirurgias, viajar sozinho de carro ou ônibus, viajar de avião, entre outros [6]. Assim, o presente estudo abrange o uso da Realidade Virtual no tratamento de aviofobia, sendo que o problema norteador basear-se-á na seguinte questão: indivíduos podem superar aviofobia com o auxilio da Realidade Virtual? Este trabalho abrange o desenvolvimento de um protótipo de um software como instrumento de auxilio no tratamento de aviofobia por meio da Realidade Virtual não-imersiva. 1.1 AVIOFOBIA O medo de voar é muito freqüente. Algumas pessoas têm medo de acidentes aéreos, mas mesmo assim, não evitam o vôo. Outras desenvolvem uma fobia, porque evitam o vôo. Não conseguem sequer entrar num avião [10]. De acordo com o IBOPE1 – Instituto Brasileiro de Opinião Pública e Estatística (1998), em torno de 42% da população brasileira tem medo de viajar de avião. O medo de avião não é exclusividade de quem nunca viajou de avião. Ele afeta indiscriminadamente, os passageiros novatos e veteranos. É um pânico muitas vezes inexplicável que se manifesta de diferentes formas. Para quem tem aviofobia (fobia de avião), não adianta explicar que apenas um entre milhões de vôos acabará em desastre, o fóbico sempre viverá na expectativa de que o vôo fatídico será justamente o dele. 1.2 REALIDADE VIRTUAL A Realidade Virtual pode empregar várias técnicas para reproduzir o mundo real e imaginário e possibilitar a manipulação e visualização de informações no computador como se estivesse no mundo real. Kirner e Siscoutto [9], afirmam que a Realidade Virtual é uma “interface avançada do usuário” para acessar aplicações executadas no computador, proporcionando a 1 Disponível em http://www.ibope.com.br/opp/pesquisa/opiniaopublica visualização, movimentação e interação do usuário, em tempo real em ambientes tridimensionais gerados por computador. Assim pode-se entender que Realidade Virtual permite a criação de uma interface homem – maquina, natural e poderosa, possibilitando ao usuário interação, navegação e imersão em um ambiente tridimensional sintético, gerado pelo computador por meio de canais multisensoriais dos cinco sentidos (visão, audição, tato, olfato e paladar). 2. Outro interessante trabalho é o de Medeiros [6], onde foram criados cinco cenários: Túnel, metro, aeroporto/avião, elevador e ônibus, e em sua maioria, foram feitos pensando em transtornos, agorafóbicos, sendo útil para outras formas de fobias, como a aviofobia, conforme podemos observar nas figuras 3 e 4, mas com alguns acertos futuros, será possível abranger maior número de fobias e com maior eficácia. TRABALHOS REALCIONADOS Já existem alguns trabalhos usando a Realidade Virtual para o tratamento de fobias, e destacamos alguns, onde se pode constatar a sua eficiência no tratamento de várias formas de fobias. No artigo denominado "Using Augmented Reality to Treat Phobias - Usando a realidade aumentada para o tratamento de fobias" [1], é demonstrada a criação de um protótipo para o tratamento de desordens psicológicas (fobias de aranhas e baratas). E conforme a figura 1, abaixo, pode se notar que apresentaram resultados positivos, sendo suas aplicações úteis como uma ferramenta terapêutica para várias outras desordens psicológicas. Fig. 3 - Janela do Aeroporto- (Medeiros, 2006) Fig. 4 – Guichês no Aeroporto - (Mauch, 2006) Valério Neto [8] em seu artigo “Realidade Virtual aplicada ao tratamento de fobias” apresenta um estudo de caso utilizando a Realidade Virtual para o tratamento de aviofobia, onde se constatou resultados positivos no que diz respeito à diminuição da ansiedade. A exposição dos pacientes a estes ambientes tem se mostrado eficaz e apresenta vantagens em relação à exposição ao ambiente real. Fig. 1 – Realidade Aumentda (Alcañiz e Monzserrat, 2005) No estudo de caso "Superação de fobias por meio do uso da Realidade Virtual" [5], pode-se concluir que a Realidade Virtual é mais uma forma válida e bastante útil para ajudar tanto paciente quanto psicólogos nos tratamentos de fobias. Em outro artigo “Realidade Virtual aplicada ao tratamento de fobias” [8] é apresentado um estudo de caso que se utiliza da Realidade Virtual para o tratamento de fobia de altura, onde foi modelado ambiente conforme as figura 2, o qual obteve resultados positivos no que diz respeito à diminuição da ansiedade. 3. No desenvolvimento metodológico desse trabalho, foram seguidos alguns procedimentos, como levantamento bibliográfico do assunto aviofobia e do ambiente desenvolvido. Para que desta forma, logo após analisar esses dados, pudéssemos dar inicio ao desenvolvimento, modelagem do ambiente proposto. Como universo deste trabalho, contamos com o tratamento de pessoas com transtornos fóbicos, desta forma a população trata-se especificamente pessoas com aviofobia. Onde nossa amostragem é composta de pessoas que tem medo de viajar de avião do ILES-ULBRA. Para o desenvolvimento do sistema, utilizamos de conceitos de Realidade Virtual, ligados a percepção sensorial, hardware, software, interface com o usuário, fatores humanos e aplicações. 4. Fig. 2 - Ambiente Virtual 1 - (Mauch, 2002) DESENVOLVIMENTO METODOLÓGICO IMPLEMENTAÇÃO DO SISTEMA Foi desenvolvido um sistema em um ambiente não-imersivo, o qual com auxílio de todo desenvolvimento metodológico e de periféricos como, mouse óptico, caixinhas de som e/ou fones de ouvido, pudéssemos dar maior sensação real de imersão ao paciente que estiver sendo exposto ao a este ambiente. Para tal façanha contamos com sons como de turbina do avião, som de decolagem e pouso, sons como se estivesse ocorrendo turbulências no vôo, e um vídeo. E como ferramenta de modelagem, utilizou o Flux Studio, juntamente com o VRML, justifica-se a escolha desta ferramenta de modelagem é o fato da mesma não gerar códigos tão extensos e por possuir uma grande diversidade de funcionalidades técnicas, e também pelo fato de nos oferecer uma grande gama de recursos, assim facilitando o processo de modelagem. Mas outro aspecto importante para a escolha do Flux Studio, é que ele permite importar e exportar objetos para os principais formatos tridimensionais existentes, onde um deles é o **. wrl, uma extensão do VRML, o qual é a nossa linguagem de programação. O VRML (Virtual Reality Modelating Language) é uma linguagem de programação destinada à criação de ambientes virtuais em 3D (3 dimensões), onde permite a interação e imersão do usuário com o ambiente desenvolvido. Deve-se ressaltar que o VRML, é uma linguagem que permite visualização em browser, onde é necessário que se tenha ou realize apenas a instalação do plug-in escolhido, sendo o nosso caso o “cortona”, a linguagem também se trata se uma linguagem livre. O ambiente virtual possui objetos como: a pista, a escada para acesso a aeronave, visão frontal da parte interna da mesma, e uma visão externa da aeronave por meio de uma janela do avião. 4.1 FUNCIONAMENTO DO SISTEMA O simulador desenvolvido é um sistema de Realidade Virtual não-imersiva, que possibilita ao profissional de psicologia e usuários, treinar e testar todos os níveis de fobia, no tratamento da aviofobia. Existem três, níveis: 1- O paciente é exposto até escada da aeronave, 2- O paciente adentra a aeronave, 3- O paciente decola na aeronave. Cada etapa da simulação é responsável em auxiliar o psicólogo a medir o grau de fobia do paciente, onde assim o mesmo a cada melhora vai conseguir passar de nível até que finalize o último nível e tendo a sua fobia superada. - Nível 1: permite estudar e avaliar o paciente, observando suas reações diante a aeronave. A avaliação é realizada pelo profissional, o qual ao perceber a evolução do paciente, permite que ele passe ou não para o próximo nível. - Nível 2: permite estudar e avaliar o paciente, observando suas reações dentro da aeronave. Onde o paciente sempre terá na sua visão frontal, um corredor onde ele caminha para sua devida poltrona, com o auxilio de uma rota pré-definida e/ou utilizando-se da interação existente no VRML, onde se pode navegar com mouse ou teclado. - Nível 3: permite estudar e avaliar o paciente, observando suas reações diante a aeronave. Neste nível o paciente já fica sentado ao lado da janela e começa a ver por meio da mesma um ambiente (vídeo), de forma que ele perceba que o avião irá decolar. Desta forma o profissional começa a observar as reações que o paciente tem durante esse vôo, nessa viagem que ele faz pelo mundo virtual. Como já foi dito anteriormente, o paciente conseguindo superar todos esses níveis de complexidades fóbicas, o mesmo deverá acompanhado de um profissional ficar em observação. Dentro do ambiente no nível 1, o usuário navega por meio do teclado, já no nível 2 como foi dito ele navega por meio de rotas pré-definida ou ainda teclado e mouse, e no nível 3 o avião somente irá decolar quando o paciente ou psicólogo acionar o botão de decolagem. Os níveis foram definidos de acordo com sua funcionalidade, o mesmo obedece a uma seqüência de realização do procedimento real. Uma vez que o objetivo do simulador é oferecer um auxilio no tratamento de aviofobia. E importante destacar que a implementação do sistema foi acompanhada por profissional da área de psicologia, assim sendo, o mesmo foi validado e testado pelo psicólogo. As figuras abaixo 5,6 e 7 representam parte do sistema em que o usuário navega. Na figura 5 temos toda parte externa, onde o mesmo caminha até o avião, se o paciente tiver um bom resultado ele ativa uma escada a qual ele terá acesso a parte interna do avião que aqui é representada pela figura 6 e 7, na figura 6 tem a janela do avião, por meio deste ele observa um ambiente o qual é um vídeo de uma decolagem e de uma aterrissagem para que assim ele possa se sentir no ambiente mais real possível, já a figura 7 é apenas uma demonstração da parte interna. Fig. 5 – Ambiente externo Fig. 6 – Janela do avião - Visão da decolagem (vídeo) com o ambiente virtual, mas também com os outros usuários que estejam on-line. É importante também criar ferramentas de comunicação (chat) que permitam a comunicação entre os usuários. Fig. 7 – Parte interna da aeronave 5. AVALIAÇÃO E RESULTADOS Durante a realização do procedimento de avaliação dos fóbicos foi possível observar que o mesmo sente o mesmo pânico (medo) como no ambiente real. O simulador foi apresentado a dois profissionais de psicologia e a um grupo de indivíduos fóbicos. Os pacientes foram expostos aos mesmos ambientes, com exposição virtual, onde foi apresentado uma ambiente tri-dimensional, conforme as figuras 5 e 6 acima. Os testes consistiam de sessões de uma hora de duração cada, na freqüência de uma sessão por semana. Todos os procedimentos foram realizados com o acompanhamento de um dos profissionais (psicólogos). Os pacientes expostos passaram por uma série de testes, realizados antes do tratamento (para avaliar a intensidade da fobia) esses testes foram analisados por profissionais da área de psicologia e durante o tratamento (para avaliar a ansiedade durante a exposição à condição do medo) e por último depois do tratamento (para avaliar a permanência dos ganhos obtidos com a terapia). Foi possível observar que os resultados de uma forma geral, os ganhos obtidos em ambos os métodos de exposição foram semelhantes, e que a ansiedade dos pacientes no grupo tratado com exposição virtual é menor quando sé é realizada a sessão in vivo (no ambiente real). 6. CONCLUSÃO Pode-se concluir que a Realidade Virtual é mais uma forma válida e bastante útil para ajudar tanto paciente quanto psicólogos nos tratamentos de vários tipos de fobias. Apesar de a terapia tradicional conseguir bons resultados, mostra-se necessário o desenvolvimento de novas ferramentas que encorajem estas pessoas a procurar o tratamento, que possuam características que podem ultrapassar os resultados obtidos pelos tratamentos convencionais. Espera-se que o desenvolvimento do protótipo possa auxiliar satisfatoriamente psicólogos no tratamento de pacientes que sofram de aviofobia, lhes proporcionado melhor qualidade de vida. 7. TRABALHOS FUTUROS Existem alguns pontos considerados essenciais, que devem ser tratados na continuação deste trabalho. Um ponto crucial é criar um sistema com arquitetura distribuída, que permita ao usuário interagir não somente REFERÊNCIAS BIBLIOGRÁFICAS [1] ALCAÑIZ, Mariano; MONSERRAT, Carlos, Using Augmented Reality to Treat Phobias. Disponível em: <http://www.computer.org/publications/dlib>. Acesso em: 15 mai. 2007, 14h30min. [2] BALLONE, Geraldo J. Medos, fobias e outros bichos. Disponível em: < http://gballone.sites.uol.com.br/voce/medos.html >. Acesso em: 10 mai. 2007, 14h00min. [3] CARDOSO, Alexandre. Realidade Virtual. Disponível em: <http://www.compgraf.ufu.br/alexandre/rv.htm>. Acesso em: 13 mai. 2007, 20h40min. [4] MAGALHÃES, Fernando Lima. Fobias e Medos. Disponível em: <http://tvtel.pt/psicologia/page21.htm>. Acesso em: 29 abr. 2007, 23h50min. [5] MAUCH, Gustavo Huff. Superação de fobias através do uso de Realidade Virtual. Disponível em: <www.inf.ufrgs.br/nedel/emp513/17. phobiap.php>. Acesso em: 21 mai. 2007, 13h30min. [6] MEDEIROS, Gustavo Adolfo de. Sistema de Realidade Virtual para Tratamento de Fobia. Dissertação de mestrado em Ciências da Computação, Universidade Federal do Rio de Janeiro, setembro de 2006. [7] PRADO, Gilberto, et. al. Virtual Reality Modeling Language. Disponível em: <http://ftp.unicamp.br/pub/apoio/treinamentos/vrml/>. Acesso em: 07 jun. 2007, 17h03min. [8] VALÉRIO NETO, Antonio. Realidade Virtual aplicada ao tratamento de fobias. Organizado por: TORI, Romero; KIRNER, Cláudio; SISCOUTTO, Robson. Fundamentos e tecnologia de Realidade Virtual e aumentada. Belém, VIII Symposium on Virtual and Augmented Reality, Maio de 2006. [9] CARDOSO, Alexandre. ET. al. Tecnologias para o desenvolvimento de sistemas de Realidade Virtual e aumentada. Recife: Ed. Universitária da UFPE, 2007. [10] CECILIA, Sandra. Fobias. Disponível em: <http://www.spiner.com.br/modules. php>. Acesso em: 13 mai. 2007, 01h27min. ODE4PPC: APLICAÇÕES GRÁFICAS COM SIMULAÇÃO FÍSICA NA PLATAFORMA POCKET PC Daliton da Silva1, João Marcelo Teixeira1, Veronica Teichrieb1, Judith Kelner1 1 Centro de Informática – Universidade Federal de Pernambuco (UFPE) Av. Prof. Moraes Rego S/N, Prédio da Positiva, 1º Andar, Cidade Universitária, 50670-901, Recife, Pernambuco {ds2, jmxnt, vt, jk} @cin.ufpe.br Resumo – Este artigo apresenta um porte para a plataforma Pocket PC do Open Dynamics Engine, um motor de simulação de física em tempo real, bastante utilizado para desenvolvimento de aplicações 3D interativas. O código original da biblioteca foi modificado para permitir a sua execução na plataforma móvel. O porte, chamado ODE4PPC, foi validado e avaliado em tempo de execução através da realização de alguns testes. Novas otimizações serão implementadas para melhorar o desempenho obtido, em uma nova versão. Palavras-Chave – Física, ODE, Pocket PC, Simulação. Abstract – This paper presents a port of the Open Dynamics Engine to the Pocket PC platform. This engine is a real time physics simulation library, often used for interactive 3D applications development. The original library source code was modified in order to allow its execution in the mobile platform. The port, named ODE4PPC, was analyzed and evaluated in runtime by performing some tests. Future optimizations will be implemented in order to improve the obtained performance. Keywords – Physics, ODE, Pocket PC, Simulation. 1. INTRODUÇÃO O desenvolvimento de aplicações gráficas exige conhecimento de diversas áreas das ciências exatas, principalmente quando estas aplicações envolvem simulação de comportamentos e fenômenos do mundo real [1]. Dentre estes conhecimentos pode-se citar a álgebra linear, base fundamental dos sistemas de renderização, e a física, necessária quando se deseja que as entidades do ambiente simulado se comportem de acordo com as leis físicas que regem o mundo real. A física tem despertado atenção especial no desenvolvimento de aplicações 3D. Mais do que gráficos com alto nível de detalhamento, existe atualmente um apelo muito grande pela fidelidade em relação ao comportamento físico dos objetos presentes nos jogos e aplicações 3D em geral. Devido a este fato, nos últimos anos houve o surgimento de novas bibliotecas, e até de hardware dedicado voltado exclusivamente para processamento físico [2]. Estas bibliotecas são responsáveis por prover uma interface de programação que facilite e automatize até certo ponto os cálculos de posição, rotação, velocidade, entre outros, dos corpos envolvidos em uma simulação. Este suporte varia de acordo com a biblioteca utilizada, podendo abranger desde dinâmica de corpos rígidos até simulação de fluidos e objetos deformáveis [1]. Este artigo descreve o desenvolvimento do ODE4PPC, que é um porte de uma destas bibliotecas, a Open Dynamics Engine (ODE) [3], para a plataforma Pocket PC. A biblioteca ODE funciona como um simulador de corpos rígidos articulados. Este porte abrirá espaço para o desenvolvimento de aplicações, para Pocket PC, que envolvem conceitos de simulação física. Na seção 2 são apresentados alguns trabalhos relacionados com a execução de algoritmos de física em dispositivos móveis. A seção 3 traz uma descrição detalhada das características e da arquitetura da biblioteca ODE. A seção 4 descreve o passo a passo do desenvolvimento realizado para portar o ODE para a plataforma Pocket PC, enquanto a seção 5 lista os resultados obtidos. Por fim, a seção 6 faz algumas considerações finais e direciona as próximas atividades a serem realizadas. 2. TRABALHOS RELACIONADOS Dentre as diversas bibliotecas de simulação física existentes, uma tem se destacado entre os desenvolvedores: a AGEIA PhysX [2]. Esse destaque ocorre devido a sua facilidade de uso, estabilidade, robustez e amplo suporte, o qual inclui simulação de sistemas de partículas e tecidos. Além da biblioteca de física, a AGEIA desenvolveu um hardware co-processador de física, ou Physics Processing Unit (PPU). Este novo tipo de hardware é responsável por executar a maior parte dos numerosos cálculos envolvidos na simulação física. É importante observar que o uso de um hardware específico para o processamento físico tem como principal conseqüência a possibilidade de simulações com maior riqueza de detalhes. Não necessariamente busca-se um incremento na velocidade da simulação. Visando a demanda existente com os dispositivos móveis, a AGEIA lançou uma versão deste hardware específica para notebooks, a AGEIA PhysX 100M, que pode ser vista na Figura 1. Ela foi otimizada focando dois objetivos principais: redução de tamanho e consumo de energia, o qual gira em torno de apenas 10W quando em pleno funcionamento. Outra biblioteca que fornece suporte de física para dispositivos móveis é a Mobiola 3D Engine [4]. Ela funciona de forma similar a outras bibliotecas de física na plataforma PC. A Mobiola suporta gráficos realistas, possui um sistema de som eficiente, física de alto nível de precisão, entre outras funcionalidades, mesmo em dispositivos com poder de processamento limitado. Pode ser utilizada em telefones celulares ou computadores de mão baseados nas plataformas Symbian OS, Windows Mobile, Linux e Brew. instante. Este mesmo conceito pode ser aplicado às ilhas, onde também é possível desabilitar todo um grupo de objetos cujo processamento não é relevante em um determinado momento. 3.2. Juntas Fig. 1. AGEIA 100M. PPU para Notebooks. A desvantagem mais evidente dessa biblioteca encontra-se no fato da mesma não possuir versões gratuitas, o que impossibilitou a realização de testes comparativos de desempenho com o trabalho desenvolvido pelos autores deste artigo. Seu motor de física suporta simulação de corpos rígidos, diferentes métodos de detecção de colisão com precisão adequada, dependendo da necessidade do usuário, simulação de atmosfera, simulação de aeronaves baseada em elementos aerodinâmicos, entre outras características. Não foi encontrado pelos autores nenhum motor de física para Pocket PC que apresentasse versões gratuitas ou código aberto. Isso implica dizer que, quando finalizado, o ODE4PPC se destacará na comunidade por ser um motor de física, gratuito e de código aberto, para a plataforma Pocket PC. 3. ODE: OPEN DYNAMICS ENGINE O ODE foi desenvolvido para utilização em aplicações de tempo real, que demandam o favorecimento da velocidade de processamento em prol da precisão da simulação física. Devido a esta característica, o ODE foi a biblioteca considerada mais adequada ao porte para a plataforma Pocket PC. As seções seguintes trazem uma descrição rápida das principais características do ODE. 3.1. Corpos Rígidos O ODE suporta apenas a simulação da dinâmica de corpos rígidos, ou seja, não fornece suporte a objetos deformáveis, sistemas de partículas ou fluidos. No ODE, um corpo rígido reúne uma série de características que podem sofrer mudança com o tempo (posição, velocidade, orientação, etc.) e outras que não são alteradas, como massa e posição do centro de massa do objeto. Existe no ODE o conceito de ilha, uma otimização de processamento que agrupa todos os objetos, de forma que representa a unidade básica de processamento. O uso de ilhas faz com que um objeto não seja processado individualmente, o que diminui a complexidade do processamento para Θ(n) (ordem de n), onde n é o número de ilhas. Adicionalmente, existe a possibilidade de desabilitar objetos, o que reduz ainda mais a carga do processamento. Essa característica é interessante para objetos que estão localizados em um ponto distante da cena, quando o seu processamento não influencia de forma significativa na cena, em foco, em um dado No mundo real, objetos são constituídos por articulações que limitam o grau de movimentação de uns em relação aos outros. No ODE, isso pode ser simulado com o uso das juntas. Elas funcionam como relacionamentos que podem ser instanciados entre dois corpos, de modo a restringir as posições e rotações relativas entre eles. A Figura 2 ilustra três exemplos de juntas suportadas pelo ODE, a saber balland-socket (e.g. ombro), hinge (e.g. dobradiça) e slider (e.g. pistão), respectivamente. Cada uma delas define um conjunto distinto de limitações entre os dois elementos envolvidos na ligação. Fig. 2. Exemplos de juntas do ODE. 3.3. Mundo O mundo representa um container onde os corpos e juntas são inseridos. Objetos de diferentes mundos não interagem entre si, o que significa que dois objetos de mundos diferentes não colidem um com o outro, por exemplo. 3.4. Detecção de Colisão A detecção de colisão é um módulo isolado do restante da biblioteca. É possível adicionar outro módulo de detecção de colisão que não seja o módulo padrão fornecido, bastando apenas que a interface predefinida pela biblioteca seja seguida. Para que se possa detectar colisão entre os objetos, o usuário precisa atribuir formas a eles. Estas formas, chamadas de geometrias, permitem que o ODE calcule se ocorreu colisão entre dois ou mais corpos. 4. ODE4PPC O ODE possui uma interface nativa em C, apesar de estar escrito em C++. A versão utilizada para realizar o porte foi a 0.8. O objetivo inicial deste trabalho foi gerar uma compilação do ODE capaz de ser executada no Pocket PC, sem preocupações em relação a qualquer tipo de otimização. As modificações necessárias contemplaram principalmente alguns trechos de código que executavam chamadas específicas da Application Programming Interface (API) do Windows versão x86. Com o objetivo de preservar a portabilidade do código com o compilador para x86, todas as modificações realizadas foram incluídas através de diretivas de pré-processamento, permitindo que o compilador escolha qual versão do código deve ser compilada. As seções seguintes descrevem as etapas do desenvolvimento deste trabalho. 4.1. Ambiente de Desenvolvimento e Dependências A ferramenta Microsoft Visual Studio 2005 foi a escolhida para compilar a versão do ODE para Pocket PC, uma vez que essa IDE (Integrated Development Environment) possui um utilitário de configuração que auxilia no processo de adaptação do ambiente de desenvolvimento, para geração de código próprio de Pocket PC. É possível escolher entre o SDK (Standard Development Kit) do Windows CE versão 2003 ou 2005. Algumas funções presentes na API padrão do Windows não estão disponíveis na biblioteca padrão do Pocket PC. Essas necessidades foram supridas fazendo-se uso da biblioteca LibCE [5]. A LibCE é uma extensão da libc para Windows CE, e implementa algumas funções de temporização e manipulação de arquivos como strftime(), gmtime(), localtime(), mktime() e time(). 5. RESULTADOS Uma aplicação de teste foi utilizada para validação do porte do ODE para a plataforma Pocket PC. O dispositivo móvel utilizado foi o HP iPAQ H5500 (ver Figura 3). Ele possui um processador Intel PXA255 XScale de 400MHz, 128MB de RAM, 48MB de ROM e um display LCD com 16 bits de color depth com resolução de 320x240 pixels. O seu sistema operacional é o Microsoft Windows Mobile 2003 (versão 4.20.1081, compilação 13100). dispositivos móveis não possuem suporte em hardware para esse tipo de cálculo. A implementação do OpenGL ES utilizada no ODE4PPC foi a Vincent, a qual não possui aceleração em hardware [8]. Não foi necessário realizar nenhuma modificação no núcleo do sistema de renderização para implementar a aplicação de demonstração. 5.2. A Aplicação A aplicação utilizada para a validação do porte foi adaptada a partir de uma das aplicações de teste disponíveis com o código fonte do ODE, a “test_chain1”. Chain (cadeia) é uma expressão em inglês que significa uma série de links conectados, tal qual uma corrente de bicicleta. No exemplo, uma série de bolinhas estão conectadas através das juntas do ODE, fazendo com que a movimentação de uma bolinha cause impacto no deslocamento de todo o conjunto. O número de bolinhas da simulação foi parametrizado, podendo assumir qualquer valor a partir de dois. A cada passo da renderização uma força é aplicada no sentido positivo do eixo Z (para cima) em uma das bolinhas na extremidade da corrente. A força da gravidade atua no sentido contrário da força aplicada, fazendo com que as bolinhas fiquem em um ciclo de subidas e descidas sucessivas. Elas colidem entre si e também com o plano criado para representar o piso. Dois screenshots da execução da aplicação são mostrados na Figura 3. 5.1. Sistema de Renderização Devido à característica 3D da aplicação de teste, foi necessária a utilização de uma biblioteca gráfica para renderização. Dentre as disponíveis, o OpenGL ES (OpenGL for Embedded Systems) apresentou ser a melhor opção [6]. Essa biblioteca é uma versão resumida de OpenGL, e foi concebida especificamente para dispositivos móveis como Personal Data Assistants (PDAs), telefones celulares e consoles de videogames. Na concepção do OpenGL ES, muitas das funcionalidades do OpenGL foram removidas, e poucas foram acrescentadas. Pode-se citar duas destas mudanças como principais: a remoção das primitivas glBegin-glEnd e a introdução de tipos de dados de ponto fixo para as coordenadas de vértices [7]. O uso das primitivas glBegin-glEnd é uma das maneiras disponíveis em OpenGL para realizar a renderização de polígonos, e foi removida do OpenGL ES por questões de desempenho. Para renderizar, por exemplo, uma malha de triângulos no OpenGL ES, são necessários três passos: primeiro deve-se declarar um array com os vértices de todos os triângulos a serem renderizados, em seguida é preciso utilizar a instrução glVertexPointer para criar um ponteiro para os vértices definidos no array, e por último chamar a função glDrawArrays(GL_TRIANGLES) para renderizar simultaneamente todos os triângulos. O suporte a ponto fixo foi adicionado no OpenGL ES para otimizar o processamento realizado nos processadores de dispositivos embarcados. Apesar das operações de ponto flutuante poderem ser executadas via software, geralmente os Fig. 3. Screenshots da aplicação de teste do ODE4PPC. 5.3. Testes Comparativos Quando realizando cálculos de física em tempo real, uma característica importante que deve ser levada em consideração é a quantidade de passos de simulação por segundo que a aplicação é capaz de executar. Uma carga de testes foi executada para obter a taxa média de passos de simulação por segundo da aplicação utilizada nos testes do ODE4PPC. Dois conjuntos de teste foram realizados para validação: no primeiro a aplicação foi executada de forma integral, incluindo a renderização da parte gráfica, tarefa executada pelo OpenGL ES; nos testes seguintes a parte gráfica foi suprimida, de modo que a simulação física pudesse ser realizada sem o fornecimento do retorno visual. Este procedimento foi necessário para avaliar qual o impacto causado pela renderização gráfica no desempenho final da aplicação. Esta avaliação é importante, visto que a versão do OpenGL ES adotada nos testes não possui aceleração gráfica e portanto mascara o desempenho real do porte implementado. Testes com Retorno Visual Os resultados dos testes realizados com retorno visual foram compilados no Gráfico 1. Nele pode-se observar que a taxa de atualização decresce de forma logarítmica à medida que se aumenta o número de objetos na simulação. Gráfico 1. Taxas de renderização obtidas nos testes com retorno visual. Testes sem Retorno Visual Para realizar esse tipo de teste o código da aplicação foi modificado para suprimir as linhas responsáveis pela renderização das cenas. Um loop infinito era responsável por realizar a simulação física, chamando a cada iteração o método responsável por efetuar o passo de simulação. Não se faz necessário calcular a quantidade de frames por segundo (fps), pois a noção de frame está ligada diretamente à renderização gráfica das cenas. Dessa forma, a grandeza medida durante a execução da aplicação foi o tempo decorrido entre o início e o fim de cada passo da simulação física, representado em microssegundos. Os resultados obtidos podem ser vistos no Gráfico 2. Gráfico 2. Tempos médios gastos nos passos da simulação. Para efeito de comparação com os resultados obtidos nos testes realizados com o retorno visual, convertendo os valores do Gráfico 2 para fps, ter-se-ia taxas variando de 903 fps, no caso da simulação com dois objetos, até 89 fps, quando utiliza-se 10 objetos. Isto evidencia que a maior parte do tempo de execução é gasta com a renderização dos objetos e não com o cálculo da física. Este fato é uma conseqüência direta da utilização da versão do OpenGL ES sem aceleração por hardware. 6. CONCLUSÕES E TRABALHOS FUTUROS O porte do ODE para a plataforma Pocket PC traz uma grande contribuição para a comunidade de desenvolvimento de jogos e aplicações de realidade virtual para dispositivos móveis. Atende a necessidade destes desenvolvedores por ser um motor de física gratuito e de código aberto. O desenvolvimento deste porte abre espaço para o porte de outras bibliotecas de física para Pocket PC, como também a extensão deste porte para outras plataformas. Um dos próximos trabalhos a serem realizados será a conversão do código para utilização de aritmética de ponto fixo. Essa conversão trará um ganho de desempenho significativo, pois tornará o código do ODE4PPC mais adaptado ao contexto do tipo de processamento que os dispositivos móveis utilizam. Adicionalmente, outra extensão será a utilização de uma versão do OpenGL ES com suporte a aceleração por hardware nos testes. Isso trará a possibilidade de testes mais precisos e eficientes, onde o desempenho do porte poderá ser melhor avaliado. Outro trabalho futuro será a integração deste porte com o framework de realidade aumentada visto em [9]. O objetivo é complementar a suíte de desenvolvimento de aplicações de realidade aumentada para Pocket PC com o suporte à simulação física fornecido pelo ODE4PPC. AGRADECIMENTOS Os autores agradecem ao CNPq, que parcialmente financiou este projeto. REFERÊNCIAS BIBLIOGRÁFICAS [1] D. H. Eberly, Game Physics (Interactive 3d Technology Series), Morgan Kaufmann, Edição Bk&CD-Rom, San Francisco, 2004. [2] AGEIA, “AGEIA PhysX”, disponível em http://www.ageia.com/physx/, visitado em Setembro de 2007. [3] R. Smith, “Open Dynamics Engine (ODE)”, disponível em http://ode.org/, visitado em Setembro de 2007. [4] WARELEX, “Mobiola 3D engine”, disponível em http://www.warelex.com/games/engine.php, visitado em Setembro de 2007. [5] Graz University of Technology, “Handheld Augmented Reality”, disponível em http://studierstube.icg.tugraz.ac.at/handheld_ar, visitado em Setembro de 2007. [6] Khronos Group, “OpenGL ES Overview”, disponível em http://www.khronos.org/opengles/index.html, visitado em Setembro de 2007. [7] D. Nadalutti, L. Chittaro, and F. Buttussi, “Rendering of X3D Content on Mobile Devices with OpenGL ES”, in Proc. of 3D Technologies for the World Wide Web, pp. 19-26, 2006. [8] Vincent, the 3-D Rendering Library for Pocket PCs and Smartphones based on the Published OpenGL, disponível em http://ogl-es.sourceforge.net, visitado em Junho de 2007. [9] J. P. S. M. Lima: “Um framework de realidade aumentada para o desenvolvimento de aplicações portáveis para a plataforma pocket PC”, Trabalho de Graduação, Universidade Federal de Pernambuco Centro de Informática, 2007. REALIDADE VIRTUAL APLICADA À EDUCAÇÃO: REFLEXÕES SOBRE O ESTADO DA ARTE E O FUTURO Andréia C. Rizzato1 , Fátima L. S. Nunes2 1 Universidade Estadual Paulista – Faculdade de Ciências – Campus de Bauru – Bauru-SP Centro Universitário Eurípides de Marília – Programa de Pós-Graduação em Ciência da Computação - Marília-SP 2 Resumo - Este artigo apresenta a Realidade Virtual aplicada à Educação, incluindo suas características, vantagens e limitações. Exemplos de aplicações são apresentados, destacando-se sua eficiência e utilidade. Ao final, é apresentada uma reflexão sobre as possibilidades reais de aplicação desta tecnologia ainda inovadora na área educacional. Palavras-Chave – Ambiente Virtual, Educação, Realidade Virtual, Ensino. Abstract – This paper presents the Virtual Reality applied to education area, including characteristics, advantages and limitations. Some examples of applications are presented, highlighting their efficiency and usefulness. Also a reflection about the real possibilities for applying this still innovative technology in the teaching area is presented in the paper. 1 Keywords - Virtual Environment, Education, Virtual Reality, Teaching. 1. INTRODUÇÃO A educação é um processo contínuo de aprendizado que obtém melhores resultados quando a pessoa está motivada a aprender e quando há ferramentas adequadas para este fim. Alguns assuntos são de difícil compreensão devido à sua natureza abstrata ou simplesmente por não ser possível o contato físico com os mesmos. No final da década de 80 e início da década de 90, a RV surpreendeu a imaginação do público e da imprensa, especialmente o estudo geral da ficção científica. A partir de histórias na imprensa Americana a respeito do fracasso das escolas na educação dos estudantes, as pessoas estavam procurando por algo para curar todo o sistema educacional ruim. Existiam pessoas na comunidade educacional que defendiam a RV como a onda do futuro na educação, embora o que era entendido como RV estava muito em discussão [1]. O crescimento geral da popularidade da RV, combinado com a preocupação sobre o sistema educacional, resultou em que quase qualquer programa que usava um computador para fazer algo remotamente relacionado à educação foi especulado como sendo uma aplicação de RV. Parte desta confusão ocorreu porque algumas pessoas se referem a qualquer simulação no computador como RV [1]. Hoje o contexto já sofreu algumas alterações. Já se tem uma definição mais restrita de RV, de suas classificações e aplicações. Ainda segundo [1], atualmente as experiências com educação através de sistemas de RV indicam que a aplicação não imersiva, baseada em Web, é uma boa alternativa em relação às aplicações imersivas. Mesmo que o nível de imersão possa ser menor, a possibilidade de usar esta tecnologia na sala de aula ou em casa, sem a necessidade de muitos investimentos e treinamento, supera as vantagens de usar instalações de alto custo. Atualmente, aplicações de Realidade Virtual (RV) podem oferecer meios para tornar a educação mais cativante, ao mesmo tempo em que facilita a compreensão do assunto. Com base nestas premissas, este trabalho apresenta algumas aplicações de RV, enfatizando seus benefícios e dificuldades quando aplicada à educação. A seção 2 apresenta os benefícios e limitações da RV na educação e a seção 3 cita algumas aplicações desenvolvidas nesta área. Na seção 4 é feita uma análise sobre a situação atual e perspectivas futuras desta tecnologia quando aplicada à educação. Por fim, na seção 5, é apresentada a conclusão e sugestões de trabalhos futuros. 2. BENEFÍCIOS E LIMITAÇÕES Entre as razões para utilizar a RV na educação estão: motivação dos usuários, maior poder de ilustração, possibilidade de análise do objeto de estudo a partir de pontos de vista diversos e oportunidades para experiências individuais - cada usuário pode seguir seu próprio ritmo de aprendizagem e estímulo à participação do estudante. As pessoas têm diferentes preferências para aprendizagem (visual, verbal, exploratória ou por dedução) e as aplicações podem ser direcionadas para cada estilo [2]. Durlach e Mavor [3] lembram que tecnologias da informação como a RV podem ter importante função para melhorar a educação, considerando que é um potencial veículo através do qual o alcance das experiências em que os estudantes são expostos consegue ser amplamente aumentado; pode oferecer ambientes imersivos e interativos que fornecem grande contexto no qual problemas intelectuais interessantes aparecem naturalmente; e aumenta potencialmente a possibilidade de experiências colaborativas. A RV oferece aos professores e estudantes experiências únicas que são consistentes com uma estratégia educacional bem sucedida: participação na experiência, projetos e discussão em grupo, simulações e o conceito de visualização. Dentro dos limites das funcionalidades do sistema, é possível criar qualquer coisa imaginável e fazer parte dela [4]. Bricken [4] afirma que com a RV o ambiente de estudo pode ser experimental e intuitivo, fazendo parte de um contexto de informação compartilhada que oferece interatividade e pode ser configurada para o estilo de cada indivíduo, conforme detalhado a seguir: estudo experimental: o ambiente de ensino com RV é um contexto que inclui a natureza múltipla da inteligência humana - verbal ou lingüística, lógica ou matemática, espacial, cinestético e interpessoal; interação com a informação: a tecnologia é projetada para se adequar à arquitetura humana. O mundo virtual autoriza o usuário a se mover, conversar, gesticular e manipular objetos e sistemas intuitivamente; experiência compartilhada: o computador pessoal é projetado para operações individuais. O mundo virtual pode ser utilizado no contexto individual e social. As aplicações de RV em rede permitem vários participantes interagindo simultaneamente no mesmo ambiente; novas capacidades: os participantes adquirem novas capacidades, como a habilidade de voar através do mundo virtual, segurar um objeto com o corpo virtual, observar o ambiente através de muitas perspectivas.; características individuais: os professores podem representar informações nas formas que são mais compatíveis com o estilo particular de estudo do aluno. Apesar do fato de que as aplicações de RV para educação são bastante promissoras, várias limitações ainda são observadas. De acordo com [5], a expectativa para adoção em grande escala de soluções altamente imersivas como as cavernas na educação, ainda são irreais para um futuro próximo. Além disso, a adoção de dispositivos como capacetes, luvas e dispositivos hápticos, é muito inferior ao que inicialmente era esperado. Sem levar em consideração as razões para esta lenta adoção, o fato é que a educação baseada em RV, embora muito atraente, fica um assunto particularmente de experiências em laboratório do que de desenvolvimento em larga escala . Ainda de acordo com [5], existem ainda dois problemas principais na criação de conteúdo: eficiência do processo de produção e alta qualidade do conteúdo produzido. O rápido crescimento e mudança do conhecimento implicam na necessidade de criação e atualização contínua de grande quantidade de material de estudo para alcançar as expectativas e necessidades dos estudantes. O processo de produção de conteúdo precisa ser rápido, barato e não pode necessitar de habilidades avançadas de computador por parte dos autores de conteúdo. Com relação à qualidade do conteúdo, ela é de importância crítica no caso de ambientes de estudo, onde confiança e precisão visual das simulações é particularmente importante. Bricken [4] lembra que usar RV nas escolas introduz mudanças técnicas e culturais [4]. Entre as dificuldades estão o custo, utilidade e desconfiança: custo: os sistemas comerciais de RV sofisticados, que oferecem modelos complexos e diversas funcionalidades são relativamente caros. utilidade: é necessário verificar a utilidade do sistema para estudantes de várias idades, professores e para o currículo escolar. Como todos os estudantes estão engajados em atividades virtuais, é necessário projetar muitos níveis, considerando a apresentação multisensorial de informação, múltiplos métodos de interação, contexto virtual apropriado, e a escolha e estrutura do conteúdo a ser investigado; desconfiança: existe uma ansiedade sobre o uso impróprio da RV e medo que a tecnologia possa ter alguma característica negativa. Alguns destes medos são: medo de errar, medo de perder a identidade, medo de perder o controle para outras formas de vida ou para outras pessoas, medo de não ter acesso, medo de confusão entre o mundo real e virtual, medo do abandono e da solidão. O medo da tecnologia pode ser a mais sutil e mais importante mudança para a aceitação da RV como sendo adequada para as crianças. 3. APLICAÇÕES Os benefícios citados anteriormente são motivos pelos quais várias aplicações são desenvolvidas, apesar das limitações ainda presentes. Algumas aplicações de RV desenvolvidas com propósitos educacionais estão em fase de experimentação, outras já são utilizadas efetivamente. 3.1 – Ensino de Informática De acordo com [6], é difícil para os estudantes aprender a projetar aplicações orientadas a objeto quando eles têm um entendimento incompleto ou incorreto dos conceitos e relacionamentos. O uso de três dimensões nos sistemas de modelagem de aplicações pode ajudar os estudantes a aprender os conceitos e se tornar melhores programadores. A partir dessas afirmações, os autores propuseram uma aplicação em RV chamada de Virtual Software Engineering Environment (VIRSEE), a qual tem como objetivo ensinar conceitos de engenharia de software. Os conceitos essenciais que precisam ser representados neste tipo de aplicação incluem classe, objeto, método e propriedade. Da mesma forma, o ensino de redes de computadores nas universidades poderia ser melhorado através de uma infraestrutura extra para que os alunos aplicassem as teorias adquiridas. A partir dessas premissas, Godinho et al. [7] criaram o protótipo de um Ambiente Virtual Colaborativo que auxilia no ensino e aprendizagem de redes de computadores. Trata-se de um ambiente tridimensional compartilhado por vários usuários que podem interagir entre si em tempo real e realizar tarefas em conjunto [7]. 3.2 – Ensino de Medicina O ensino da Medicina é feito em grande parte por meio dos atlas de anatomia, que possuem informações gerais sobre o corpo humano ou específicas sobre sistemas e órgãos. De acordo com [8], o atlas digital apresenta vantagens significativas sobre o de papel, como a possibilidade de interagir com o objeto e um maior realismo das estruturas anatômicas. O atlas digital AnatomI 3D é um software de uso livre, baseado em RV, que apresenta estruturas tridimensionais do corpo humano e seus respectivos descritivos com informações textuais a respeito de cada estrutura [8]. Dentro deste contexto e com o objetivo de facilitar o estudo de anatomia e fisiopatologia do câncer de mama, Ramos e Nunes [14] apresentam um Atlas Virtual que permite o acesso a uma base dados, fornecendo informações sobre as estruturas durante a navegação, além de possibilitar a visualização do crescimento de tumores malignos. Além dos Atlas virtuais, o ensino de Medicina é contemplado em RV por inúmeras pesquisas na área de simulação e treinamento de procedimentos nas mais diversas especialidades. Suturas, laparoscopia, oftalmologia, ortopedia e biópsias são as mais citadas na literatura. 3.3 – Ensino de Física e Química Dentro do ensino de física, existe uma aplicação utilizada para demonstrar que a projeção de um movimento circular uniforme em qualquer diâmetro da trajetória produz um movimento harmônico simples (MHS). O AV foi desenvolvido na linguagem Virtual Reality Modeling Language (VRML) e testado por cerca de 30 alunos de uma escola pública e outra privada, sendo que 95% dos envolvidos disseram que o aprendizado foi bem estimulado com o uso do AV [9]. O AV Chemistry World permite que os participantes formem átomos e moléculas a partir de blocos básicos de elétrons, prótons e nêutrons. Provas realizadas com alunos do ensino médio, antes e depois da utilização da ferramenta de RV, mostraram que esta tecnologia é uma efetiva ferramenta de educação. A melhora foi em média de 20% nos testes escritos e 50% nos testes orais [2]. O projeto de RV Água Virtual é composto por um conjunto de cenários para simulação molecular da água e representação de órbitas moleculares e atômicas com visualização tridimensional interativa. Pode ser utilizado capacete para a visualização tridimensional e imersiva dos cenários [10]. 3.4 - Ensino de literatura A RV também pode ajudar a engajar os estudantes com relação à literatura. Pinho [2] relata a criação de um livro virtual, no qual cenas sobre os principais personagens da história eram disponibilizados tridimensionalmente. Os alunos foram então imersos na cena e puderam caminhar pela história. Como resultado, observou-se que os alunos que já haviam lido o livro passaram a discutir o texto e analisar seus detalhes, comparando o mundo virtual com a visão que eles tinham do livro. 3.5 – Ensino do Meio-ambiente Arns et al. [11] afirmam que as teorias ecológicas descrevem sistemas complexos e dinâmicos, mas são apresentados aos estudantes utilizando meios de visualização estáticos que não comportam estas complexidades. Os autores criaram uma simulação da ecologia dinâmica modelando insetos e o ambiente que o inseto habita. Foram selecionados vinte insetos em três ilhas. Para utilizar a ferramenta os usuários podem selecionar uma das três ilhas e mover a simulação no interior dela. Um contador grava a população de cada espécie e fornece um número total de espécies presentes na ilha. O Virtual Reality Gorilla Exhibit tem o objetivo de ensinar sobre a interação entre os gorilas, sua estrutura social e habitat. O usuário utiliza um capacete, sistema de áudio e um rastreador para fornecer informações sobre posição e orientação. Este sistema foi testado por vários grupos de estudantes e suas interações mostraram que eles estavam aprendendo sobre o comportamento dos gorilas conforme eles ficavam mais tempo interagindo com o sistema [1]. 3.6 – Ensino em ambiente colaborativo O Global Change World (GCW) é um AV educacional que permite colaboração, ou seja, mais de um estudante imerso e interagindo no AV ao mesmo tempo. Dentro do AV, os estudantes são capazes de falar e ouvir uns aos outros por meio de um sistema de comunicação interno. Através de um conjunto de ferramentas virtuais, é possível executar várias tarefas educacionais dentro do ambiente. Este AV educacional foi aplicado inicialmente a 110 estudantes de uma escola em Washington, que após a utilização responderam a um questionário a respeito de sua experiência. O resultado do questionário mostrou que a maioria dos estudantes achou a experiência bastante agradável e que gostaria de repeti-la [12]. Considerando o potencial das tecnologias da informação como a RV, realidade aumentada, Internet e educação a distância, Okada, Tarumi e Yoshimura [13], propuseram um sistema de apoio ao ambiente educacional colaborativo chamado DigitalEE. Este sistema é composto por funções que são disponibilizadas via Internet, fornecendo experiência por meio da RV, suplementando o universo real com a realidade aumentada, e dando aos estudantes o conhecimento dos especialistas através da educação a distância. 4- ANÁLISE CRÍTICA Através dos benefícios, dificuldades e exemplos citados anteriormente, percebe-se que a utilização de RV em aplicações educacionais envolve muito mais que a tecnologia para geração de ambientes virtuais (AVs). Em todo o mundo, existe grande empenho no desenvolvimento de aplicações para serem utilizadas nos mais diversos segmentos educacionais, do ensino fundamental ao superior, passando por áreas extracurriculares. No entanto, a maior parte destas aplicações ainda é utilizada de forma modesta ou como meio de avaliação do potencial da RV, não sendo empregada em larga escala na maioria das instituições. Isso se deve em grande parte à falta de estrutura tecnológica das escolas, que geralmente não têm recursos suficientes para aquisição de equipamentos de informática, mesmo os mais simples. Outro fator importante que contribui para este cenário é a falta de capacitação dos professores para o uso destas aplicações, aliado ao medo com relação às novas tecnologias. Muitos professores e pessoas ligadas ao ensino desconhecem os benefícios que a RV pode proporcionar ao aprendizado. Para que a RV seja aplicada de forma efetiva na educação e, em especial, à educação no Brasil, falta uma melhor estrutura tecnológica nas instituições de ensino, bem como em outros lugares que proporcionem aprendizado e enriquecimento cultural, como museus, zoológicos e bibliotecas. As aplicações devem ser construídas com bases pedagógicas sólidas, levando em consideração a opinião de professores, alunos e demais envolvidos no processo. Este requisito envolve, obrigatoriamente, equipes multidisciplinares trabalhando nos projetos. Além disso, é necessário que os educadores sejam capacitados para a utilização das aplicações, de forma a tirar o melhor proveito delas. É importante divulgar e mostrar como a RV pode beneficiar a educação em seus diversos aspectos, para que haja maior interesse por parte da sociedade. De uma maneira geral, para que a educação possa ser ainda mais beneficiada pela RV, são necessários investimentos em infra-estrutura e treinamento. Para resolver os problemas citados, é necessário desenvolver sistemas que permitam a criação de conteúdo interativo e dinâmico baseado em modelos de conteúdo e bibliotecas de componentes reutilizáveis. Dessa forma, o conteúdo educacional pode ser facilmente personalizado em um tempo menor. O uso de modelos de conteúdo torna mais rápido o processo de produção do conteúdo de ensino enquanto mantém alta qualidade visual [5]. Além disso, os computadores poderosos estão se tornando mais baratos e estão sendo desenvolvidos sistemas de RV a preços mais acessíveis [4]; As aplicações citadas mostram que a RV pode ser bastante útil para auxiliar na educação, em especial para o ensino de disciplinas que tratam de temas abstratos e que não dispõem de meios físicos para demonstração. Os resultados obtidos com o uso desta tecnologia são, em sua maioria, positivos. A RV desperta interesse nos alunos, ajuda a fixar o conhecimento e auxilia o professor na tarefa de ensinar. Sua utilidade é estendida às mais diversas áreas do conhecimento, podendo ser empregada para ensino em nível fundamental, médio e superior. Devido à natureza interdisciplinar da tecnologia de RV, é necessária a interação de profissionais de várias áreas. No caso específico da RV aplicada à educação, faz-se necessário o envolvimento de pedagogos e de profissionais da área que está sendo estudada na aplicação de RV. A participação destes profissionais é importante para garantir que as aplicações transmitam conhecimento correto e apropriado para cada faixa etária. A RV, assim como qualquer outra tecnologia, não substitui o papel do professor na formação do aluno, mas se mostra como uma poderosa ferramenta para aumentar a motivação e melhorar o entendimento dos mais diversos assuntos. 5 - CONCLUSÕES A partir das considerações apresentadas, foi possível verificar que a RV é bastante viável e vantajosa quando aplicada à educação. Devido a sua natureza interativa, ela desperta a curiosidade do aluno e ajuda a fixar melhor o conhecimento adquirido. O aluno pode se sentir motivado a navegar e interagir no mundo virtual, passando a ter mais interesse sobre o assunto que está sendo estudado. Mesmo com todos os benefícios oferecidos, a RV não deve ser apontada como a solução para os problemas educacionais, ou como algo que fará com que os métodos de ensino sejam completamente alterados. As aplicações em RV mostram-se mais úteis para ensinar disciplinas com conceitos abstratos, como física e química, e também para disciplinas onde o aluno não tem acesso ao meio físico, como no caso da transmissão de energia elétrica. Aplicações relacionadas ao meio-ambiente, como aquela em que o aluno estuda a interação e habitat dos gorilas, também são bastante beneficiadas com esta tecnologia, pois podem reproduzir situações onde o estudante não pode participar no mundo real. REFERÊNCIAS BIBLIOGRÁFICAS [1] D. Allison, L. F. Hodges, “Virtual Reality for Education?”, Seoul, Korea: ACM, 2000. [2] M. S. Pinho, “Realidade Virtual como ferramenta de informática na educação”, SBIE, Belo Horizonte, 1996. [3] N. I. Durlach, A. S. Mavor, Virtual Reality – Scientific and Technological Challenges, National Academy Press, Washington, 1995. [4] M. Bricken, “Virtual Reality Learning Environments: Potentials and Challenges”, Computer Graphics, Washington, vol. 25, no. 3, jul. 1991. [5] K. Walczak, R. Wojciechowski, W. Cellary, “Dynamic Interactive VR Network Services for Education. Limassol”, Cyprus: ACM, 2006. [6] B. J. Neubauer, J. D. Harris, “Immersive visual modeling: potential use of virtual reality in teaching software design”, Consortium for Computing Sciences in Colleges, Pittsburg, 2003. [7] P. I. A. Godinho, S. C. V. Pinheiro, G. R. Silva, B. S. Meiguins, A. S. Gonçalves, “Realidade Virtual aplicada ao Ensino e Aprendizado de Redes de Computadores”, in Symposium on Virtual Reality, 8, Belém, 2006. [8] B. S. Monteiro, M. C. O. Valdek, I. L. L. Cunha, R. M. Moraes, L.S. Machado, “AnatomI 3D: Um Atlas Digital Baseado em Realidade Virtual para Ensino de Medicina”, João Pessoa, 2006. [9] J. C. Araújo, M. W. Ribeiro, W. Silva, R. A. Luz, E. Raimann, A. Cardoso, E. Lamounier, “Realidade Virtual como apoio ao ensino do movimento harmônico simples na física”, In: Workshop de Aplicações em Realidade Virtual, 2, Recife, 2006. [10] J. A. Trindade, C. Fiolhais, V. Gif, J. C. Teixeira, “Ambientes Gráficos Tridimensionais como Ferramentas Físico-Químicas no Ensino e na Aprendizagem das Ciências”. Disponível em: < http://nautilus.fis.uc.pt/personal/jtrindade/~jtrindade/p ub/26.pdf>. Acesso em: 11 jul. 2007. [11] L. Arns, M. Brisbin, D. Foldes, J. D. Holland, “Virtual Reality for Ecosystem Dynamics Education”, Purdue, 1995. [12] R. L. Jackson, W. Winn, “Collaboration and Learning in Immersive Virtual Environments”, Washington, 1999. [13] M. Okada, H. Tarumi, T. Yoshimura, “Collaborative Environmental Education Using Distributed Virtual Environment Accessible from Real and Virtual Worlds”, Malaga. [14] F. M. Ramos, F. L. S. Nunes, “Construção de Atlas de Anatomia e Fisiopatologia do Câncer de Mama utilizando Realidade Virtual”, XVIII Sibgrapi, 2005. REALIDADE VIRTUAL APLICADA A E-COMMERCE: PROPOSTA DE PLATAFORMA BASEADA EM VRML E PHP Leandro Silva Campos1, Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara Av. Beira Rio, 1001 – Bairro Nova Aurora CEP 75523-230, Itumbiara-GO Brasil [email protected], [email protected] Resumo - Este trabalho apresenta uma proposta de arquitetura para o desenvolvimento de lojas virtuais 3D, baseada em Realidade Virtual não-imersiva, a qual visa oferecer interfaces mais realistas nas aplicações de ecommerce, colaborando para suplantar as dificuldades impostas pelo cenário atual baseado em websites. A apresentação da proposta de arquitetura é feita por meio de um protótipo de loja virtual, a qual implementa a interação entre um ambiente virtual 3D modelado em VRML e um ambiente 2D construído em HTML e PHP. Palavras-chave - E-commerce; PHP; Realidade Virtual; VRML. Abstract - This paper presents a proposal of an architecture for virtual 3D shops development, based on Non-Immersive Virtual Reality technologies, aiming to offer more realistics interfaces for e-commerce applications, and collaborating to supplant the difficulties imposed for the actual website based scenario. The presentation of the proposed architecture is made by a virtual shop prototype, which implements the interaction between a 3D environment modeled in VRML and a 2D environment built in HTML and PHP. Keywords - E-commerce; PHP; Virtual Reality; VRML. 1. INTRODUÇÃO Poucas revoluções contemporâneas causaram tanto impacto na sociedade como o advento da Internet, a qual vem revolucionando sistematicamente hábitos comuns do cotidiano, como pagar contas, estudar, comunicar-se, trabalhar e fazer compras. O entendimento de que a Economia Digital baseada na Internet será a base do desenvolvimento sustentável e a principal fonte de geração de riqueza das nações no século XXI [1], tem feito com que diversas organizações governamentais e não-governamentais envidem esforços no sentido de fortalecer e consolidar o comércio eletrônico (ecommerce) em todos os seus segmentos. Esta pesquisa justifica-se devido ao fato de que o uso da Realidade Virtual em e-commerce pode oferecer interfaces mais realistas nas aplicações, colaborando para suplantar as dificuldades impostas pelo cenário atual de lojas virtuais baseadas em websites. Segundo [10], o modelo atual de ecommerce é uma mera adequação do modelo de website comum, acrescido de alguns poucos recursos. O ambiente resultante não lembra em nada o ambiente das lojas reais. Segundo [3], esta distância no contexto visual não satisfaz as necessidades emocionais e sociais das pessoas. Além disso, devido ao fato de não ser um ambiente envolvente, torna-se difícil manter o cliente na loja virtual por muito tempo. Portanto, faze-se necessária uma nova proposta de interface de comunicação com o usuário, de modo a tornar mais atrativo o ato da compra. Em aplicações de realidade virtual, o usuário não é relegado ao papel de mero observador passivo, mas torna-se um “participante” efetivo, um membro ativo ambiente virtual, com o qual pode interagir e obter respostas diferenciadas, em tempo real, conforme suas ações no ambiente. 1.1. Realidade Virtual Realidade virtual (RV) pode ser definida como sendo a forma mais avançada de interface entre o usuário e o computador até agora disponível, com aplicações na maioria das áreas do conhecimento [8]. Para [9], a Realidade Virtual é uma interface avançada para acessar aplicações executadas no computador, tendo como características a visualização de, e movimentação em, ambientes tridimensionais em tempo real e a interação com elementos desse ambiente. A Realidade Virtual é comumente classificada em Imersiva e Não-imersiva. A primeira utiliza dispositivos não convencionais, tais como capacete de visualização e luvas especiais para interagir como ambiente virtual. Na segunda são utilizados dispositivos convencionais, como mouse, teclado e monitor de vídeo. Apesar de proporcionar experiências distintas, para [9], o importante é que haja por parte do usuário a impressão de estar atuando dentro do ambiente virtual, apontando, pegando, manipulando e executando outras ações sobre os objetos virtuais, em tempo-real. Esta pesquisa trata especificamente de Realidade Virtual não-imersiva, devido, principalmente, ao fato de que a maior parte da audiência de aplicações de e-commerce está concentrada em usuários domésticos. Por essa razão, a utilização de hardware especial não pode, a princípio, ser um requisito para a utilização do ambiente virtual. 1.2. Comércio Eletrônico O termo Comércio Eletrônico, ou e-commerce designa o comércio de bens e serviços negociados por meio da internet e está inserido em um contexto maior, designado e-business, o qual contempla todos tipos de negócios realizados por meio da internet. Assim, o e-commerce é considerado uma das ferramentas do e-business. Em países como os Estados Unidos, em que a Internet se iniciou mais cedo, a explosão do e-commerce é mais evidenciada. Em [1] verifica-se que já em 2003, o faturamento das empresas com comércio eletrônico atingiu o patamar de 55 bilhões de dólares. [1] cita também uma estimativa de Jeff Bezos, CEO da Amazon, uma das mais importantes lojas de e-commerce do mundo, o qual estima que o e-commerce deve atingir entre 10% a 15% do comércio americano nos próximos 10 anos, fato que, se confirmado, elevará o faturamento anual do setor a um valor superior a meio trilhão de dólares nos Estados Unidos. O Brasil ocupa uma posição importante no ranking dos 10 países com maior número de usuários de internet [1], o que demonstra o potencial do país para a exploração do ecommerce. 2. TRABALHOS RELACIONADOS Estudos específicos sobre a aplicação de Realidade Virtual Não-Imersiva em e-commerce foram realizados por vários pesquisadores, dentre os quais, destacam-se: - Mass (1999) [5], VRCommerce — electronic commerce in virtual reality: Apresenta uma proposta para a construção de shoppings virtuais 3D. Cada loja é carregada e disponibilizada à medida que o usuário navega pelo shopping. - Chittaro (2000) [3], Adding Adaptive Features to Virtual Reality Interfaces for E-commerce: Propõe a construção de interfaces personalizadas para cada consumidor, baseando-se na idade, sexo, itens visualizados na loja e itens comprados. A partir destas informações são mapeados os possíveis interesses futuros do consumidor para criar uma interface adaptada ao seu estilo de compra. - Chittaro (2002) [4], New Directions for the Design of Virtual Reality Interfaces to E-commerce Sites: Sugere que seja explorado o potencial da RV utilizando-se técnicas impossíveis de serem implementadas em lojas 2D convencionais, tais como: produtos 3D que caminham pela loja; adaptação do ambiente da loja conforme as preferências do usuário; exposição de objetos usando massificação (vários objetos idênticos agrupados). - Nguyen (2003) [6], Virtual Reality for E-commerce. Building as Interactive 3D Online Storefront: Propõe uma arquitetura para a construção de lojas virtuais usando a tecnologia proprietária denominada WildTangent WebDriver em conjunto com Java. A proposta contempla desde o modelo navegação no ambiente até o processo de realização da compra. As principais características observadas nas pesquisas avaliadas foram sintetizadas na tabela I. Observa-se que a maioria dos pesquisadores utilizou VRML como tecnologia de RV e Java como tecnologia de apoio. Não foram encontrados trabalhos relacionados que explorem a integração de ambientes 3D e 2D utilizando-se PHP como tecnologia de apoio ao conteúdo dinâmico 2D da loja virtual. Trabalho Mass (1999) Chittaro (2000) Chittaro (2002) Nguyen (2003) Esta pesquisa Tecnologia Visualização RV Apoio Ambiente Produtos Compra VRML Java 3D 3D 3D VRML Java 3D 3D n/a VRML Java 3D 3D n/a WildTangent Java 3D 3D 3D VRML PHP 3D Fotografia 2D Tabela I Principais características dos trabalhados avaliados 3. ARQUITETURA 3.1. Tecnologias de Apoio Para a escolha das tecnologias a serem usada no desenvolvimento do protótipo desta pesquisa, foram observados os seguintes critérios: a) devido à natureza acadêmica e experimental desta pesquisa, as tecnologias utilizadas deveriam: ser de distribuição gratuita, de código aberto ou prover uma versão para uso não-comercial; possuir ampla referência em pesquisas acadêmicas; ser independente de plataforma. b) devido ao fato de tratar-se de um protótipo para ecommerce, o conjunto de tecnologias deveria: possibilitar obter dinamicamente informações de um banco de dados em tempo real; oferecer recursos para que a o ambiente virtual possa ser visualizado em browsers padrão de mercado; a exigência de largura de banda de conexão com a Internet não deveria ser restritiva para usuários residenciais. A partir destes requisitos, as tecnologias escolhidas para a construção do protótipo foram: - HTML para apresentação do website; - Linguagem PHP para os scripts server-side; - Banco de dados MySQL; - VRML como tecnologia de Realidade virtual. 3.1.1. HTML As letras HTML são as iniciais de HyperText Markup Language (Linguagem de Marcação de Hipertextos). Tratase de um padrão mundial, não-proprietário, para exibição de documentos (páginas) na Internet. Um documento HTML contém apenas informações sobre a forma como devem ser exibidos textos e imagens na tela, o que é feito por meio de tags (marcações), as quais contém os atributos de cada elemento do documento, como cor do texto, estilo, tipo de fonte, alinhamento etc. Também é possível fazer com que trechos de um texto ou uma imagem contenham hyperlinks que, ao serem clicados, levem a outra página qualquer na Internet [2]. 3.1.2. PHP O PHP (Hypertext Preprocessor) é uma linguagem de programação de scripts server-side (do lado do servidor), projetada especificamente para a Web. O PHP é um produto Open Source, ou seja, seu código fonte pode ser baixado, utilizado, alterado e redistribuído, sem custo algum [11]. Desde que foi criado em 1994, o uso do PHP vem crescendo sistematicamente. Em abril de 2007, o PHP era utilizado em mais de 20 milhões de domínios em todo o mundo [7]. O código PHP pode ser mesclado ao código HTML, para ser executado toda vez que a página for requisitada pelo visitante. O código PHP é interpretado no Servidor Web e gera o HTML ou outra saída que o visitante verá em seu navegador [11]. Em websites de e-commerce, esta característica é bastante importante porque, já que não há necessidade de se criar uma página para cada produto, mas sim uma única página, cujo conteúdo muda dinamicamente conforme o produto selecionado pelo usuário. Os dados de cada item (nome, descrição e preço, por exemplo) são armazenados em um banco de dados. Ao receber a solicitação da página, esses dados são carregados, a página é montada no servidor e entregue ao cliente (navegador) de forma personalizada. 3.1.3. MySQL O MySQL é um sistema de gerenciamento de banco de dados relacional (relational dabatase management system – RDBMS) bastante rápido e poderoso. Ele utiliza SQL (Structured Query Language), a linguagem de consulta padrão de banco de dados em todo o mundo. O MySQL está publicamente disponível desde 1996, mas tem uma história de desenvolvimento que remonta a 1979 [11]. Segundo fabricante, o MySQL se tornou o mais popular SGBD open source porque é consistente, rápido e fácil de usar. Atualmente é usado em mais de 11 milhões de instalações, incluindo grandes corporações. 3.1.4. VRML A sigla VRML é o acrônimo de Virtual Reality Modelling Language (Linguagem para Modelagem de Realidade Virtual). Trata-se de um formato de arquivo para descrever objetos e mundos virtuais em 3D, a qual tem sido amplamente utilizada em diversas áreas do conhecimento. É possível integrar ao VRML recursos multimídia como textos, imagem, som e vídeo por meio de hyperlinks com as respectivas fontes. O modo mais comum de visualização de arquivos VRML é por meio de browsers de Internet acoplados a um plug-in, o qual lê arquivo VRML, monta a cena e a exibe ao usuário. A área da página web que exibe a cena VRML é controlada pelo plug-in, o qual responde a eventos de movimento ou cliques do mouse, permitindo a navegação e a interação. O usuário pode caminhar ou voar pelo ambiente de forma livre, observando a cena de qualquer ângulo ou posição [4]. 3.2. Arquitetura do Sistema O propósito deste trabalho é a elaboração de uma arquitetura para a construção de lojas virtuais baseadas na interação entre o usuário e ambientes 3D e 2D integrados de forma transparente ao usuário, conforme ilustra a figura 1. GUI – Interface Gráfica com o Usuário ação/visualização Ambiente 3D Ambiente 2D Objeto 1 Objeto 2 . . . Objeto n atualização Objeto Database arquivos Servidor Web Fig. 1. Arquitetura proposta para o sistema. Resumidamente, destacam-se os seguintes pontos-chave: - A interface gráfica com o usuário (GUI) é provida por um web browser padrão de mercado. - A visualização e interação do usuário com os ambientes 2D e 3D ocorrerá de forma integrada e simultânea. - Os ambientes 2D e 3D não existem isoladamente, pois cada um presume a existência do outro. - A navegação no ambiente 3D é realizada utilizando-se o mouse e o teclado para se locomover e selecionar objetos. A navegação no ambiente 2D se dá como em um website de comércio eletrônico convencional, uma vez que é baseada em HTML. - O ambiente 2D é atualizado dinamicamente, apresentando com os dados de um único objeto de cada vez, conforme a seleção do usuário no ambiente 3D. - Todas as informações sobre o objeto selecionado são carregadas de um banco de dados em tempo real. - Um ou mais servidores web devem prover as solicitações de arquivos para ambos os ambientes. 4. FUNCIONAMENTO Assim que o usuário navega até a URL da loja, o web browser carrega um frameset HTML, o qual contém as instruções de composição dos três frames principais do protótipo: “topo”, “VRML” e “produto”. O frame “topo” contém a página “topo.html”, na qual são exibidos o logotipo da loja e demais links de um site de ecommerce convencional. O frame “VRML” carrega a página “vrml.html”, a qual contém as instruções de carregamento do plugin-in e do código VRML do ambiente 3D, cujo carregamento se dará automaticamente. No frame “produto” é carregada a página “produto.php”, cujo conteúdo é construído dinamicamente, a medida que ocorre a interação do usuário com o ambiente 3D. Ao clicar em um objeto no cenário 3D, o mecanismo VRML se encarregará de instruir o navegador a carregar a página PHP correspondente ao produto selecionado. Os dados sobre o produto são obtidos de um banco de dados MySQL. A figura 2 representa o modelo de implementação do website do protótipo: vrshop.html (frameset) topo.html (frame) vrml.html (frame) produto.php (frame) executa carrega dados plug-in VRML atualiza carrega vrshop vrshop.wrl Fig. 2. Modelo de implementação do website do protótipo. Toda a interação do usuário com o ambiente virtual se dá por meio do navegador web, no qual estão visíveis os ambientes 3D e 2D da loja virtual. A visualização de ambos os ambientes se dá simultaneamente, compartilhando a área de visualização do navegador (Figura 3). Fig. 3. Visualização dos ambientes 3D e 2D após o usuário clicar no modelo 3D do televisor no ambiente virtual. 5. CONCLUSÕES E TRABALHOS FUTUROS O protótipo resultante desta pesquisa demonstrou-se eficaz considerando-se o objetivo para o qual foi criado. Tanto os aspectos visuais quanto funcionais do protótipo foram considerados satisfatórios na medida em que satisfazem os requisitos de integração dos ambientes 3D e 2D em uma única interface, de modo transparente ao usuário. A interface 3D mostrou-se atrativa o suficiente para despertar o interesse do usuário e prender sua atenção durante todo o processo de compra. A utilização do módulo 2D para a continuidade do processo de compra, baseado no modelo de lojas convencionais de comércio eletrônico mostrou-se importante por ser familiar ao usuário de Internet que já utiliza lojas virtuais convencionais. Entende-se que a implementação do conjunto VRML / PHP é uma das maiores contribuições do trabalho, pois não foram encontradas referências a este modelo de arquitetura nas pesquisas realizadas. Os seguintes trabalhos futuros são pretendidos como continuidade desta pesquisa: - Implementar na arquitetura um mecanismo de interação que permita ao usuário pesquisar itens no ambiente 2D e ser levado ao respectivo produto no ambiente 3D. - Elaborar arquitetura que possibilite a montagem de ambientes personalizáveis pelo próprio usuário a partir dos objetos disponíveis na loja. Também se pretende submeter o protótipo à apreciação de um grupo usuários do sistema de e-commerce convencional, visando comprovar sua eficácia como tecnologia de suporte ao processo de compras pela Internet. REFERÊNCIAS BIBLIOGRÁFICAS [1] CAMARA-E.NET. Câmara Brasileira de Comércio Eletrônico. Disponível em <http://www.camara-e.net>. Acesso em abr. 2007. [2] CAMPOS, Leandro S. (2004). HTML Rápido e Prático. Goiânia: Terra, 2004. 152p. [3] CHITTARO, Luca; RANON, Roberto. (2000). Adding Adaptive Features to Virtual Reality Interfaces for ECommerce. In: Proceedings of AH2000: International Conference on Adaptive Hypermidia and Adaptive Webbased Systems, Lecture Notes in Computer Science 1892, Sprinces-Verlag, Berlin, 2000, p.85-96. [4] CHITTARO, Luca; RANON, Roberto. (2002). New Directions for the Design of Virtual Reality Interfaces to E-Commerce Sites. In: AVI 2002: 5th International Conference on Advanced Visual Interfaces, ACM Press. p.308-305. [5] MASS, Yosi; HERZBERG, Amir (1999). VRCommerce - Electronic Commerce in Virtual Reality. In: ACM Conference on Electronic Commerce 1999: 103-109. [6] NGUYEN, Thanh Huu. (2003). Virtual Reality for ECommerce. Building as Interactive 3D Online Storefront. Dissertação - Faculty of Art, Design and Communication - RMIT University, Melbourne Australia, 2003. 86f. [7] PHP Usage (2007). Usage Stats for PHP. Disponível em <http://www.php.net/usage.php> Acesso em set. 2007. [8] RIBEIRO, Marcos Wagner de Souza. (2005). Arquitetura para Distribuição de Ambientes Virtuais Multidisciplinares. Tese (Doutorado em Ciências) – Faculdade de Engenharia Elétrica – UFU, Uberlândia, 2005. 176f. [9] TORI, Romero; KIRNER, Cláudio (2006). Fundamentos de Realidade Virtual. In: TORI, Romero; KIRNER, Cláudio; SISCOUTO, Robson (Ed.). Fundamentos e Tecnologia de Realidade Virtual e Aumentada. Livro do pré-simpósio SVR 2006. Belém: Editora SBC, 2006, cap.1-2, p.2-38. [10] TROYER, Olga de. et al. (2006). Developing Semantic VR-shops for e-commerce. Vrije Universiteit Brussel Belgium, 2006. 40p. [11] WELLING, Luke; THOMSON, Laura (2002). PHP e MySQL – Desenvolvimento Web. Rio de janeiro: Campus, 2003. 676p. REALIDADE VIRTUAL APLICADA AO ENSINO DE HISTÓRIA POR MEIO DA RECONSTITUIÇÃO DE AMBIENTES HISTÓRICOS Rodrigo Vasconcelos Arruda1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior2, Alexandre Cardoso2, Nadabe Cardoso de O. A. Fortes1, Luciano Vieira de Lima2, Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], Resumo - Este artigo apresenta o desenvolvimento de um protótipo de software utilizando técnicas de Realidade Virtual não imersiva, tendo como estudo de caso o centro histórico da cidade de Itumbiara – Goiás. O objetivo é reconstituir tridimensionalmente a Catedral Santa Rita de Cássia e a Praça da República nos primórdios de sua fundação, expondo as motivações e ferramentas utilizadas, tendo como intuito a reconstituição de um ambiente histórico, que já não existe mais. Deste modo espera-se contribuir e constituir com um ambiente voltado para o ensino de História e principalmente para o resgate históricocultural da cidade. Palavras-chave – Ensino, História, Realidade Virtual, Reconstituição Histórica. Abstract - This article presents the development of a prototype of software using techniques of Virtual Reality not immersive, with the case study the historic center of the city of Itumbiara - Goiás. The goal is to rebuild virtually the Cathedral Santa Rita de Cássia and the Republic Square in the beginning of its foundation, exposing the motivations and tools used, with the aim to rebuild a historic environment, which is no longer exists. Thus it is expected to contribute and provide an environment geared to the teaching of history and especially for the rescue of the historical and cultural city. Keywords – Education, History, Virtual Reality, Historical Recovery. 1. INTRODUÇÃO No mundo contemporâneo, onde a tecnologia se encontra em basicamente todos os setores da sociedade, vê-se a necessidade de impulsionar sua utilização como apoio aos métodos tradicionais de ensino de modo atrativo e eficiente. Nesse contexto, o uso da computação como ferramenta de apoio à educação tem se tornado cada vez mais indispensável para a melhoria da qualidade e dinamismo do processo de ensino. Dentre as mais variadas técnicas computacionais e suas diversas possibilidades de aplicação, podemos destacar a Realidade Virtual (RV), uma área que vem cada vez mais conquistando espaço e adeptos. Alguns são os fatores que tornam a RV uma técnica viável e interessante de se utilizar no ensino e no resgate históricocultural, dentre as quais destacamos: pelos métodos tradicionais de ensino, o leitor tem uma limitação visual dos objetos em estudo por meio de imagens bidimensionais e textos, enquanto utilizando-se de ambientes tridimensionais o usuário tem a possibilidade de ter múltiplas visões dos objetos que o compõe, permitindo-lhe uma análise mais detalhada e melhor compreensão, além de poder interagir com esse mundo. Além disso, pesquisadores apontam como principais vantagens na utilização de técnicas de RV para fins educativos a motivação, poderio de ilustração de características e processos, permite a visualização de detalhes de objetos ou de objetos que estão a grandes distâncias, como um planeta ou satélite ou ainda, como é o caso deste trabalho, a visualização de ambientes que só existem nos anais da história, permite experimentos virtuais, exige que cada participante se torne ativo dentro de um processo de visualização, encoraja a criatividade, provê igual oportunidade de comunicação para estudantes de culturas diferentes, ensina habilidades computacionais e de domínio de periféricos [1]. O presente artigo tem como objetivo a apresentação de um protótipo de software desenvolvido com técnicas de RV que possa auxiliar professores e alunos no processo de abstração dos conteúdos de história, onde basicamente será reconstituído um ambiente regional, o qual muitas pessoas desconhecem, pois não está nos livros de História tradicionais usados nas escolas. 1.1. Realidade Virtual Realidade virtual é uma interface avançada para aplicações computacionais, que permite ao usuário navegar e interagir, em tempo real, com um ambiente tridimensional gerado por computador, usando dispositivos multisensoriais [2]. A Realidade Virtual pode ser classificada, em função do senso de presença de usuário, em imersiva e não imersiva. A Realidade Virtual é imersiva, quando o usuário é transportado predominantemente para o domínio da aplicação, por meio de dispositivos multisensoriais, que capturam seus movimentos e comportamento e reagem a eles (capacete, caverna e seus dispositivos, por exemplo), provocando uma sensação de presença dentro do mundo virtual [3]. A Realidade Virtual é categorizada como não imersiva, quando o usuário é transportado parcialmente ao mundo virtual, por meio de uma janela (monitor ou projeção, por exemplo), mas continua a sentir-se predominantemente no mundo real [3]. 2. TRABALHOS RELACIONADOS Diversos são os trabalhos existentes que ressaltam a importância da Realidade Virtual nas mais variadas áreas do conhecimento, das quais cita-se o ensino de redes de computadores [4], utilização da Realidade Aumentada em museus para visualização e compreensão de coleções artísticas, técnicas ou biológicas [5], o ensino da fotossíntese usando da Realidade Aumentada [6], o uso da RV no ensino de Matemática fundamental [7], um jogo RPG feito em Realidade Virtual abordando conteúdos multidisciplinares [8], a RV na reconstrução de ambientes históricos [9], dentre outros. Em todos os sistemas avaliados, conclui-se que a Realidade Virtual é uma ferramenta de grande importância para o auxílio na educação e principalmente na reconstituição ou visualização de ambientes complexos, abstratos ou que não existem mais, atuando em diversas áreas do saber, motivando e tornando o aluno mais ativo nas aulas, proporcionando uma melhor absorção do conteúdo ministrado. Neste sentido é ideal também para demonstrar a História de um determinado lugar ou construção. 3. O AMBIENTE HISTÓRICO O ambiente histórico escolhido para a realização deste trabalho é o centro histórico da cidade de Itumbiara nos primórdios de sua fundação, motivado por fatores como: pouco conhecimento dos cidadãos itumbiarenses com relação à sua história, enorme riqueza cultural da cidade pouco explorada, falta de uma ferramenta que possibilite alcançar um maior número de pessoas. O uso da Realidade Virtual na realização deste trabalho visa estimular e motivar o usuário a conhecer toda essa riqueza histórica e cultural descrita em poucos livros. 3.1. Breve História de Itumbiara Itumbiara é um município brasileiro localizado no sul do estado de Goiás, na divisa com o estado de Minas Gerais. Sua população estimada pelo IBGE em 2005 era de 86.496 habitantes. Seus principais pontos turísticos são o Rio Paranaíba, a Represa de Furnas e a Avenida Beira Rio. Práticas náuticas são comuns na cidade devido ao Rio Paranaíba. Itumbiara fica a uma distância de 206 quilômetros de Goiânia e a 400 de Brasília. A História de Itumbiara é contada [10] que, por volta de 1824 o Deputado Imperial Marechal Cunha Matos fez votar uma lei autorizando a abertura de uma estrada variante partindo do povoado de Uberaba, antiga Farinha Podre dirigindo-se à Goiás, atravessando o Rio Paranaíba onde se construiu um porto de passagem em balsa. Junto a esse porto formou-se um povoado, nomeado Porto de Santa Rita. Por decreto do Governo Provincial, em 02 de agosto de 1842, foi criado o Distrito e Freguesia de Santa Rita do Paranaíba pertencente ao município de Morrinhos. Foi elevado a Município em 16 de julho de 1909 e instalado em 12 de outubro de 1909. Por lei Estadual em 27 de julho de 1915, Santa Rita foi elevada a Categoria de Cidade e à Comarca em 31 de julho de 1918 [10]. Por intermédio de um concurso, o Município de Santa Rita do Paranaíba passou a denominar-se Itumbiara que, em Tupi-Guarani significa “Caminho da Cachoeira” [10]. 3.2. A praça da matriz Conta-se [10] que o primeiro Jardim Público de Itumbiara foi construído entre os anos de 1.934 e 1.935 por decreto do prefeito municipal Cel. Sidney Pereira de Almeida. O projeto deste jardim foi executado pelo Engenheiro Dr. Eduardo Figueiredo Mendes, e foi entregue ao público com grande festa em 23 de julho de 1.935. Neste projeto constava a construção dos canteiros, calçamentos e um coreto que ficava de frente à Catedral. 3.3. Catedral Santa Rita de Cássia Conta-se ainda [10] que a Igreja Santa Rita de Cássia fora elevada a Paróquia em 02 de agosto de 1.842, pelo Bispo de Goiás Dom Prudêncio, sendo que o primeiro batizado foi realizado pelo padre goiano Felip Fleury em 1.868, que na ocasião batizou a filha de uma escrava de Manoel Teixeira de Queiróz. Dentre os principais nomes religiosos da cidade podemos destacar o Padre Florentino Bermejo, que administrou a Paróquia Santa Rita de Cássia de junho de 1.917 à 20 de dezembro de 1.965, ano de seu falecimento. Segundo fontes da Casa da Cultura de Itumbiara, em seu projeto original a Catedral Santa Rita de Cássia ficava de frente para o Rio Paranaíba, dando boas vindas aos visitantes que chegavam. Posteriormente foi alterada ficando de frente para a cidade. 3. MÉTODOS APLICADOS Inicialmente foi realizado um levantamento bibliográfico das características físicas do ambiente em questão, por meio do material disponibilizado na Casa da Cultura de Itumbiara que conta em seu acervo com fotografias e objetos originais da época, obras de arte como quadros e uma maquete, trabalhos produzidos por artistas plásticos da cidade que vivenciaram a época. Posteriormente foi realizada a modelagem dos objetos e a implementação do protótipo, que são tratados a seguir. 3.1. Modelagem A modelagem foi feita utilizando-se o 3ds Max [11]. A escolha desta ferramenta deve-se a ela ser uma das mais utilizadas na área de computação gráfica atualmente, graças à sua diversidade de funcionalidades técnicas bem como apoio didático de fácil acesso e que oferece uma grande gama de recursos, facilitando o processo de modelagem. Outro fator importante para a escolha do 3ds Max é que ele permite importar e exportar objetos para os principais formatos tridimensionais existentes. A modelagem foi dividida em 3 fases: modelagem da Catedral, a modelagem do Coreto e a modelagem dos demais objetos que formam a praça (banco, canteiros, etc). 3.1.1. Catedral Santa Rita de Cássia A catedral Santa Rita de Cássia era uma construção bela e imponente que orgulhava a população itumbiarense. Segundo conta-se, em seu primeiro projeto a Igreja era voltada de frente para o Rio Paranaíba, onde hoje se encontra a fonte luminosa na Praça da República e dava boas vindas aos visitantes que chegavam do estado de Minas Gerais. A figura 1 é uma foto original da época e demonstra toda essa beleza. apresentações de bandas marciais, discursos políticos, ou simplesmente um ponto de encontro da população. Na Praça da Matriz situava-se à frente da Catedral Santa Rita de Cássia, que trazia uma elegância a mais para a Praça. Possuía uma geometria em forma de hexágono e era composto por entradas de ambos os lados, uma escada que dava acesso ao andar superior onde havia bancos, a partir do qual a população tinha uma vista privilegiada do centro da cidade. A figura 3 é uma representação em maquete do cenário da Praça, confeccionada por um artista plástico da cidade. Fig. 3. Maquete da Praça. (Disponível para visitação na Casa da Cultura de Itumbiara). Fig. 1. Foto da Catedral Santa Rita de Cássia. (Disponível para visitação na Casa da Cultura de Itumbiara). A figura 4 mostra a imagem do objeto tridimensional, modelado no 3ds Max, que representa o Coreto. De seu projeto original, praticamente nada sobrou da Catedral. Hoje Itumbiara conta com uma igreja moderna, mas não menos imponente e bela que sua antecessora. A representação tridimensional da Catedral é mostrada pela figura 2 a seguir. Fig. 4. Representação tridimensional do Coreto. 3.2. Implementação Fig. 2. Representação tridimensional da Catedral Santa Rita de Cássia. 3.1.2. Coreto O coreto era uma construção comum naquela época, em praças e jardins das cidades, onde geralmente havia Na implementação de um sistema em RV faz-se necessário a integração entre várias ferramentas de modelagem, linguagens e bibliotecas quando é o caso. Feito a modelagem dos objetos utilizando o 3ds Max, estes foram exportados para a linguagem VRML (Virtual Reality Modeling Language), que é uma linguagem de programação destinada a criação de ambientes virtuais 3D. Arquivos que simulam ambientes tridimensionais em VRML são, na verdade, uma descrição textual na forma de textos ASCII, que são interpretados por um plug-in VRML e visualizados diretamente no navegador de internet [1]. O fato de o código VRML ser interpretado por um plugin, merecendo destaque o Cortona e o Cosmo Player, lhe traz vantagens em relação a outras linguagens e bibliotecas, como o código funcionar independente de plataforma e navegador utilizado, dependendo apenas da instalação do plug-in adequado e a facilidade de sua disponibilização na Internet, pois gera códigos muitos pequenos. Uma maior complexidade na interação do usuário com os objetos foi obtida por meio do uso do Javascript juntamente com o VRML. 4. FUNCIONAMENTO DO SISTEMA O protótipo é visualizado por meio do browser de Internet. A página inicial possui algumas instruções sobre como utilizar o protótipo e principalmente sobre a instalação do Cortona para as pessoas que forem o utilizar pela primeira vez, disponibilizando inclusive um link onde pode baixá-lo já que, assim como o VRML, o Cortona é disponibilizado gratuitamente no site do fabricante. O conteúdo da página conta a história da cidade de Itumbiara, no estado de Goiás, desde a época de sua fundação até os tempos atuais, bem como a sua importância no cenário goiano. Dentro do ambiente virtual tridimensional, o usuário pode navegar livremente pelo cenário, utilizando simplesmente as setas do teclado (⇐,⇑, ⇓, ⇒). No interior da Catedral ele tem a possibilidade visualizar os detalhes arquitetônicos da época, as imagens sacras, o altar entre outros. Da mesma forma, o lado exterior consta com uma bela paisagem que era a praça, com seus jardins e canteiros. Dentro do coreto, no andar superior, o ponto de vista do usuário fica ainda mais belo, vendo todos os cantos da praça com uma visão mais elevada. A figura 5 demonstra o diagrama de caso de uso do sistema com as principais ações do usuário. Fig. 5. Diagrama de caso de uso. 5. CONCLUSÕES As pesquisas demonstraram que existe uma gama enorme de aplicações de Realidade Virtual voltadas para a educação, mas pouco se encontrou sobre trabalhos que tratam estritamente do ensino e resgate histórico e cultural de cidades. Demonstrou também que a RV pode facilitar consideravelmente o processo de abstração do conteúdo pelos alunos de aplicação pelo professor, tornando-o mais atrativo e eficiente. É importante frisar ainda que o trabalho em questão será disponibilizado à população e às escolas públicas da cidade, resgatando assim, parte da história de Itumbiara. 5.1. Trabalhos futuros Existem alguns pontos considerados essenciais, que devem ser tratados na continuação deste trabalho. Um ponto crucial é criar um sistema com arquitetura distribuída, que permita ao usuário interagir não somente com o ambiente virtual, mas também com os outros usuários que estejam on-line. Deve-se também, aumentar a interatividade do usuário com os objetos do ambiente como por exemplo possibilitá-lo mover objetos como bancos de um lugar para outro, pois nesta fase de protótipo, as interações estão limitadas ao caminhar pelo ambiente e a abertura de portas e janelas. 6. REFERÊNCIAS BIBLIOGRÁFICAS [1] A. Cardoso, et. al, Tecnologias para o desenvolvimento de sistemas de realidade virtual e aumentada, Ed. Universitária da UFPE, Recife, 2007. [2] C. Kirner, R. A. Siscoutto, “Fundamentos de Realidade Virtual e Aumentada”, Realidade Virtual e Aumentada: Conceitos, Projeto e Aplicações, pp. 9-21, maio 2007. [3] R. Tori, C. Kirner, “Fundamentos de Realidade Virtual”, Fundamentos e tecnologia de Realidade Virtual e Aumentada, pp. 9-28, maio 2006. [4] E. B. Hassan, “Laboratórios Virtuais 3D para Ensino de Redes de Computadores”, XIV Simpósio Brasileiro de Informática na Educação, novembro 2003. [5] I. F. Braga, “Realidade Aumentada em Museus: As Batalhas do Museu Nacional de Belas Artes”, fevereiro 2007. [6] M. W. Ribeiro, W. A. Silva, “O ensino do fotossíntese usando Realidade Aumentada”, IX Symposium on Virtual and Augmented Reality, maio 2007. [7] A. S. F. Sampaio, et. al, “Associando Realidade Virtual ao Ensino de Matemática fundamental”, IX Symposium on Virtual and Augmented Reality, maio 2007. [8] M. A. Tobaldini, M. Martinelli, J. D. Brancher, “Arquiteturas Históricas no Ambiente de um Jogo de RPG Educacional Computadorizado”, novembro 2006. [9] A. Gonçalves, “Reconstrução de Ambientes Históricos Utilizando VRML: o caso do Fórum Flaviano de Conimbriga”, maio 2004. [10] S. P. Almeida, Itumbiara: um século e meio de história, Itumbiara, 1997. [11] A. B. Tavares, D. Lacerda, 3ds Max 8: guia autorizado Autodesk, Ed. Campus, 2ª Reimpressão, Rio de Janeiro, 2006. REALIDADE VIRTUAL AUXILIANDO O APRENDIZADO EM LINHAS DE TRANSMISSÃO DE ENERGIA ELÉTRICA Gleisson Pereira dos Santos, Alexandre Cardoso, Edgard Lamounier. Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia, Uberlândia MG ([email protected], [email protected], [email protected]) Resumo. O presente artigo tem como proposta demonstrar a viabilidade de se utilizar modelos virtuais associados aos métodos didáticos tradicionais de ensino da disciplina de linhas aéreas de transmissão de energia elétrica. Considerando que a aprendizagem deste conteúdo constitui um grande desafio para professores, estudantes e profissionais de engenharia, foi desenvolvido um sistema que utiliza técnicas de realidade virtual para a apresentação dos principais tipos de estruturas que compõem as linhas e seus respectivos acessórios (tais como: isoladores, engates, pára-raios e outros). Palavras chaves. Realidade virtual, transmissão de energia elétrica. Abstract. Considering that the teaching and the learning of airlines of electric power transmission constitute a great challenge for professionals, teachers and engineering students, the present article has as proposal to demonstrate the viability of using virtual models in substitution to the traditional methods in the teaching of this discipline. The present article describes a system that is used of techniques of virtual reality for the presentation of the main types of structures that composes the lines and their respective accessories (insulators and clamps, among other). Fig. 1. Imagem bidimensional de uma estrutura de transmissão. Na busca de soluções para as dificuldades descritas anteriormente, esta pesquisa baseou-se na proposição de uma modelagem para Linhas de Transmissão de Energia Elétrica usando técnicas de realidade virtual (RV) não-imersiva. 2. ARQUITETURA DO SISTEMA A arquitetura do sistema apresentado é formada por uma interface gráfica do usuário e pelos subsistemas: “conjunto de especificações das redes”, “conjunto de detalhes das redes” e “biblioteca de objetos” (de acordo com a figura 2). Keywords. Electric Power Transmission, Virtual Reality. 1. INTRODUÇÃO A educação pode ser pensada como um processo de descoberta, exploração, observação e construção de uma visão do conhecimento [1]. Contudo, em muitos conteúdos, estas características não são fáceis de serem obtidas. É o caso, por exemplo, do ensino e aprendizagem de Linhas Aéreas de Transmissão de Energia Elétrica. Analisando os recursos tradicionais utilizados nas aulas de linhas de transmissão, percebeu-se que vários fatores dificultam o aprendizado. Dentre tais fatores, está a dificuldade de obter material didático relacionado, principalmente imagens das estruturas e de seus componentes. Quando encontradas, as imagens fornecem apenas uma visão bidimensional, que não permite entender o comportamento das estruturas no espaço (conforme pode ser comprovado na figura 1). Por outro lado, sendo grande o número de estruturas, o conhecimento real da maioria delas através de visitas técnicas demanda grande quantidade de tempo, sem falar na dificuldade de visualização dos detalhes no topo de uma estrutura (devido à altura das linhas e da presença de altos níveis de tensão). Fig. 2. Arquitetura do sistema. Inicialmente é apresentado um cenário ao usuário, onde ele pode escolher o tipo de ambiente que deseja visitar. Ao escolher um tipo específico de estrutura, o navegador ativa o subsistema “conjunto de especificações das redes” que busca e retorna ao ambiente gráfico, as características de cada estrutura e quais objetos devem ser inseridos. Caso o navegador deseje visualizar alguma peça em detalhe, um simples clique sobre ela aciona o subsistema “conjunto de detalhes das redes”. Este por sua vez, retorna a peça solicitada à interface do usuário. Os dois subsistemas, “conjunto de especificações das redes” e “conjunto de detalhes das redes” estão em constante relacionamento com o subsistema “biblioteca de objetos”, inserindo ou retirando dos ambientes virtuais determinados objetos, de acordo com a escolha do usuário. 3. DETALHES DA IMPLEMENTAÇÃO Desenvolveu-se um software para ser uma ferramenta de auxílio ao ensino da disciplina de Linhas Aéreas de Transmissão de Energia Elétrica. O mesmo é constituído por um conjunto de ambientes virtuais (modelados em VRML e Java script) que conferem ao usuário o poder de imersão, interação e envolvimento. A tela inicial do sistema apresenta-se no formato de uma página de internet (figura 3) e pode ser visualizada através de qualquer navegador. Fig. 5. Estrutura Estaiada do tipo delta. Ao escolher um determinado ambiente, o estudante visualiza uma estrutura de transmissão de energia elétrica, porém ela é vista sem nenhum acessório. Para visualizar os engates, os isoladores e pára-raios, o navegador precisa escolher uma especificação elétrica para a estrutura em questão. Um menu (figura 6) que aparece do lado da torre oferece estas opções sob a forma de vários níveis de tensão (que variam de 88 Kilo Volts (KV) a 700KV, dependendo do tipo da torre). Fig. 3. Tela inicial do sistema. O sistema desenvolvido neste trabalho possui oito ambientes virtuais, onde em cada um deles existe uma estrutura de transmissão e seus acessórios típicos (conforme figuras 4 e 5). Estes ambientes são divididos em duas categorias: Auto Portantes e Estaiadas (definidas de acordo com as características construtivas das torres). Fig. 6. Menu com as possíveis especificações elétricas do torre (canto direito da imagem). Fig. 4. Estrutura Estaiada do tipo estrela. Ao escolher a especificação elétrica, o sistema imediatamente irá colocar os acessórios nos seus devidos lugares, caracterizando o processo de interação. O detalhe consiste no fato de que esses acessórios variam de acordo com a especificação elétrica. Desta forma, como em cada tipo de torre já existem acessórios pré-definidos para um dado nível de tensão, não é permitido ao usuário alterá-los. Ao se acessar a estrutura Auto Portante do tipo Cinturada, por exemplo, estão disponíveis para ela dois níveis de tensão: 230 KV e 440 KV. Ao escolher o primeiro deles, aparece na estrutura os seguintes acessórios: cadeia de isoladores com 15 discos dispostos verticalmente, engates do tipo U, balancin de suporte para dois condutores e pára-raios de suspensão do tipo grampo (figura 7). manifestados nos isoladores como resultado da aceleração dos elétrons livres do ar sob a presença de campos elétricos [2]. Neste caso, o grau de imersão é bastante grande, fazendo com que o estudante se sinta no ambiente real de uma torre de transmissão (uma vez que o ruído aumenta sua intensidade à medida que o navegador se aproxima das cadeias de isoladores). O segundo efeito se manifesta através de uma animação que simula o movimento da cadeia de isoladores durante uma tempestade. Sob a ação do vento, os cabos condutores transmitem à cadeia esforços horizontais que as deslocam de sua posição vertical, inclinando-as [3]. Nestes casos, observa-se com grande riqueza de detalhes quais os graus de liberdade permitidos a essas cadeias de isoladores. 4. RESULTADOS Fig. 7. Acessórios visualizados na estrutura para a especificação elétrica de 230 KV. De uma forma geral, o estudante ou professor tem a possibilidade de sobrevoar o objeto, caminhar no ambiente virtual e visualizar detalhes de qualquer parte da estrutura. Assim, o usuário recebe respostas a cada estímulo enviado ao sistema, sentindo-se envolvido e imerso (como era de se esperar em uma aplicação de RV). Além disso, o sistema oferece facilidade de manuseio e simplicidade para o entendimento, já que o aprendiz pode experimentar diversas situações dentro do mundo virtual. No entanto, muitas vezes, a observação de uma peça encaixada na estrutura não é suficiente para um total conhecimento de suas características. Para tanto, as peças podem ser vistas separadamente, bastando um simples clique sobre ela. Ao se fazer isso, em uma nova janela é aberto um mundo virtual que contém somente essa peça (conforme a figura 8). Fig. 8. Visualização em detalhe da peça de engate inferior do estai. Uma vez que a rede está montada com todos os seus componentes, dois efeitos físicos podem ser analisados: o efeito corona e o efeito de vento sobre a cadeia de isoladores. O primeiro deles é caracterizado por ruídos audíveis, Se comparado com as técnicas tradicionais (baseadas em imagens bidimensionais e visitas técnicas) o sistema desenvolvido em realidade virtual apresenta, com algumas ressalvas, impactos positivos no ensino de transmissão de energia elétrica. Através dele, os ambientes virtuais das linhas de transmissão podem ser disponibilizados na internet, fornecendo modos flexíveis de aprendizado e atendendo usuários de vários níveis (já que se constitui de um sistema de rápida execução e que pode ser utilizado mesmo por computadores de configuração mais simples). Além disso, provê igual possibilidade de acesso e compreensão a estudantes de níveis culturais diferentes, permitindo sua utilização por aqueles que tenham pouco conhecimento sobre transmissão de energia. Por outro lado, permite que o estudante faça viagens pelo ambiente virtual fora do âmbito de uma aula clássica, até mesmo como uma atividade extra-curricular, realizando o aprendizado a seu próprio ritmo. A alta fidelidade dos objetos, levando em consideração a geometria, o comportamento e as reações do meio, fazem com que os ambientes virtuais encorajem a criatividade e aumentem o poder de observação dos alunos. Permite ainda, que o aluno aprenda sobre linhas de transmissão de energia elétrica inserido no contexto deste assunto e assim receba, a cada ação que fizer, uma realimentação deste contexto. A possibilidade de caminhar ou sobrevoar no ambiente virtual promove uma maior motivação dos usuários, fazendo-os chegar aonde métodos tradicionais de aprendizagem não conseguem. Concede ao aprendiz possibilidade de visitar lugares (no caso, o ambiente das linhas de transmissão) onde as dificuldades de ver as estruturas realmente são grandes, devido à altura das mesmas e da quantidade de tensão presente nos condutores. Ao contrário das visitas técnicas, que são muito demoradas, o ambiente virtual oferece ao usuário condições de visitar lugares em períodos diferentes de tempo e com rapidez tão grande que, em poucas horas, quase todos os tipos de estruturas podem ser visualizadas e experimentadas. Por fim, a realidade virtual permite um poder de visualização muito grande, facilitando a análise de muito perto ou de muito longe de uma parte específica do objeto. Isso contribui para que os professores tenham facilidade de explicar e os aprendizes de entender como certos detalhes influenciam em todo processo de transmissão de energia elétrica. No entanto, é importante ressaltar que um sistema de RV não é uma ferramenta que ensina por si só, mas uma ferramenta auxiliar para a execução de um plano de estudos [4]. Na verdade, pode-se dizer que a realidade virtual é uma forma de interface, onde o usuário pode interagir com sistemas computacionais e trabalhar com dados extremamente complexos através da navegação, interação e imersão[5]. 5. CONCLUSÃO Modelou-se um software, com técnicas de RV, que permite o aprimoramento do ensino de linhas aéreas de transmissão de energia elétrica, considerando os envolvidos: professor e aluno. Para o primeiro, oferece recursos extras que facilitam a exposição do conteúdo enquanto que, para o segundo, a experiência da imersão se transforma em aprendizado com maior qualidade. Por outro lado, é uma solução de baixo custo e a sua disponibilização na internet constitui uma ferramenta de fácil acesso. 6. REFERÊNCIAS BIBLIOGRÁFICAS [1] M.S Pinho. Resumo do SBIE, Belo Horizonte, 1996. Documento disponível no endereço eletrônico http://grv.inf.pucrs.br/Pagina/Educa/educa.htm [2] B.L Pavlik, Tecnologia da ferragem para linhas de AT e EAT, 1ª edição, São Paulo, março de 1989 [3] R.D Fuchs. M.T Almeida,., Projetos mecânicos das linhas aéreas de transmissão, 2ª edição, São Paulo, 1992. [4] A.H CAPATAN; F.A.P FIALHO. Pedagogia e tecnologia: a comunicação digital no processo pedagógico. Universidade Federal de Santa Catarina, 1996. [5] S AUKSTAKALNIS, D BLATNER. - Silicon Mirage: The Art and Science of Virtual Reality, Peatchpit Press, Berkeley, CA, 1992. SIMULAÇÃO FÍSICA DE OBJETOS DEFORMÁVEIS ATRAVÉS DE UM ALGORITMO BASEADO EM POSIÇÃO Mozart W. S. Almeida, Gabriel F. de Almeida, Veronica Teichrieb, Judith Kelner Universidade Federal de Pernambuco, Centro de Informática Grupo de Pesquisa em Realidade Virtual e Multimídia Av. Professor Moraes Rego S/N, Prédio da Positiva, 1º Andar Cidade Universitária, Recife - Pernambuco CEP 50670-901 e-mail: {mwsa, gfa, vt, jk}@cin.ufpe.br Resumo – Simulação de corpos deformáveis é um campo de pesquisa inerentemente interdisciplinar, envolvendo Dinâmica Newtoniana, Computação Numérica, Geometria Diferencial, dentre outros. Quando utilizada no campo dos Jogos Eletrônicos ou da Realidade Virtual e Aumentada, por exemplo, certos conceitos matemáticos mais complexos tornam-se computacionalmente caros, prejudicando a interatividade. Por isso, estas áreas e suas correlatas necessitam de técnicas mais simples que tornem o comportamento dos objetos da cena tanto fisicamente quanto visualmente consistente. Este artigo apresenta uma técnica que pretende alcançar esses objetivos através da manipulação direta das posições dos vértices dos objetos, proporcionando um melhor controle e estabilidade da simulação. O estado atual da implementação, utilizando a engine gráfica OGRE para renderização, também é descrito. Palavras-Chave – Algoritmo Baseado em Posição, Objetos Deformáveis, Simulação Física, Tempo Real. Abstract – Deformable bodies simulation is an inherently interdisciplinary research field, involving Newtonian Dynamics, Numeric Computation, Differential Geometry, among others. When brought to the field of Games or Virtual and Augmented Reality, for example, some complex mathematical concepts become too expensive in order to maintain an acceptable interactivity level. Therefore, these areas and its correlated ones need simpler techniques in such a way the behavior of the objects in a scene becomes physically and visually reasonable. This article deals with a technique that intends to reach those objectives by direct manipulation of the positions of the objects’ vertices, providing a better control and stability of the simulation. The actual state of its implementation, using the graphics engine OGRE for rendering is described as well. Keywords – Deformable Bodies, Physical Simulation, Position Based Algorithm, Real Time. 1. INTRODUÇÃO A construção de aplicações interativas requer a modelagem, em diversos níveis, dos objetos que compõem a cena. Dentre estes níveis, há a modelagem física, que integra o objeto com suas características físicas, como peso, inércia, dureza, etc [1]. Basicamente, podem-se simular fisicamente dois tipos de objetos: rígidos ou deformáveis (Figura 1). Estes, ao colidirem com algum outro corpo qualquer durante a simulação, sofrerão algum tipo de deformação, de acordo com as características do impacto, dos corpos sofrendo colisão e da configuração do ambiente que os cerca. Fig. 1. Tecido exemplificando um objeto deformável. Conhecida por sua inerente interdisciplinaridade, a simulação de corpos deformáveis tem sido bastante utilizada em áreas como Engenharia Mecânica e Ciência dos Materiais, sempre procurando simular o comportamento de determinados objetos quando submetidos a certas condições, com o maior nível de precisão possível. Na Computação Gráfica, esse tipo de simulação vem apresentando resultados há cerca de duas décadas, em discussões sobre animação 3D, juntamente ao trabalho pioneiro de Terzopoulous et al [2][3]. Neste, são estudados modelos elasticamente deformáveis, utilizados em animação. Desde então, novas técnicas vêm sendo desenvolvidas para um comportamento mais realista, presentes em filmes, aplicações científicas e em softwares interativos, nos quais se enquadram aplicações de Realidade Virtual e Aumentada (RV e RA) [4], assim como Jogos Eletrônicos [5]. As técnicas de simulação física mais utilizadas são as baseadas em força, em impulso e em posição. As baseadas em força precisam de uma integração de segunda ordem no tempo para atualizar as posições das partículas [6], as baseadas em impulso, alcançam as posições a partir da manipulação direta das velocidades [7] e as baseadas em posição manipulam diretamente as posições dos vértices, evitando alguns cálculos de integração e adicionando um maior controle aos elementos manipulados [5][8]. Devido a sua simplicidade e controle sobre a simulação, os algoritmos baseados em posição tornam-se novas alternativas ao desenvolvimento de aplicações interativas mais realistas, tanto visualmente quanto fisicamente. Neste contexto, o objetivo deste trabalho é demonstrar uma técnica baseada em posição bastante efetiva, nomeada Position Based Dynamics (PBD), detalhando o algoritmo e retratando o estado atual do seu desenvolvimento. Na próxima seção será fornecida uma breve visão sobre certos conceitos matemáticos. Na seção 3, será apresentado o funcionamento geral do PBD. A seção 4 abordará o andamento do desenvolvimento deste algoritmo. Na seção 5 serão destacadas as lições sendo aprendidas durante o trabalho, além dos próximos passos do desenvolvimento. 2. CONCEITOS BÁSICOS '( ) $ , , " # %. (6) O máximo valor de , , , ou seja, a taxa máxima de variação da função , , é igual a ||), , || , ocorrendo na direção de ), , . Então, se ), , + 0, o gradiente é perpendicular à superfície (em 3D), caso , , 0 [9][10]. 3. O ALGORITMO PBD Nesta seção, são apresentados os conceitos básicos sobre diferenciação parcial e gradiente. Apesar de sua extensão e complexidade, serão explicados de uma forma sucinta. A principal utilização destes conceitos é na geração de restrições como as de colisão, por exemplo, em que se faz necessário calcular direção e taxa de variação do movimento da menor unidade representativa do objeto, i.e., partícula. 2.1. Diferenciação Parcial A derivada parcial de uma função de mais de uma variável é a derivada relativa a uma de suas variáveis independentes, considerando as outras como constantes na derivação [9]. O exemplo a seguir demonstra a notação mais utilizada para indicar que a diferenciação foi executada com respeito a apenas uma das variáveis independentes da função. Seja um cone com altura e raio da base , cujo volume é . (1) Nesta função, há duas variáveis independentes: e . Se permanece constante enquanto muda, a taxa de variação (derivada) no volume com respeito ao raio da base será . (2) Este resultado representa a derivada relativa a , mantendo como constante. Caso sua altura mude enquanto o raio da base permanecer constante, a taxa de variação será Esta seção detalhará o PBD estudado e parcialmente implementado neste trabalho, além de suas características [8]. 3.1. Visão Geral Considerando um objeto 3D, sujeito a um sistema físico composto de N vértices e M restrições, tem-se que: • Cada vértice - pertencente ao objeto possui uma posição . , uma massa /. e uma velocidade 0. . Cada restrição 1 é composta por: • Uma cardinalidade 23 , que indica sobre quantos vértices por vez ela atua; • Uma função 43 : 567 8 5, que recebe como entrada os valores de coordenada de cada partícula sobre as quais atua (considerando partículas com três graus de liberdade); • Um conjunto de índices, relativos aos vértices do objeto 3D, cuja cardinalidade é igual a 23 ; • Um parâmetro de dureza (stiffness) 9 que assume valores reais entre 0 e 1 e define o nível de atuação da restrição; • Um tipo que especifica se a restrição é satisfeita quando 41.: , . . . , .67 0 (equality constraint) ou se é satisfeita quando 41.: , . . . , .67 ; 0 (inequality constraint). De posse destas informações e considerando uma variação de tempo ∆= , o algoritmo apresentado na Figura 2 se comportará da seguinte maneira: . (3) Neste caso o processo é o mesmo da equação anterior, apenas considerando como uma constante. 2.2. Derivadas Direcionais e Gradiente Em equações que descrevem movimento de partículas, por exemplo, há a necessidade de conhecer a taxa de variação numa determinada direção utilizando o conceito de derivada direcional [9]. Por exemplo, a derivada direcional , , de uma função , , na direção de um vetor unitário , , é igual à soma dos produtos das derivadas parciais da função por cada coordenada do vetor , respectivamente. Ou seja: ! ! . (4) , , " # Esta equação pode ser escrita como o produto escalar entre um vetor formado pelas derivadas parciais de e o vetor unitário que indica a direção da variação: , , $ , , % & , , . (5) " # O primeiro vetor desta operação é conhecido como o gradiente de ou o vetor gradiente de : Fig. 2. Algoritmo baseado em posição [8]. Inicialmente todos os componentes dos vértices do sistema devem ser inicializados, informando sua posição inicial, sua velocidade inicial e um componente > que é o inverso da massa de cada vértice, para auxiliar em parte da projeção das restrições e simplificar a representação de vértices estáticos (linhas 1 a 3 do algoritmo). Inicializando o laço principal, faz-se com que a velocidade de cada vértice seja atualizada a partir da geração de forças externas ao sistema, caso não possam ser convertidas em restrições de posição. No caso abordado neste artigo, apenas a força da gravidade é adicionada neste passo (linha 5). O próximo passo é amenizar (damping) as velocidades antes que se possa utilizá-las para a predição de novas posições (linha 6). Para isso, calcula-se uma variação na velocidade do vértice subtraindo sua velocidade individual da movimentação global do objeto e depois se atualiza a velocidade do vértice utilizando uma constante 9 , que assume valores reais entre 0 e 1, como um peso para limitar a contenção na velocidade individual. Sendo assim, se o valor de 9 for igual a 1, resultará na não variação da velocidade do vértice em relação ao corpo, ou seja, ele se comportará como um corpo rígido [8]. A fim de prever as novas posições de cada vértice, uma integração euleriana explícita (? ?@ ! 0∆=) é aplicada, utilizando a posição atual e a velocidade atual para encontrar a nova localidade (linha 7). O algoritmo possui duas classificações para as restrições manipuladas, as fixas e as dinâmicas. As restrições fixas são as que sempre terão de ser satisfeitas e não variam ao longo da simulação. As dinâmicas são as que precisam ser geradas a cada iteração, pois suas condições mudam com o tempo, como é o caso das restrições de colisão, que precisam ser geradas a cada timestep (intervalo de tempo), devido à mudança constante das configurações globais do mundo. Restrições como as de conservação de volume ou de distância, por exemplo, podem ser consideradas fixas. Na seqüência, é necessário gerar as restrições de colisão antes de projetar todas elas (linha 8). Para isto ocorrer, primeiramente utiliza-se a abordagem de manipulação de colisão contínua. Dessa maneira, traça-se um raio da posição anterior . à posição prevista pelo passo anterior do algoritmo, A. . Se o raio intersecta um objeto, calcula-se o ponto de entrada BC e a normal da superfície naquela posição 2C , resultando numa nova restrição de desigualdade 4D D – FC & GC , com 9 1 . A restrição é de desigualdade por que a nova posição deverá estar fora do corpo colidido para satisfazer à restrição (o cosseno do ângulo entre os dois vetores deverá ser menor ou igual a zero). Se o raio . 8 A. entra totalmente no objeto, o método de colisão contínua falhou em algum ponto. Neste caso, a saída é utilizar colisão estática, calculandose o ponto mais próximo de A. na superfície, BI e a normal da superfície naquela posição 2I , gerando uma nova restrição de desigualdade 4D D – FI & GI , também com 9 1. O próximo passo é o principal do algoritmo, o chamado solver, pois é nele que são verificadas e projetadas todas as restrições (linhas 9 a 11). Consiste em um laço com um determinado número de iterações (inicialmente fixo) que executa uma função que recebe todas as restrições definidas para a simulação, além das de colisão recém-geradas; as estimativas das novas posições também servem de entrada, para serem atualizadas durante a projeção. Projetar pontos de acordo com uma determinada restrição é movê-los de forma que a restrição seja satisfeita. A conservação dos momentos linear e angular cria as duas principais restrições internas a serem satisfeitas durante a projeção, para que se tenha uma simulação estável. O método apresentado para a projeção de restrições funciona de tal forma que as restrições de momento são satisfeitas automaticamente de uma forma geral. Isto se consegue pelo fato de que, utilizando os A6 pontos sobre os quais uma restrição 4 qualquer atua e concatenando-os na forma A JAK , . . . , A6K LK , para restrições internas, a translação e rotação do objeto não afetarão o valor de 4 . Dessa forma, )M 4 é perpendicular tanto à rotação quanto à translação, dado que 90° é a direção de variação máxima. Por isso, se a variação da posição ∆A ocorre ao longo de )4P , os momentos são conservados (para massas iguais). Para encontrar ∆A dado que se possui A, tal que 4A ! ∆A 0, tem-se que: 4A ! (A Q 4A ! )M 4A & ∆A 0. (7) E, sabendo-se que para que ∆A tenha a mesma direção que )M 4, deve-se ter um R tal que: ∆A R )M 4A. (8) Substituindo-se ∆A na equação (7) pela equação (8) e isolando R, tem-se: TP ∆A S )P 4A. (9) |)U TP|² Chegando, assim, na equação para correção de um ponto individual A. : ∆A. S ? )PW 4A , . . . , A6 , (10) em que ? é: TP: ,...,PX ?∑ . (11) 7 |)U7 TP: ,...,PX |² Caso cada ponto possua massa individual, pesam-se as correções ∆A. , com o valor inverso da massa >. . Assim, ∆A. R>. )PW 4A, (12) resultando em )A. S ?>. )PW 4A , . . . , A6 , (13) dado que TP: ,...,PX ? ∑ . (14) 7 Z7 |)U7 TP: ,...,PX |² Depois da projeção, tendo as novas posições dos vértices respeitando todas as restrições consideradas, pode-se iterar por todos os vértices atualizando as velocidades 0. e posições . de cada um (linhas 13 a 14). O último passo do algoritmo atualiza as velocidades para todos os vértices que tiveram restrições de colisão geradas, refletindo sua posição perpendicularmente à superfície colidida (linha 16). 3.2. Características Algoritmos baseados em posição são bastante favoráveis para quem trabalha com aplicações interativas, como Jogos ou aplicativos de RV e RA, por exemplo. O principal motivo é a facilidade de manusear a posição de cada vértice quando se deseja anexá-lo a um personagem em um jogo, por exemplo. Outro caso seria tornar um vértice em especial estático, simplesmente mantendo sua posição atualizada sempre num ponto fixo através do ajuste de sua massa para infinito, i.e., > 0. A geração de restrições de colisão a cada iteração fora do laço interno, como mostrado na subseção 3.1, melhora o desempenho e o tratamento de colisões, visto que, se houvesse um número fixo de restrições deste tipo, alguns casos de colisão poderiam falhar [8]. O maior controle sobre os vértices, ao contrário das técnicas baseadas em força e velocidade, remove certos problemas típicos de instabilidade, como ganho de energia, provenientes das integrações explícitas sobre o tempo. A Figura 1, exibida no início do artigo, demonstra um dos resultados possíveis esperados para este algoritmo. 4. DESENVOLVIMENTO O processo de desenvolvimento do algoritmo está em fase inicial. Até o momento foram implementadas e parcialmente testadas as partes de damping das velocidades e atualização das posições finais. A renderização gráfica dos objetos a serem simulados será realizada pela engine gráfica OGRE [11]. Desta forma, no atual estágio em que se encontra o desenvolvimento ainda não são fornecidos resultados visuais. A idéia inicial consiste em desenvolver uma aplicação mínima que possua alguns objetos na cena e que aborde um número aceitável de restrições que permitam uma simulação estável e visualmente convincente. Para a representação de cada vértice há uma classe Vertex, que possui os seguintes atributos: massa ([); posição (\] ; posição a ser estimada D] ; velocidade ^] ; inverso da massa _ , que é inicializado logo que se conhece a massa do vértice. Para as restrições, há a classe Constraint, que é abstrata e contém todas as propriedades comuns às restrições: tipo (equality ou inequality); um método virtual project que, nas subclasses de Constraint será responsável pela projeção da restrição; sua constante de stiffness. Vértices e restrições estão encapsulados numa lista da classe Physics que, inicialmente, possui variáveis globais para representar a gravidade, a massa de cada vértice – inicialmente igual para todos – e o coeficiente de damping. A aplicação, que fará uso das capacidades de renderização do OGRE, possui uma instância de Physics e a cada atualização de frame, invoca o método simulate desta, informando um timestep. Este, por sua vez, executará o algoritmo e, internamente, o solver um número fixo de vezes. 4.1. Dificuldades Encontradas A complexidade das definições matemáticas, aliada à dificuldade em associá-las aos conceitos físicos para sua implementação, principalmente na geração e projeção das restrições, vêm se mostrando a principal dificuldade encontrada no curso do desenvolvimento deste trabalho. A elaboração de uma estrutura de classes que torne a aplicação facilmente extensível e reutilizável também é um desafio, visto que o algoritmo apresentado fornece a possibilidade de adição de novas restrições e deixa o desenvolvedor livre para substituir alguns de seus procedimentos por outros similares, como a função de damping das velocidades, por exemplo. A relativamente alta curva de aprendizado para entender o funcionamento da renderização através da manipulação dos Vertex Buffers no OGRE [11] pode ser considerada também como um dos fatores que dificultaram o desenvolvimento. 5. CONCLUSÕES E TRABALHOS FUTUROS Aplicações interativas necessitam de velocidade de execução a fim de que possam satisfazer aos seus usuários, provendo um tempo de resposta visualmente aceitável. Por outro lado, além de interativas, elas devem possuir um nível aceitável de realismo, que é o principal objetivo de técnicas como a apresentada neste artigo. Técnicas baseadas em posição são eficientes na simulação em tempo real devido à sua relativa simplicidade e adequação visual. Além da conclusão da implementação do algoritmo, o desenvolvimento de novas restrições será realizado para aumentar ainda mais o grau de realismo da simulação como, por exemplo, a adoção de conservação de volume. Cabe ressaltar que a eficiência a cada atualização será observada. Somado a isto, uma segunda técnica também de tempo real será implementada, originando uma análise comparativa de desempenho e viabilidade de aplicação eficiente em aplicações mais complexas. AGRADECIMENTOS Os autores agradecem ao CNPq, que parcialmente financiou este projeto. REFERÊNCIAS BIBLIOGRÁFICAS [1] G. C. Burdea, P. Coiffet, Virtual Reality Technology, John Wiley & Sons, 2ª edição, New Jersey, 2003. [2] J. Lasseter, “Principles of Traditional Animation Applied to 3D Computer Animation”, Computer Graphics, vol. 21, no. 4, pp. 35-44, July 1987. [3] D. Terzopoulos, J. Platt, A. Barr, K. Fleischer, “Elastically Deformable Models”, Computer Graphics, vol. 21, no. 4, pp. 205-214, July 1987. [4] J. Brown, S. Sorkin, C. Bruyns, J.-C. Latombe, K. Montgomery, and M. Stephanides, “Real-Time Simulation of Deformable Objects: Tools and Application”, in Proc. of CASA, pp. 228-258, 2001. [5] T. Jakobsen, “Advanced Character Physics”. Disponível em: gamasutra.com. URL: http://www.gamasutra.com/ resource_guide/20030121/jacobson_01.shtml, visitado em Setembro de 2007. [6] A. Nealen, M. Müller, R. Keiser, E. Boxerman, and M. Carlson, “Physically Based Deformable Models in Computer Graphics”, in Proc. of EG, pp. 71-94, 2005. [7] B. Mirtich and J. Canny, “Impulse-Based Simulation of Rigid Bodies”, in Proc. of SI3D, pp. 181-188, 1995. [8] M. Müller, B. Heidelberger, M. Hennix, J. Ratcliff, “Position Based Dynamics”, in Proc. of VRIPhys, pp. 7180, 2006. [9] G. Strang, Calculus, Wellesley-Cambridge Press, 2ª Edição, Wellesley, 1991. [10] E. W. Weisstein, “Gradient”. Disponível em: Mathworld – a Wolfram Web Resource. URL: http://mathworld.wolfram.com/Gradient.html, visitado em Setembro de 2007. [11] OGRE. Disponível em: site do OGRE Team. URL: http://www.ogre3d.org, visitado em Setembro de 2007. SISTEMA DE REALIDADE VIRTUAL PORTÁTIL DE APOIO A EDUCAÇÃO DE CRIANÇAS SURDAS – ERLENEN Mônica Rocha Ferreira de Oliveira 1, Alexandre Cardoso1, Edgard Afonso Lamounier Júnior1. 1 - Grupo de Realidade Virtual da Universidade Federal de Uberlândia – GRV UFU – Universidade Federal de Uberlândia [email protected], [email protected], [email protected] Resumo O processo de ensino-aprendizagem de deficientes auditivos ocorre com grande dificuldade, dada a importância da comunicação com a Língua de Sinais. Algumas pesquisas demonstram a diferença que o uso da RV pode trazer para o aprendizado de estudantes, com maiores habilidade visuais/cinestésicas. O objetivo deste trabalho é a construção de um tradutor Português-Libras portátil (utilizando dispositivos móveis) de língua falada para Libras em 3D, utilizando de Realidade Virtual (RV), permitindo a sua utilização em dispositivos móveis, e que acompanhe o contexto das necessidades escolares de crianças do ensino fundamental, apoiado em um dicionário contextualizado. Para tanto, a utilização de componentes de interface com o usuário nativas do J2ME parece uma boa solução, mas leva a pouco aproveitamento das capacidades dos dispositivos mais avançados. A estratégia de separação entre os modelos de dados e da lógica da aplicação, da interface do usuário, permitirá o aproveitamento do sistema por qualquer dispositivo, tendo que adaptar apenas a interface do usuário. Palavras-Chave: Deficientes auditivos, LIBRAS, Realidade Virtual, dispositivos móveis. Abstract The process of teach-learning of deficient auditory occurs with great difficulty, given the importance of the communication with the Language of Signals. Some research demonstrates the difference that the use of the RV can bring for the learning of students, with bigger ability visual/kinaesthetic. The objective of this work is the construction of portable a Portuguese-LIBRAS translator (using mobile devices) of language said for Pounds in 3D, using of Realidade Virtual (RV), allowing its use in mobile devices, and that it folloies the context of the pertaining to school necessities of children of basic education, supported in a contextualizado dictionary. For in such a way, the use of components of interface with the user native of the J2ME seems a good solution, but it takes the little exploitation of the capacities of the devices most advanced. The separation strategy enters the models of data and of the logic of the application, of the interface of the user, it will allow the exploitation of the system for any device, having that to adapt only the interface of the user. A Constituição Federal estabelece o direito de as pessoas com necessidades especiais receberem educação preferencialmente na rede regular de ensino (art. 208, III). Segundo o Instituto Brasileiro de Geografia e Estatística (IBGE) no Brasil, cerca de 14.5% da população é portadora de algum tipo de deficiência. Destes, 2,42% são portadores de deficiência auditiva. Sabe-se que a inclusão de crianças surdas no universo escolar regular brasileiro é cada vez mais acentuada e a classe docente que recebe estes alunos nem sempre está devidamente preparada para ministrar aulas em LIBRAS. O processo de ensino-aprendizagem de deficientes auditivos ocorre com grande dificuldade, dada a importância da comunicação com a Língua de Sinais. Esta dificuldade aumenta em função dos níveis de perda auditiva. Uma grande parte da população com deficiência auditiva vem fazendo uso de aparelhos telefônicos celulares. Eles os utilizam para comunicação entre surdos e ouvintes: no dia-adia é comum o uso de telefones celulares para o envio de mensagens e correspondência via correio eletrônico. Segundo Carreira, as operadoras e fabricantes de celulares ainda não têm dado a devida atenção aos deficientes auditivos no Brasil [4]. O uso da Realidade Virtual (RV) imersiva e não imersiva na educação de surdos para o desenvolvimento da Língua de Sinais ainda não foi devidamente explorado. Algumas pesquisas demonstram a diferença que o uso da RV pode trazer para o aprendizado de estudantes, com maiores habilidade visuais/cinestésicas (). Sendo assim, os deficientes surdos poderão beneficiar-se desta tecnologia, pois, permitirá o acesso às imagens e as informações verbais-escritas, com o poder de manuseá-las [2]. Motivado por todos estes fatores, a proposta deste trabalho é a construção de um tradutor Português-Libras portátil (utilizando dispositivos móveis) de língua falada para Libras em 3D, utilizando Realidade Virtual (RV) que acompanhe o contexto das necessidades escolares de crianças do Ensino Fundamental, apoiado em um dicionário contextualizado. A utilização de Realidade Virtual justifica-se pelo fato de Libras ser uma linguagem espacial que demanda significativa interpretação da “navegação” dos movimentos das mãos de seu interlocutor. Durante o aprendizado da mesma, necessitase conhecer o posicionamento das mãos de vários ângulos, portanto o uso das técnicas tradicionais de RV apresenta-se com grande potencial para este tipo de aplicação. Keywords: Deficient auditory, LIBRAS, Virtual Reality, mobile devices. 2. TRABALHOS CORRELATOS 1. INTRODUÇÃO Diversas soluções estão sendo desenvolvidas visando à inclusão digital de pessoas portadoras de deficiência auditiva, e uma das soluções é um software para telefone celular projeto Rybena, que transforma as mensagens de texto em imagens na Língua Brasileira de Sinais na tela do celular [6]. possa ser utilizada também em conexão com telefones celulares, computadores handhelds e outros aparelhos portáteis. Fig. 3 – Synface em execução(Beskow 2004). Fig.1-Tela do aplicativo do projeto Rybená (Group 2006). De forma diferenciada do aplicativo já citado, que envolve tradução de texto para Libras, há em desenvolvimento alguns projetos que visam à tradução da língua portuguesa falada para LIBRAS, o projeto Falibras, desenvolvido com apoio do CNPQ/FAPEAL, tem como base de referência um compilador que traduz do Português (falado ou escrito) para a Língua Brasileira de Sinais (Libras) na forma gestual animada (2D), com o intuito de facilitar a comunicação entre ouvintes e surdos, ajudando estes a aprender a língua portuguesa, capacitando-os de se desenvolver socialmente. É um sistema que busca exibir no computador gestos em Libras, de forma animada, a partir de expressões faladas em português, por um locutor externo [10]. Fig.2 – Telas do Sistema Falibras[10]. O projeto Synface [1] – a junção das palavras inglesas “synthetic” e “face”, ou "rosto sintético" – foi desenvolvido por pesquisadores do Royal Institute of Technology em Estocolmo, na Suécia, e da University College London. O sistema funciona em computador pessoal conectado a um telefone, e reconhece os diferentes sons produzidos pela pessoa do outro lado da linha, recriando os movimentos labiais em um rosto artificial (2D) que se move na tela. Isso permite que o usuário faça leitura labial em tempo real, além de ouvir a fala da outra pessoa também pelo telefone convencional. Os pesquisadores esperam que a tecnologia Entretanto, ao estudar estes sistemas percebe-se que nenhum deles preocupou-se com o caráter espacial da LIBRAS, apresentando imagens em 2D apenas frontal. É necessário ainda considerar que nenhum deles aborda o aprendizado da LIBRAS e/ou da Língua Portuguesa. Estes fatos diferenciam fundamentalmente o trabalho proposto neste projeto dos já em desenvolvimento. 3- DISPOSITIVOS E API’S PARA DESENVOLVIMENTO DE APLICAÇÕES 3D EM TELEFONES CELULARES Diversos modelos de dispositivos celulares contemplam variados hardwares e sistemas operacionais. Esta variedade ainda é maior devido a softwares disponibilizados pelas operadoras. O que é realmente comum as diversas marcas e modelos é o aumento progressivo na capacidade de processamento gráfico e de armazenamento dos dispositivos móveis, especialmente telefones celulares e PDAs. Este fato aponta para um novo cenário de interação onde os usuários desses dispositivos poderão visualizar e explorar ambientes gráficos 3D, de forma individual ou colaborativa, independentemente de sua localização física [11]. Em particular, um problema crítico enfrentado durante o desenvolvimento de aplicações gráficas 3D para dispositivos móveis é conseguir oferecer sofisticados recursos de visualização e navegação de forma eficiente, levando-se em conta os limites de memória e processamento de cada tipo de dispositivo. M3G (Mobile 3D Graphics), também conhecida como JSR-184 (Java Specification Request), é uma API (Interface de Programação de Aplicativos) de alto-nível, proposta para a plataforma Java. Corresponde a um pacote gráfico 3D opcional, que deve ser utilizado em conjunto com a plataforma Java 2 Platform Micro Edition (J2ME) para dispositivos móveis, obrigatoriamente com a configuração CLDC 1.1 (Connected Limited Device Configuration), podendo utilizar quaisquer dos perfis MIDP (Mobile Information Device Profile) 1.0 ou 2.0 (Microsystems 2006). Esta API é voltada para dispositivos que tipicamente possuem pouca memória, poder de processamento reduzido, e sem suporte em hardware para processamento gráfico 3D ou aritmética de ponto-flutuante como, por exemplo, telefones celulares e PDAs (Personal Digital Assistant). OpenGL ES (OpenGL para Sistemas Embarcados, ou Embedded Systems) é uma especificação livre de uma API gráfica, de baixo nível, portável, que permite a utilização de funções 2D e 3D em sistemas embarcados, incluindo consoles, telefones, PDAs, computadores portáteis, entre outros [7]. Consiste de um subconjunto bem definido da OpenGL (uma API voltada para computadores pessoais, de grande utilização no desenvolvimento de aplicações em Computação Gráfica), é compacta e otimizada para trabalhar em dispositivos com recursos limitados. Apresenta uma interface de baixo-nível flexível e robusta localizada entre o software e o acelerador gráfico. Para desenvolvimento do aplicativo está sendo utilizado o NetBeans IDE 5.5.1, Java 1.6.0-02 em um computador AMD Turiona 64 x2 com Windows WP Service Pack2. pelo sinal em LIBRAS 3D, correspondente ao conceito (Figura 5b). Neste momento é permitida a navegação pela imagem, com o intuito de visualizar de diversos ângulos o movimento correto do sinal LIBRAS. 4 – ARQUITETURA DO SISTEMA O modelo elaborado para desenvolvimento do sistema é representado pela arquitetura abaixo: DISPOSITIVO MÓVEL U S U Á R I O Fig. 5a – Tela inicial do sistema. RECONHECIMENTO DE VOZ G U I BANCO DE DADOS ANIMAÇÃO 3D CONCEITO LETRAS Fig. 5b – Tela do sinal LIBRAS 3D. A qualquer momento é permitido ao usuário do sistema escolher num menu a visualização do significado da palavra em uso (Figura 6a) e a forma escrita da palavra, com letras do alfabeto LIBRAS (Figura 6b). Também é facultado ao usuário solicitar a repetição de qualquer uma das telas do sistema: sinal LIBRAS 3D, significado e soletração do conceito. erlenen Fig.4 – Arquitetura do sistema ERLENEN. Os sinais serão desenvolvidos no formato de animações 3D e serão apresentados num ambiente virtual nos equipamentos portáteis, permitindo a navegação e conseqüente visualização do sinal de diversos ângulos. O sistema de reconhecimento de voz espera-se que seja feito com a utilização de uma Rede Neural Artificial (RNA). Admitindo que a capacidade computacional dos dispositivos portáteis não é suficiente para executar algoritmos complexos de treinamento de RNA, um módulo será desenvolvido em equipamento desktop para ajuste dos parâmetros deste reconhecimento de voz. 6 – DETALHES DE DESENVOLVIMENTO Figura 6a - Tela do significado Atualmente o projeto encontra-se em fases de pesquisas sobre a especificação JSR-184 e a qualidade de imagem. Um protótipo foi desenvolvido em J2ME, porém contempla ainda imagens 2D. A figura 5a mostra a tela de abertura do sistema, que é também a tela de espera por ativação do tradutor. O sistema fica nesta tela até que reconheça uma palavra (conceito) previamente selecionada pelo professor para ser trabalhada durante uma determinada aula. No momento em que a palavra ocorre, a imagem é substituída Apesar de J2ME permitir desenvolver aplicações que cubram uma vasta gama de dispositivos (portabilidade), fazer com que estas funcionem sem problemas em todos os aparelhos é um desafio. A utilização de componentes de interface com o usuário nativas do J2ME parece uma boa solução, mas leva a pouco aproveitamento das capacidades dos dispositivos mais avançados. A separação entre os modelos de dados e da lógica da aplicação, da interface do usuário, permitirá o aproveitamento do sistema por qualquer dispositivo, tendo que adaptar apenas a interface do usuário. Figura 6 b- Tela ‘soletração’ do conceito 7 – CONCLUSÃO E TRABALHOS FUTUROS Com o desenvolvimento deste projeto, espera-se o desenvolvimento de sinais no formato 3D suportado pelos aparelhos móveis, que serão apresentados num ambiente virtual, permitindo a navegação e conseqüente visualização do sinal de diversos ângulos. Um sistema de reconhecimento de voz (palavras) deve ativar o sistema, de forma a liberar o acesso as diversas maneiras de visualização da palavra. Ainda, vislumbrando um melhor aprendizado da criança portadora de deficiência auditiva, associado ao vídeo do sinal reconhecido, apresentar-se-á o conceito estabelecido pelo professor (dentro do contexto da disciplina ministrada) e as letras, em português e em Libras, da palavra tratada. A avaliação do sistema ERLENEN deve ocorrer de forma sistemática, por meio de grupos de controle, e amostras estatisticamente válida, utilizando escolas inclusivas e instituições de apoio a crianças surdas, além de professores dos cursos de pedagogia que trabalham com educação especial. O aprimoramento do sistema de reconhecimento de voz, para reconhecimento de voz ativa e também o reconhecimento em tempo real de sentenças inteiras são sugestões para trabalhos de continuidade a este projeto. Bibliografia [1] Beskow, J. (2004). A Talking Head Telephone for the Hearing-impaired. Computers helping people with special needs [2] Brandão, E. J. R. (2000). A Realidade Virtual como Proposta de Ensino-Aprendizagem de Matemática para Deficientes Auditivos – RV_PEAMDA- Passo Fundo, Universidade de Passo Fundo. [3] Capovilla, F. C. (2004). Avaliando Compreensão de Sinais da Libras em Escolares Surdos do Ensino Fundamental. Interação em Psicologia. 8. [4] Carreira, J. C. (2006) Surdos ainda sofrem no acesso à telefonia. Revista Mundo Java Volume, DOI: [5] Franco, Â. M. (2002). A INFORMÁTICA COMO RECURSO PEDAGÓGICO NO PROCESSO DE ALFABETIZAÇÃO DE CRIANÇAS COM NECESSIDADES EDUCATIVAS ESPECIAIS Gestão de Negócios. Florianópolis, Universidade Federal de Santa Catarina. Mestre. [6] Group, B. J. U. (2006). Rybená. Brasília: inclusão social de portadores de necessidades especiais, através do uso de comunicação digital. [7] Group, T. K. (2006). OpenGL ES. [8] MENICUCCI, M. D. C. (2006). A APAE E A EDUCAÇÃO INCLUSIVA. [9] Microsystems, S. (2006). JSR-139 Connected Limited Device Configuration 1.1. [10] PIRES, L. C. (2005). AQUISIÇÃO DA LÍNGUA PORTUGUESA ESCRITA (L2) POR SINALIZANTES SURDOS DALÍNGUA DE SINAIS BRASILEIRA (L1). Lingüística. Florianópolis, Universidade Federal de Santa Catarina. Mestre. [11] Rodrigues, M. A. F. (2006). Desenvolvimento de Aplicações 3D para Dispositivos Móveis utilizando as APIs M3G e OpenGL ES. Fortaleza, Universidade de Fortaleza. Mestre. [12] Valente, J. A. O uso inteligente do computador na educação. Campinas, NIED. UM COMPONENTE PARA IMPLEMENTAÇÃO DE PROFUNDIDADE EM AMBIENTES DE REALIDADE MISTURADA Silvio R. R. Sanches 1, Ildelberto A. Rodello 1, José Remo F. Brega2, Antonio Carlos Sementille1,2. 1 - Programa de Pós Graduação em Ciência da Computação - Centro Universitário Euripídes de Marília (UNIVEM) 2 - Laboratório de Sistemas de Tempo Real (LSTR) – Universidade Estadual Paulista (Unesp) [email protected], [email protected], [email protected], [email protected]. Resumo – A maioria dos sistemas de Realidade Misturada baseados nas bibliotecas e suportes existentes não permite que elementos reais obstruam objetos virtuais, quando necessário, causando prejuízo a naturalidade da cena. A proposta deste trabalho é a utilização da técnica do chromakey, implementada como um componente para a biblioteca ARToolkit, para extração de elementos reais e a manipulação do framebuffer do OpenGL para composição da cena coerentemente. Palavras-Chave Misturada. – ARToolkit. Chromakey. Realidade Abstract – Most Mixed Reality Systems based in existing libraries do not allow that real elements obstruct virtual objects when it is necessary. The present paper proposes the use of the chromakey technique, implemented as an ARToolkit library component, for real elements extraction and the OpenGL framebuffer manipulation to compose the scene coherently. 1 Keywords - ARToolkit. Chromakey. Mixed Reality 1. INTRODUÇÃO Muitas das dificuldades encontradas no desenvolvimento de sistemas de Realidade Misturada (RM) são comuns à maioria dos desenvolvedores. As várias bibliotecas e suportes existentes oferecem funções que resolvem grande parte destes problemas. No entanto tais ferramentas são limitadas em determinados aspectos. Segundo Kiyokawa et al. [5] é desejável, em ambientes misturados, que objetos reais e virtuais ocultem uns aos outros (oclusão mútua), reproduzindo noções de profundidade, essenciais para obtenção de maior realismo. Nas aplicações desenvolvidas por meio das ferramentas existentes, devido a ausência de métodos de recorte de elementos reais, a cena real é exibida como plano de fundo durante todo o tempo de execução da aplicação e o objeto virtual em nenhum momento é obstruído por algo real. O chromakey, técnica bastante utilizada em produções de televisão, inclusive para transmissões ao vivo, pode ser uma alternativa para o problema do recorte. Seu princípio baseiase na captura de imagens de um ator em frente a um plano de fundo de cor constante e na extração deste elemento de primeiro plano do fundo original, a cada quadro de vídeo. Para isso, devem ser identificadas partes da imagem, nas quais são encontradas uma determinada cor, denominada Apoio financeiro - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior (CAPES). “cor chave”, referente ao fundo. Uma máscara é então gerada para selecionar quais pixels devem permanecer e quais devem ser substituídos por pontos de outra imagem, utilizada como novo plano de fundo [1]. Nas produções de televisão, este processo é feito por meio de dispositivos de hardware de alta qualidade e normalmente de alto custo, tornando inviável a aplicação da técnica em determinadas situações nas quais uma solução em software seria mais adequada [4]. Considerando o contexto exposto, é apresentado, neste trabalho, um método para composição de cenas tridimensionais em sistemas de RM, baseados na biblioteca ARToolkit [2], que utiliza a técnica do chromakey para extração dos elementos reais. Em seguida, a cena é montada corretamente por meio de operações no framebuffer do OpenGL. Para melhor entendimento, este artigo é estruturado da seguinte maneira: a Seção 2 apresenta alguns trabalhos relacionados. Na Seção 3 são mostrados os problemas encontrados na composição de cenas com profundidade, a solução proposta e detalhes do módulo implementado. Ainda na Seção 3 é apresentada a utilização de suas funções na implementação do protótipo. O ambiente experimental e os resultados obtidos da análise do desempenho do protótipo são apresentados na Seção 4. Finalmente, na Seção 5 são feitas as conclusões 2. TRABALHOS RELACIONADOS Algumas experiências de RM e equipamentos utilizados na indústria de televisão, baseados em hardware especializado, permitem a construção de cenas respeitando a distância dos objetos (reais e virtuais) em relação ao observador (câmera). Entre essas soluções, cabe destacar o Display ELMO, a Zcam, o FlashKey e o Sistema 3DK. O Display ELMO [5] consiste de um sistema formado por um display do tipo optical see-through equipado com mecanismos bloqueadores de luzes e de percepção de profundidade. Por meio da comparação da profundidade medida com os valores de profundidade da cena virtual, armazenada em um buffer, a visualização correta pode ser representada, em tempo real, inclusive em ambientes não controlados e dinâmicos. Os resultados são aceitáveis, embora o recorte do elemento real seja grosseiro e visível na imagem final. A tecnologia de câmera de vídeo Zcam [6] possibilita a extração do objeto de primeiro plano utilizando a distância relativa à câmera de vídeo. A câmera produz sinais do tipo RGBD, sendo o canal D responsável pelo armazenamento da distância de cada pixel. O processo consiste em produzir um muro de luz, que se move de acordo com o campo de visão. Este sinal é gerado por um pulso de curta duração que atinge a mesma área do campo de visão do observador, em um limite de dez metros. Um método denominado FlashKey [3], desenvolvido para produções de televisão da BBC (British Broadcasting Corporation), também pode exibir objetos virtuais com estimativas de profundidade, em tempo real. A pessoa, ou objeto real, que se deseja posicionar em frente ao objeto virtual, é iluminada por uma luz azul intermitente e a câmera de vídeo reconhece a ação da luz em determinadas áreas da imagem. Para produzir estas luzes, são utilizados LEDs acionados por um componente especialmente desenvolvido para o controle de sinais do vídeo. O sistema de estúdio virtual 3DK [7], consiste em um conjunto de câmeras equipadas com sistemas rastreadores, que fornecem informações sobre a movimentação das mesmas. Essas câmeras produzem sinais de vídeo relativos ao elemento de primeiro plano, enquanto um sistema gerador de imagens, normalmente um supercomputador gráfico, produz sinais que correspondem ao plano de fundo e, opcionalmente, sinais que geram máscaras, que podem ser utilizadas para compor cenas respeitando a profundidade dos elementos reais e virtuais. representação no framebuffer OpenGL, incluindo o valor do componente alfa (componente de transparência do pixel). 3. COMPOSIÇÃO DE CENAS 3.1 O Problema As soluções baseadas em hardware, mostradas na Seção 2, permitem a construção de cenas considerando a profundidade de objetos reais, porém, são inviáveis para utilização em grande parte das aplicações RM, devido principalmente ao custo elevado dos equipamentos. Para uma solução em software, a identificação da profundidade de elementos reais e virtuais que compõem o ambiente misturado torna-se necessária, bem como métodos que possibilitem a extração do elemento real, para que este possa ser exibido em primeiro plano. Durante a execução, ambos os elementos devem obstruir uns aos outros, baseado em seu deslocamento a cada quadro de vídeo. 3.2 A Solução Proposta Uma técnica que pode ser utilizada para extração de elemento real é o chromakey (mencionada na Seção 1). Supondo-se que a aplicação permita a utilização de uma tela de cor única (por exemplo, azul), como fundo da cena, é possível extrair-se os elementos em primeiro plano (foreground), que seja de cor diferente da do fundo. Muitas são as aplicações que aceitariam tal restrição, como, por exemplo, estúdios virtuais, ambientes colaborativos de RM, sistemas de ensino com RM, entre outros. Neste sentido, a estrutura proposta é ilustrada pela Figura 1. Considerando-se a possibilidade da utilização de planos de fundo constantes, propõe-se um ambiente formado por um elemento real, dois ou mais marcadores (um deles fixado no elemento real) e um plano de fundo de cor única (azul ou verde) como mostrado na Figura 1. As funções de captura de vídeo da biblioteca ARToolkit, como mostrado no passo 1 da Figura, armazenam cada frame obtido em sua Figura 1: Abordagem Proposta O alphamap (mapa de transparência) do elemento de real (elemento de interesse) pode ser extraído por meio da técnica do chromakey e armazenado em um buffer (Buffer#1). O novo plano de fundo pode ser construído substituindose os pixels azuis, da imagem original, por uma imagem estática ou por uma seqüência de frames, como mostrado no passo 2, da Figura 1. Como resultado deste processo tem-se: a imagem do elemento de interesse à frente do novo plano de fundo e o alphamap armazenados no Buffer#1 e no Buffer#2 respectivamente. A solução utilizada neste trabalho para obtenção das coordenadas do elemento real, necessárias para consideração da profundidade, foi a fixação de um marcador nesse elemento, que é considerado o elemento de interesse. Deste modo, sua profundidade (coordenada “z”) pode ser obtida pelas funções de rastreamento do ARToolkit e utilizada para construção da cena no framebuffer do OpenGL antes da sua exibição. No passo 3, os marcadores são rastreados e, se não existirem objetos virtuais cuja coordenada “z” possua valor maior (mais distante) que a coordenada “z” do marcador fixado no elemento real, a imagem armazenada é transferida diretamente ao framebuffer. Caso existam objetos virtuais posicionados mais distantes do observador que o elemento real, estes objetos devem ser gerados. O controle de profundidade, nessa etapa, realizado somente entre os objetos virtuais (caso exista mais de um objeto), é feito pela utilização do Depth Buffer (buffer de profundidade do framebuffer do OpenGL). O alphamap (elemento de interesse), armazenado no Buffer#2, é então copiado sobre a imagem fazendo que o elemento real sobreponha os objetos virtuais da cena. Finalmente, os objetos mais próximos do observador (caso existam) são renderizados. A imagem resultante deve, finalmente, ser transferida ao framebuffer para ser exibida. 3.3 Implementação do módulo “Chromakey” A estrutura do projeto, mostrada na Figura 2, permite a identificação de dois módulos, destacados em tom mais claro de cinza, implementados e utilizados em conjunto com as bibliotecas OpenGL, glut (biblioteca de utilidades para programas OpenGL) e ARToolkit. O módulo “Chromakey”, consiste em um conjunto de funções responsável pela extração do elemento de interesse, inclusão do novo plano de fundo, identificação da profundidade dos objetos (reais e virtuais), entre outras funcionalidades necessárias a composição da cena. O algoritmo de chromakey implementado no módulo, foi a solução proposta por Berg e Lalioti [4]. “Aplicações” é o módulo no qual o protótipo foi desenvolvido. virtuais renderizados é obtida pela detecção dos marcadores laterais e o posicionamento do ator real é obtido pela detecção do marcador ao centro. Na Figura 4, na qual o chromakey é aplicado, o marcador localizado ao centro (vinculado ao ator real) está posicionado mais próximo ao observador que os demais. Portanto, o elemento real é gerado em primeiro plano. Na Figura 5, o marcador vinculado ao ator está posicionado mais distante do observador que o marcador à esquerda e mais próximo que o marcador a direita. Portanto, o objeto virtual à esquerda é gerado em primeiro plano e o elemento real obstrui apenas o objeto virtual à direita (marcador posicionado mais ao fundo). Entre as três situações descritas, exceto na Figura 3, a imagem final é exibida coerentemente em relação à profundidade dos elementos reais e virtuais que compõem o ambiente misturado. Figura 2: Estrutura do Projeto As funções de rastreamento e detecção dos marcadores em cena são realizadas pelo ARtoolkit e o OpenGL é responsável pela renderização dos objetos virtuais. As funções implementadas no módulo “Chromakey” e suas respectivas tarefas são mostradas na Tabela I. Utilizando as funções descritas foi possível a implementação do protótipo, que possibilitou a consideração da profundidade na composição da cena, de acordo com a abordagem descrita na Subseção 3.2. . Figura 3: ARToolkit sobre o Ambiente Real TABELA I: Funções do módulo “Chromakey” Nome da função chLoadFile( ) chReadFile( ) chSwapBackground( ) chVisibilityandDepth( ) chDrawAlphamap( ) chCaptureZ( ) chGetThresh( ) Descrição Abre o arquivo (imagem ou vídeo) que contém o novo plano de fundo Faz a leitura do arquivo indicado pela função chLoadFile( ), um frame por vez, durante a execução do loop principal do programa. Troca do plano de fundo de cor única pela imagem do arquivo e gera o alphamap do elemento de primeiro plano. Realiza toda rotina para verificação da visibilidade dos marcadores e obtenção da profundidade dos objetos. Aplica o alphamap sobre a imagem armazenada no framebuffer do OpenGL. Retorna a coordenada “z” do objeto virtual. Retorna o valor do threshold para chromakey, calculado pelo algoritmo de Berg e Lalioti [4]. Para visualização dos resultados obtidos da execução do protótipo, os objetos virtuais foram transladados para evitar a oclusão dos marcadores e conseqüentemente a não renderização dos objetos. Na Figura 3, têm-se o ambiente real e três marcadores em cena. A localização dos objetos Figura 4: Elemento real em primeiro plano Figura 5: Elemento real entre objetos virtuais 4. ANÁLISE DE DESEMPENHO 4.1 Ambiente Experimental Os experimentos foram realizados em um estúdio para chromakey com fundo na cor verde, mostrado na Figura 6. A câmera foi posicionada a uma distância de 1,5 m do plano de fundo. Os demais componentes utilizados foram: • Hardware: Processador AMD Turion 64 ML-32 1,8 GHz, Placa Gráfica ATI Mobility Radeon Xpress 200, 1,00 GHz de memória RAM e HD Toshiba ATA 80 GB. • Software: Windows XP Professional SP2, Microsoft Visual Studio 2005 e ARToolkit versão 2.72.1. Figura 6: Ambiente Experimental 4.2 Resultados obtidos Um sistema de RM, por ser um sistema de tempo real, impõe restrições rígidas quanto ao tempo de resposta. Por este motivo, esta característica foi avaliada, considerando-se inclusive a posição dos marcadores na cena. Como descrito na Subseção 3.3, o protótipo que constrói a cena misturada, considerando a profundidade dos objetos, verifica o valor das coordenadas “z” dos marcadores, e decide pela utilização ou não do alphamap. Por esse motivo, além do custo computacional adicionado pela aplicação do algoritmo de chromakey, o posicionamento dos marcadores em cena pode influenciar no desempenho do protótipo. O desempenho é que determina o limite para a quantidade de marcadores visíveis na cena. Figura 7: Resultados obtidos Os testes realizados consideraram três situações possíveis de ocorrência, quando três marcadores são reconhecidos. Definindo-se a localização do marcador vinculado ao elemento real como referência para os testes, é possível identificar três situações: “o marcador está posicionado à frente dos demais”, “o marcador está posicionado entre os dois outros marcadores” e “o marcador está posicionado mais ao fundo (mais distante) que os outros marcadores”. Os resultados dos testes são mostrados no gráfico da Figura 7. Como era esperado, o desempenho é afetado quando o elemento real está posicionado à frente de objetos virtuais. Nesse caso, o alphamap é aplicado. Obviamente, este impacto é mais acentuado em imagens maiores (640x480 pixels), pois a quantidade de pixels redesenhados é maior. 5. CONCLUSÕES Neste artigo, é proposta a utilização da técnica do chromakey como solução para o problema da extração do elemento de interesse, utilizado para implementar a consideração da profundidade em sistemas de RM baseados no ARToolkit. A técnica é inteiramente implementada em software, utilizando-se os serviços de captura de vídeo do ARToolkit e utilizada como um componente da biblioteca. Os testes realizados, apesar de concentrados no desempenho em termos da taxa de frames, indicaram a viabilidade do processo. Pretende-se, como trabalhos futuros, estudar formas de minimização do efeito de serrilhamento na silhueta dos elementos reais, bem como a adição de sombras, identificação de colisão, múltiplas câmeras e redundância de marcadores para minimizar problemas de oclusão. Além disso, pretende-se estender as funções do módulo para suportar diversos formatos de imagem e vídeo como plano de fundo, bem como utilizar o módulo implementado em bibliotecas como o OSGART, que é baseada no ARTookit e permite a renderização de objetos virtuais complexos. REFERÊNCIAS BIBLIOGRÁFICAS [1] A. R. Smith, J. F. Blinn, “Blue Screen Matting”, in Proc. of the 23rd annual conference on Computer graphics and interactive techniques, New York, NY, USA: ACM Press, pp. 259-268, 1996. [2] ARToolkit “ARToolkit versão 2.72.1”. Disponível em: <http://sourceforge.net/projects/artoolkit> Acesso em: 19 out. 2006. [3] BBC Research, “Projects: Flash Keying”. Disponível em: <http://www.bbc.co.uk/rd/projects/virtual/flashkeying> Acesso em: 7 jan. 2007. [4] F. van den Bergh, V. Lalioti, “Software Chroma Keying in an Immersive Virtual Environment”, South Africal Computer Juornal, no. 24, pp. 155-162, 1990. [5] K. Kiyokawa, Y. Kurata, H. Ohno, “An Optical seethrough display for Mutual Occlusion with a Real-Time Stereovision System.” Computers & Graphics, v. 25, n. 5, pp. 765-779, 2001. [6] R. Gvili, A. Kaplan, E. Ofek, G. Yahav, “Depth Keying”, Stereoscopic Displays and Virtual Reality Systems X, vol. 5006, no. 1, pp. 564-574, 2003. [7] S. Gibbs, C. Arapis, C. Breiteneder, V. Lalioti, S. Mostafawy, J. Speier, “Virtual Studios: An Overview”, IEEE MultiMedia, vol. 05, no. 1, pp. 18-35, 1998. UM MÉTODO PARA SIMULAÇÃO DE ILUMINAÇÃO VOLUMÉTRICA EM APLICATIVOS INTERATIVOS Saulo A. Pessoa, Sílvio de B. Melo, João Paulo S. do M. Lima, Veronica Teichrieb, Judith Kelner Universidade Federal de Pernambuco, Centro de Informática Grupo de Pesquisa em Realidade Virtual e Multimídia Av. Professor Moraes Rego S/N, Prédio da Positiva, 1º Andar Cidade Universitária, Recife - Pernambuco, CEP 50670-901 e-mail: {sap, sbm, jpsml, vt, jk}@cin.ufpe.br Resumo – Em computação gráfica, inúmeros métodos vêm sendo criados para aumentar o realismo das imagens sintetizadas. Tais métodos são inspirados principalmente em fenômenos físicos. Um fenômeno bastante estudado é a interação ocorrida entre a luz e os objetos, porém, tal interação é geralmente simplificada devido às limitações computacionais. Uma simplificação comumente realizada é a de desconsiderar a interação ocorrida entre a luz e a atmosfera. Tal simplificação pode ser entendida como se a luz estivesse viajando no vácuo, fazendo com que as imagens careçam de efeitos atmosféricos. Este artigo implementa um método para a simulação do efeito atmosférico comumente chamado de iluminação volumétrica. Este efeito é imprescindível para coerência fotométrica em cenas com meios participativos, logo, essenciais na síntese de cenas fotorealistas. Por ser rápido o suficiente, este método pode ser empregado adequadamente em Realidade Virtual, Realidade Aumentada e jogos eletrônicos. Palavras-Chave – Iluminação Volumétrica, Participativo, Simulação, Tempo Real. Meio Abstract – In computer graphics, many methods have been created to increase realism of synthetic images. Such methods are inspired mainly in physics phenomena. A well studied phenomenon is the interaction that happens between light and objects. However, such interaction is usually simplified due to computational limitation. A commonly used simplification is not to take into account the interaction between light and atmosphere. Such simplification can be understood as light traveling in vacuum, so that images lack atmospherics effects. This paper implements a method for the simulation of an atmospheric effect commonly called volumetric lighting. This effect is vital for photometric coherency of participating media scenes, thus indispensable to render photorealistic scenes. Since it is fast enough, this method can be used in Virtual Reality, Augmented Reality and gaming. Keywords – Participating Media, Real-Time, Simulation, Volumetric Lighting. 1. INTRODUÇÃO Determinados fenômenos naturais só podem ser reproduzidos em computação gráfica caso o meio seja participativo. Com um meio participativo, a luz interage com as partículas suspensas no ar à medida que se propaga. Como o planeta Terra é naturalmente envolvido por uma camada gasosa (atmosfera), a interação entre luz e meio se torna inevitável, fazendo com que efeitos atmosféricos sejam comumente observados no mundo real. A falta desses efeitos transparece artificialidade em simulações computadorizadas, fazendo com que usuários percam o sentimento de imersão [1]. Em aplicativos de treinamento, a falta de imersão faz com que a experiência passada pelo usuário não condiga com a experiência real, o que diminui a eficácia do treinamento. Este artigo visa apresentar um método para a geração do efeito de iluminação volumétrica que pode ser empregado em aplicativos interativos que baseia-se no método de Dobashi [2]. O objetivo final na utilização deste método é a criação de cenas mais realistas tanto em Realidade Virtual (RV) quanto em Realidade Aumentada (RA). Segundo Kanbara, um dos requisitos para renderizar objetos fotorealisticamente em RA é o registro fotométrico [3]. O problema de registro fotométrico envolve a consistência entre fontes de luz reais e virtuais, e é isto que o método abordado neste trabalho propõe para o caso de meios participativos. Atualmente, inúmeros pesquisadores já desenvolveram métodos para simulação de iluminação volumétrica. Basicamente, tais métodos resolvem o problema integrando numericamente a luz que é espalhada ao longo do raio de visão. Os métodos propostos diferem basicamente em como a integral é estimada, o que leva à classificação dos mesmos em dois tipos: aplicáveis a Graphics Processing Units (GPUs) e não aplicáveis a GPUs. Dentre os não aplicáveis a GPUs, Nishita propôs um método baseado no traçado de raios para encontrar os pontos de interseção entre os volumes de luz e o raio de visão [4]. Jensen fez uso de mapas de fótons para obter tal efeito [5]. Por serem custosos, estes métodos não são indicados para aplicativos interativos. Os métodos aplicáveis a GPUs só começaram a surgir com o início da popularização das placas gráficas, no final da década passada. Dobashi propôs um método aplicável a GPUs que faz uso de técnicas de renderização volumétrica para integrar a luz espalhada [2]. Posteriormente, Dobashi ainda propôs otimizações para o método anterior [6]. James e Zhu propuseram métodos que integram a luz espalhada utilizando shaders programáveis e que fazem uso de geometria para representar os volumes de luz [7] [8]. Mitchell tratou o caso quando a densidade das partículas não é uniforme [9]. Este artigo está organizado da seguinte forma. A Seção 2 apresenta os tipos de interação que a luz pode sofrer. A Seção 3 descreve a idéia básica de como os volumes de luz são gerados. A Seção 4 mostra como proceder para implementar o método escolhido em OpenGL. A Seção 0 mostra os resultados obtidos. Por fim, na Seção 6 são tiradas as conclusões e sugeridos trabalhos futuros. fonte de luz câmera volume de luz r 2. ESPALHAMENTO DE LUZ Ip t Efeitos atmosféricos ocorrem devido ao espalhamento e absorção da luz ao se chocar com partículas suspensas. O Espalhamento de Mie explica a formação dos volumes de luz. Esse tipo de espalhamento ocorre em atmosferas pesadas, como água ou fumaça, isto é, quando o tamanho das partículas é grande em relação ao comprimento de onda da luz [7]. Existem quatro tipos de interação que a luz pode sofrer: absorção; emissão; espalhamento e ajuntamento (ver Figura 1) [10]. Dentre esses, apenas a absorção e o espalhamento serão considerados neste trabalho. absorção emissão espalhamento ajuntamento Fig. 1. Tipos de interação que a luz pode sofrer. O método proposto por Dobashi foi tomado como referência para este trabalho devido a sua adequação a GPUs [2]. Por uma questão de simplicidade, será assumido o caso em que existe apenas uma fonte de luz. O método pode ser facilmente estendido para suportar múltiplas fontes de luz apenas calculando a contribuição de cada uma delas. De acordo com o modelo de shading referenciado pelo método de Dobashi, o objetivo final é obter a intensidade da luz que alcança a câmera, que é expressa como I c = I o β (T ) + ∫ F (α ) H (r ) I 0 p ( r ) β (t )σdt . (1) Onde: Intensidade da luz que alcança a câmera Intensidade radiada pelo objeto Distância entre o objeto e a câmera T β (T ) Taxa de absorção α Ângulo de fase F (α ) Função de fase Distância entre o ponto P e a fonte de luz r H (r ) Função de visibilidade I p (r ) Intensidade da luz que alcança o ponto P t Distância entre o ponto P e a câmera σ Coeficiente de extinção A Figura 2 ilustra os termos descritos acima. O coeficiente de extinção é diretamente proporcional à densidade das partículas. Para uma densidade uniforme de partículas, a taxa de absorção β (T ) é expressa como Ic Io β (t ) = e −σ × t . Io α P T objeto Fig. 2. Modelo de shading. A função de fase F (α ) diz respeito à intensidade de luz que é espalhada na direção da câmera quando esta faz um ângulo α com a direção do raio de luz. Devido à complexidade da teoria de Mie, a função de fase utilizada é uma aproximação experimental, proposta por Gibbons [11]. F (α ) é expressa como α 3. O MODELO DE SHADHING T Ic (2) F (α ) = K (1 + 9 cos 16 ( )) , (3) 2 onde K é uma constante. Por fim, a intensidade da luz que alcança o ponto P é dada por I (θ , Φ ) β (r ) , (4) I p (r ) = r2 onde I (θ , Φ) é a intensidade emitida pela fonte de luz na direção de P e (θ , Φ ) indica essa direção. 4. IMPLEMENTAÇÃO EM OPENGL Na Equação (1), o primeiro termo representa a luz que está sendo irradiada pelo objeto, atenuada pela absorção das partículas suspensas, enquanto o segundo diz respeito ao espalhamento atmosférico. É fácil perceber que a Equação (1) sem o segundo termo nada mais é que o modelo de fog implementado nas placas gráficas [12]. Como o primeiro termo pode ser computado na placa gráfica, é nela que ele será avaliado, restando apenas o segundo termo. Por não existir uma solução analítica para a integral da Equação (1), ela é avaliada numericamente. A integral é avaliada fazendo uso de planos de amostragem, cada um sendo posicionado a uma distância fixa da câmera. Os planos são dispostos de forma que fiquem paralelos ao plano de projeção da câmera, e a distância entre eles é uniforme. Os planos de amostragem são formados a partir de várias geometrias do tipo GL_QUAD. Esta divisão é necessária, pois cada vértice de cada pedaço deverá ser tratado independentemente. A Figura 3 mostra como os planos de amostragem devem ser dispostos e subdivididos. A idéia é utilizar cada plano para amostrar a luz que é espalhada na direção da câmera e, ao final, acumular a contribuição de cada um no color buffer. geometria do tipo GL_QUAD volume de vizualização plano de projeção câmera planos de amostragem Fig. 3. Planos de amostragem. Considerando-se I s o termo relativo ao espalhamento atmosférico na Equação (1), obtém-se a seguinte equação discretizando a integral: vértices serão avaliados pela GPU através de uma interpolação. Isto é possível habilitando-se o modelo de shading de Gouraud. A função de iluminação, I (θ k , Φ k ) , é representada por uma textura, isto é, um mapa de iluminação. Ao utilizar um mapa de iluminação, a especificação da função de iluminação torna-se bastante flexível, pois apenas alterandose uma imagem pode-se obter inúmeras e diferentes funções. Mesmo com tanta flexibilidade, é bom tomar alguns cuidados na escolha do mapa de iluminação, pois podem surgir problemas de aliasing em certas circunstâncias. Os mapas que possuem altas freqüências são ruins por serem tendenciosos a gerarem aliasing. Por exemplo, na Figura 4.a o mapa é muito bom, o da Figura 4.b é razoável, e o mapa da Figura 4.c é ruim. O mapa de iluminação é aplicado utilizando-se técnicas de mapeamento de texturas projetivas. Everitt explica em detalhes como se deve proceder para criar texturas projetivas em OpenGL [13]. (a) (b) (c) n Is = ∑ F (α k ) H (rk ) I p (rk ) B(t k )σ∆t , (5) k =1 onde n é a quantidade de planos de amostragem e k é o k ésimo plano. Reescrevendo a Equação (5) obtém-se Fig. 4. Mapas de iluminação. n Is = ∑ I (θ k, Φ k ) H ( rk )ξ (t k ) , (6) k =1 onde F (α k )e −σ ( rk + tk )σ (7) ∆t . rk 2 A Equação (6) possui três termos independentes que serão avaliados separadamente. Os dois primeiros, que representam, respectivamente, a função de iluminação e a função de visibilidade, são avaliados através de texturas. Já o último termo, representado pela Equação (7), é avaliado em cada vértice dos planos de amostragem. A Equação (7) é avaliada na CPU para cada vértice de cada plano de amostragem e, ao final, o resultado é passado na forma de uma cor através da função glColor(). A vantagem de utilizar este meio é que os pixels entre os ξ (t k ) = fonte de luz plano de projeção da fonte de luz objeto fonte de luz plano de projeção Os volumes de sombra que surgem quando existe algum objeto dentro do volume de luz são imprescindíveis para o realismo da simulação. A função de visibilidade trata o surgimento dos volumes de sombra. Esta função basicamente retorna zero caso um ponto não seja visível do ponto de luz, ou um caso seja visível. Da mesma forma que a função de iluminação, esta função é implementada utilizando-se texturas projetivas, sendo que para a função de visibilidade a textura é uma imagem em preto e branco. As partes em preto representam os pontos que não são visíveis, enquanto as em branco representam os pontos visíveis. Diferentemente da função de iluminação, a função de visibilidade necessita que seja criado um mapa de visibilidade (textura) diferente para cada plano de amostragem. A Figura 5 ilustra os passos necessários para a geração e aplicação destes mapas. plano de projeção da fonte de luz mapa de visibilidade câmera mapa de profundidade (a) Criando mapa de profundidade x = mapas combinados plano de amostragem mapeamento projetivo blending aditivo mapa de iluminação (b) Criando mapa de visibilidade (c) Combinando mapas (d) Mapeando mapa combinado Fig. 5. Mapas de visibilidade. Inicialmente, na Figura 5.a um mapa de profundidade é gerado para os objetos da cena considerando-se a fonte de luz como ponto de vista. Este mapa é gerado renderizando-se apenas os objetos que devem gerar sombra, e em seguida copiando-se os valores do buffer de profundidade para uma textura. Este mapa é único para todos os planos de amostragem e só necessita ser gerado uma vez no início de cada quadro. Na Figura 5.b, o mapa de profundidade é aplicado sobre o plano de amostragem e a renderização desta vez é feita da câmera. A função de textura habilitada para este mapa é similar à utilizada na técnica de geração de sombras shadow mapping, onde os valores armazenados no mapa são testados com as profundidades de cada fragmento gerado da geometria (plano de amostragem); caso o teste seja satisfeito, a cor branca é escrita, caso contrário, a cor preta é escrita. O resultado dessa renderização já é propriamente o mapa de visibilidade, que deve ser copiado para uma textura para ser utilizado posteriormente. Na Figura 5.c, é ilustrado como o mapa de visibilidade é combinado com o mapa de iluminação (isto é feito ligando-se cada mapa em uma unidade de textura e habilitando-se a função de textura GL_MODULATE). Por fim, na Figura 5.d, o resultado da combinação dos mapas é aplicado sobre cada um dos planos de amostragem usando técnicas de texturas projetivas. utilização de mapas de iluminação. Observe como tanto a escolha das cores quanto a das formas (círculo, estrela, mandala, etc.) influenciam notavelmente os resultados. 5. RESULTADOS REFERÊNCIAS BIBLIOGRÁFICAS Os resultados gerados a partir da implementação descrita na seção anterior (ver Figura 6) foram obtidos em um AMD Athlon 64 3200+ com 1024MB RAM e uma placa gráfica NVidia GeForce 6600 GT de 128MB. [1] G. Burdea, e P. Coiffet, Virtual Reality Technology, Wiley-IEEE Press, 2ª Edição, 2003. [2] Y. Dobashi, T. Yamamoto, e T. Nishita, “Interactive Rendering Method for Displaying Shafts of Light”, in Proc. of Pacific Graphics, pp. 31-38, 2000. [3] M. Kanbara, e N. Yokoya, “Geometric and Photometric Registration for Real-time Augmented Reality”, in Proc. of ISMAR, pp. 279-280, 2002. [4] T. Nishita, Y. Miyawaki, e E. Nakamae, “A Shading Model for Atmospheric Scattering Considering Luminous Intensity Distribution of Light Sources”, in Proc. of SIGGRAPH, pp. 303-310, 1987. [5] H. Jensen, e P. Christensen, “Efficient Simulation of Light Transport in Scenes with Participating Media using Photon Maps”, in Proc. of SIGGRAPH, pp. 311320, 1998. [6] Y. Dobashi, T. Yamamoto, e T. Nishita, “Interactive Rendering of Atmospheric Scattering Effects Using Graphics Hardware”, in Proc. of Graphics Hardware, pp. 99-108, 2002. [7] R. James, “True Volumetric Shadows”, Graphics Programming Methods, pp. 353-366, Julho 2003. [8] Y. Zhu, G. Owen, F. Liu, e A. Aquilio, “GPU-Based Volumetric Lighting Simulation”, in Proc. of CGIM, pp. 479-483, 2004. [9] J. Mitchell, “Light Shaft Rendering”, ShaderX3: Advanced Rendering with DirectX and OpenGL, pp 572588, Novembro 2004. [10] V. Biri, S. Michelin, e D. Arques, “Real-Time Animation of Realistic Fog”, in Proc. of Eurographics Workshop on Rendering, pp. 9-16, 2002. [11] M. Gibbons, “Radiation Received by Uncollimated Receiver from a 4-PI Source”, Journal of the Optical Society of America, vol. 48, no. 8, pp. 550-555, 1958. [12] M. Woo, J. Neider, T. Davis, e OpenGL ARB, OpenGL Programming Guide: the official guide to learning OpenGL, Version 1.1, Addison-Wesley Pub, 2ª Edição, Reading, 1997. [13] C. Everitt. “Projective Texture Mapping”, 2001. Disponível em: site da NVIDIA. URL: http://developer.nvidia.com/object/Projective_Texture_ Mapping.html, visitado em Agosto de 2007. n QUAD σ K ∆t fps (a) 40 20x20 0.1 20 0.1 41 (b) 50 30x30 0.9 20 0.04 28 (c) 40 30x30 0.5 30 0.07 37 (d) 55 10x10 0.2 25 0.05 28 (a) (b) (c) (d) mapa Fig. 6. Resultados obtidos. Como pode ser visto na Figura 6, cerca de 40 a 50 planos de amostragem subdivididos em cerca de 10x10 a 30x30 é suficiente para se obter bons resultados. Observe que os mapas de iluminação foram propositalmente embaçados para evitar problemas de aliasing. Vale ser ressaltada também a flexibilidade na criação das funções de iluminação devido à 6. CONCLUSÕES E TRABALHOS FUTUROS Este trabalho apresentou um método para simulação de iluminação volumétrica que faz uso da GPU para acelerar a simulação. Este método mostrou-se bastante adequado para ser aplicado em RV e jogos eletrônicos. Como trabalhos futuros, pode-se citar: tratar o caso em que a densidade das partículas é variável; utilizar shaders programáveis para aumentar a performance; tratar o caso em que a fonte de luz é onidirecional; e, combinar o efeito de iluminação volumétrica e técnicas de High Dynamic Range Rendering (HDRR) para melhorar os resultados. UMA EXPERIÊNCIA DE IMPLEMENTAÇÃO DE UMA APLICAÇÃO INTERATIVA COM REALIDADE VIRTUAL E COM REALIDADE AUMENTADA Everton Francisco P. Dantas, Cláudio Kirner. Centro Universitário Adventista de São Paulo – UNASP [email protected], [email protected] Resumo - Realidade Virtual e Realidade Aumentada são áreas que permitem o desenvolvimento de aplicações visuais tridimensionais interativas em tempo real. Enquanto a Realidade Virtual utiliza dispositivos convencionais ou especiais para a interação do usuário, a Realidade Aumentada minimiza a necessidade desses dispositivos. Este trabalho apresenta uma experiência de implementação de interações de uma aplicação de “tiro ao alvo”, usando Realidade Virtual, com o software Vizard, e Realidade Aumentada com o software ARToolKit. Palavras-Chave – Interação, Implementação, Realidade Aumentada, Realidade Virtual. Abstract – Virtual reality and augmented reality are areas that allow the development of interactive threedimensional visual applications working in real time. Virtual reality uses conventional and non-conventional devices to implement user interaction, but augmented reality minimizes these devices. This paper presents an experience on the implementation of the duck court application, using virtual reality with Vizard and augmented reality with ARToolKit. Keywords – Interaction, Reality, Virtual Reality. Implementation, Augmented 1. INTRODUÇÃO As ações interativas são inerentes ao ser humano, servindo para aprimorar suas atividades mentais e motoras e alcançar objetivos no seu ambiente. Além disso, as interações são essências no relacionamento interpessoal. Com as aplicações por computador, as interações passaram a ter mais um agente – a máquina. O avanço tecnológico propiciou o desenvolvimento de ambientes virtuais com Realidade Virtual (RV), permitindo a participação do usuário, através do apoio de dispositivos multi-sensoriais, funcionando em tempo real [4]. Por outro lado, ocorreu também o surgimento de uma nova tecnologia: a Realidade Aumentada (RA) [2] [3]. A Realidade Aumentada enriquece a visão que o usuário tem do mundo, combinando objetos virtuais tridimensionais gerados por computador sobrepostos no mundo real, permitindo a interação do usuário com os objetos reais e virtuais, usando as mãos diretamente, ou dispositivos simples como uma pá [3]. No ambiente, a realização de uma ação (estímulos motores) é concretizada através de técnicas de interação, que são métodos, em que o usuário especifica comandos e dados para o sistema computacional, para execução de tarefas. Este trabalho tem como objetivo mostrar a implementação de uma aplicação com Realidade Virtual e com Realidade Aumentada, possibilitando a comparação das implementações e do funcionamento das técnicas de interação em cada ambiente. A seção 2 mostra as características dos recursos de Realidade Virtual e Realidade Aumentada utilizados. A seção 3 aborda o desenvolvimento da aplicação com Realidade Virtual e a seção 4 trata da implementação com Realidade Aumentada. A seção 5 apresenta as conclusões do trabalho. 2. RECURSOS DE REALIDADE VIRTUAL E REALIDADE AUMENTADA Nesta experiência, foram usados: o software Vizard [6], para implementar a aplicação com Realidade Virtual, e a biblioteca de software ARToolKit [1], para a versão com Realidade Aumentada. 2.1. Vizard O software Vizard [6] é uma ferramenta poderosa para o desenvolvimento de interação em mundos virtuais. Vizard é implementado em C/C++ e com que há de mais recente nas extensões do OpenGL, proporcionando uma interação com grande realismo para o usuário. As principais características do software Vizard são: importa vários formatos de arquivos 3D (.wrl, .txp, .cfg, etc.); possui várias bibliotecas que são usadas para executar/controlar ações nos objetos; utiliza como linguagem de programação Python 2.3 (orientada a objeto); também aceita vários formatos de imagens (.jpg, .bmp, .png) e de áudio (.wav, .mp3); pode utilizar um número ilimitado de câmeras para melhorar a interatividade; possui capacidade de detecção de colisão entre objetos. O ambiente do software Vizard consiste de um conjunto de ferramentas gráficas e de script que permitem: escrever e executar scripts; inspecionar modelos 3D e elementos multimídia; emitir comandos universais que podem ser chamados para alterar o estado global do ambiente. Também possui comandos próprios para criar ações de animação nos objetos virtual; manipulação de objetos tridimensionais, como texto, avatar (humanóide), etc.; e manipulação do ponto de visão do usuário. 2.2. ARToolKit O ARToolKit é uma biblioteca livre comumente usada para desenvolvimento de aplicações de Realidade Aumentada, tendo sido criada com a linguagem C [1]. Os principais pontos para o funcionamento do ARToolKit são suas técnicas de visão computacional, processamento de imagens e programação. Para que o objeto virtual 3D seja alinhado aos objetos do mundo real, é necessário calcular a posição de objetos de referência, em relação à câmera, em tempo real. A interação no software ARToolKit ocorre através do uso de placas quadradas, conhecidas como marcadores de referência, contendo uma moldura e um símbolo interno. Estes marcadores são usados para mostrar objetos virtuais sobre eles, ou podem funcionar como elementos de interação para alterar e manipular (placa de controle) os objetos virtuais. Além disso, é possível também adicionar módulos de som associados com os objetos virtuais [5]. Algumas modificações foram feitas no software ARToolKit, a fim de apresentar novas funcionalidades, como por exemplo, detecção de colisão e movimentação de objetos criados em VRML. Estas funções foram implementadas na biblioteca vrml97. 3. APLICAÇÃO COM REALIDADE VIRTUAL Tendo como base a aplicação do tiro ao pato “Duckcourt” (exemplo Demo disponibilizado pelo software Vizard) [6], foi desenvolvida uma aplicação estendida com outros recursos de Realidade Virtual, visando torná-la mais interativo, motivadora e imprevisível. A ação se passa em um salão fechado, contendo pilares (Figura 1), onde vários patos (alvos) atravessam o cenário da esquerda para a direita. A ação do usuário é tentar acertar um pato com a bola. Entretanto, enquanto as bolas estiverem ricocheteando nas paredes e colunas do cenário, elas poderão chocar-se com o usuário, caso ele não se desvie. Para melhor posicionar-se e evitar a colisão com as bolas e com os patos, o usuário passará a movimentar-se pelo cenário, através de comandos do teclado e ações no mouse. Fig. 1. Detecção de colisão com a bola. A função de detecção de colisão existente faz o usuário manter certa distância dos alvos e pensar duas vezes antes de lançar uma bola no alvo, já que se errar estará correndo o risco de ser a própria vítima da bola (Figura 2). A aproximação destes objetos pode ser percebida, através da “janela de visão de espaço” localizada no lado superior direito da tela (Figura 1). Fig. 2. Detecção de colisão com o pato. O Vizard possui o evento COLLISION_EVENT que possibilita a indicação de detecção de colisão entre objetos. A Figura 3 mostra a função mycollision, sendo registrada através do comando callback, passando a ser chamada periodicamente ao longo da aplicação. Def mycollision(info): If info.object.id > 22: //se for pato ou bola Print ‘collided’ viz.director(Textcollision) viz.callback(viz.COLLISION_EVENT, mycollision) Fig. 3. Detecção de colisão do usuário com bolas e alvos. Se as bolas acabarem, o usuário poderá aguardar o abastecimento automático, ou capturar as bolas que estiverem próximas de si. A primeira funcionalidade foi desenvolvida da seguinte forma: em cada momento que a bola colide em alguma parte do cenário, envolvendo o Avatar ou o alvo, ela perde velocidade com redução em 5%. Isto faz com que depois de um tempo, a bola fique com uma velocidade muito reduzida. Quando esta velocidade atingir um valor mínimo prédefinido, automaticamente ela será disponibilidade novamente para o usuário. Na segunda funcionalidade, para capturar as bolas é preciso apontar para elas e apertar o botão “ENTER”. No entanto, é importante que a distância estabelecida entre o usuário e a bola seja no mínimo de 4 metros, caso contrário, a ação não terá efeito. Foi usada uma função do Vizard, denominada “puck()”. Esta função, mostrada na Figura 4, identifica o objeto virtual que esta sendo apontado, a partir da verificação de intersecção entre o ponto (em linha reta) da mira e o objeto virtual. Desta maneira, é possível capturar a bola e torná-la disponível, conforme o detalhamento na Figura 4. Assim, em função das interações possíveis, procurou-se desenvolver uma aplicação atraente com vários aspectos interativos. Def mykeyboard(whichKey): If whichKey = = viz.KEY_RETURN: //se apertar ENTER Object = viz.pick() if object.valid(): //se a mira estiver apontando para a bola viz.director(getball, object) // Captura a bola Fig. 4. Parte do algoritmo de captura de bolas. 4. APLICAÇÃO COM REALIDADE AUMENTADA Usando Realidade Aumentada, foi desenvolvida uma aplicação como aquela feita com Realidade Virtual, preservando-se as características próprias da Realidade Aumentada. Foi usado o software ARToolKit juntamente com a biblioteca de classes OpenVRML. A inserção dos objetos virtuais no ambiente real ocorre através dos marcadores (placas), constituídos por: ALVO, MIRA e Placa Gerenciadora de Objetos Virtuais (Placa GERENTE), que podem ser visualizados na Figura 5. Fig. 5. Marcadores de Referência. O marcador ALVO tem por função mostrar os “Alvos” (objetos virtuais desenvolvidos a partir da Linguagem de Modelagem de Objetos Virtuais – VRML) flutuando no espaço. O marcador MIRA mostra o objeto virtual “Mira”, tendo como função indicar o ponto onde a esfera deve ir, ao ser lançada. O objeto virtual “Mira” é mostrado acima do marcador e não na sua frente e não sofre alteração na sua rotação, mesmo que o usuário incline o marcador. A mira somente sofre alteração na sua translação. Foi necessário reduzir o tamanho do marcador MIRA, já que o mesmo é mostrado na tela mais próximo da câmera do que o marcador ALVO. Seu tamanho físico foi reduzido em torno de 50% em relação ao marcador ALVO. O ARToolKit identifica a distância do marcador, em relação à câmera (eixo Z), a partir do tamanho do marcador capturado e do valor de referência de proximidade entre marcadores. Para calcular a proximidade, foi utilizada a terceira linha de cada padrão no arquivo de configuração vrml_data.dat. As coordenadas do sistema ARToolKit são definidas, através do arquivo de configuração camera_para.dat que contém os parâmetros da câmera. Como o ARToolKit utiliza o tamanho do marcador como referência de distância no espaço 3D, quando os marcadores ALVO e MIRA são detectados com tamanhos próximos, os objetos virtuais associados a eles acabam sofrendo oclusão, já que a distância no eixo Z é semelhante. Para evitar este comportamento, também foi necessário reduzir o valor de referência de proximidade no padrão do marcador MIRA contido no arquivo de configuração vrml_data.dat. Assim, quando os marcadores forem detectados com tamanhos semelhantes, o marcador MIRA terá sua distância reduzida virtualmente e o objeto virtual “Mira” poderá ser desenhado mais próximo da tela, sem ocorrência de oclusão. Para lançar as bolas na direção da mira, foi criada a placa GERENTE (segundo marcador da Figura 5). Esta placa GERENTE especifica o objeto virtual (esfera) que será ativado. Este objeto é associado ao marcador cadastrado no arquivo de configuração vrml_data.dat, mas que na realidade não é associada a nenhuma placa física. Assim, o objeto associado a esta placa somente poderá tornar-se visível, através do marcador GERENTE. Quando o marcador GERENTE é identificado, como seqüenciado na Figura 6, verifica-se se existe alguma esfera disponível. Caso exista esta disponibilidade, usa-se o ponto em que a mira se encontra e calcula-se proporcionalmente a posição (coordenadas X e Y) em um ponto pré-definido do eixo Z. Esta nova posição será utilizada pelo objeto virtual “Esfera”, mas antes disso, ela deverá ser convertida para as coordenadas do VRML. If(object[i].visible == 0 ) { if( i == 0 ) {// i igual a esfera if(proxima_esfera.visible == 0) {//se esfera não está visível eixoz = 2000; calcula_posição(); // calcula a posição futura da esfera converte_para_VRML(); arShowBall(esfera_disponivel, nova_pos); timeball[ball_id] = arUtilTimer(); } } } Fig. 6. Algoritmo para o lançamento da bola. Após a conversão da posição de destino, a esfera será ativada e animada, gerando a movimentação. Os nodes TimeSensor e PositionInterpolator possibilitam a animação de movimento do objeto virtual modelado (esfera). Assim, através da função arShowBall(), é passada a nova posição de término da animação, ocorrendo automaticamente. Neste momento, a esfera que será lançada torna-se visível para o ARToolKit e, quando o período da animação terminar – definido no TimeSensor, ela retornará novamente a ser invisível para o ARToolKit. Caso se queira atirar outra esfera, será necessário ocultar a placa GERENTE da visão da câmera e mostrá-la novamente. Na Figura 7. é possível visualizar os marcadores e cinco objetos virtuais (três esferas e dois patos) misturados com ambiente do usuário. Mesmo que a esfera passe bem próxima aos patos, sem colidir com nenhum deles, não será detectada a colisão. Desta forma, foi possível desenvolver a detecção de colisão entre objetos no ambiente ARToolKit em tempo real. 5. CONCLUSÕES Fig. 7. Lançamento de três esferas. Para detectar a colisão da bola com o pato, foi desenvolvida a função de detecção, mostrada na Figura 8. A partir do momento em que a esfera torna-se visível, ocorre a verificação da colisão da mesma com os alvos. if(object->vrml_id > 0) {//se é a esfera ou o pato arVrml97Draw( object->vrml_id ); If(object->vrml_id > 2) {//se é esfera arDetectCollision(object->vrml_id); } } else if( object->vrml_id < 0) Printf("unknown object type!!\n"); Fig. 8. Função de detecção de colisão da bola com o pato. A função arDetectCollision() foi implementada para capturar a posição de uma esfera e dos dois alvos e comparar a distância entre a esfera e o alvo (alternado). Se a distância for menor que a soma dos raios dos dois objetos, é caracterizada uma colisão que tem com ação mudar a cor do alvo atingido. Esta situação é mostrada nas Figura 9. Fig. 9. Colisão da esfera com o pato. A Realidade Virtual abre um leque de formas de interação em aplicações, viabilizadas com o uso da ferramenta de desenvolvimento de aplicações Vizard, bastando ao desenvolvedor usar sua criatividade. Um dos problemas identificado na aplicação de Realidade Virtual refere-se à sobrecarga de processamento da detecção de colisão. Nesse sentido, o código deverá ser aperfeiçoado para aumentar a velocidade de execução das ações e da detecção de colisão entre objetos e observador. A Realidade Aumentada facilita a interação usuárioaplicação, já que o usuário está mais familiarizado com o mundo real do que com o mundo virtual. Em contrapartida, a Realidade Aumentada restringe-se ao espaço físico. A implementação da aplicação com Realidade Virtual foi mais simples, em função do elevado potencial do software Vizard, com seu largo repertório de funções. A aplicação com Realidade Aumentada exigiu maior esforço de programação e alguns “truques”, como esconder a esfera, envolvendo o ARToolkit e o OpenVRML. Como desdobramento do projeto com Realidade Aumentada, há necessidade de tornar a interação entre usuário e objeto menos dependente dos marcadores. Além disso, é importante possibilitar que a câmera seja movimentada, quando uma esfera estiver em movimento. REFERÊNCIAS BIBLIOGRÁFICAS [1] ARToolKit, “ARToolKit”, version 2.65 for vrml, http://www.hitl.washington.edu/artoolkit/, May 2007. [2] R. T. Azuma, et al. “Recent Advances in Augmented Reality”, IEEE Computer Graphics and Applications, vol. 21, no. 6, pp. 34-37, 2001. [3] C. Kirner, R. Tori, Introdução à Realidade Virtual, Realidade Misturada e Hiper-realidade in Realidade Virtual: Conceitos, Tecnologia e Tendências, Cláudio Kirner e Romero Tori (Ed.), 1ª Edição, São Paulo, vol. 1, pp. 3-20, 2004. [4] M. S. Pinho, C. Kirner, “Uma introdução à Realidade Virtual”, http://grv.inf.pucrs.br/Pagina/TutRV/tutrv.htm, Março 2007. [5] R. Santin, et al. “Ações interativas em Ambientes de Realidade Aumentada com ARToolKit”, VII Symposium on Virtual Reality, SBC, pp. 161-168, 2004. [6] VIZARD, “VIZARD”, version 2.5, http://www.worldviz.com/products/vizard/index.html, March 2007. Uso da Realidade Virtual na Melhoria do Processo de Ensino da Física (Movimento Harmônico Simples) Jucélio Costa Araújo1, Alexandre Cardoso2 e Edgard Lamounier2 1-Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara -Go, Cefet-Urutaí Unidade de Ensino Descentralizada de Morrinhos -Go; 2-Laboratório de Computação Gráfica: Universidade Federal de Uberlândia -Mg. Resumo - O objetivo deste trabalho é demonstrar a possibilidade do estudo de um conteúdo com a ajuda do computador usando a Realidade Virtual como instrumento para criação de ambientes virtuais que simulem aspectos da área da Física. O projeto culminou no desenvolvimento de um software educacional baseado em Realidade Virtual, desenvolvido em VRML a fim de auxiliar o ensino didático, exemplificando um conteúdo específico de uma disciplina, em que estudantes possuem dificuldade no aprendizado, utilizando a potencialidade da Realidade Virtual como uma ferramenta de apoio ao ensino podendo facilitar o entendimento deste conteúdo de uma forma mais rápida e interativa. Palavras-Chave - Física, Interação, Realidade Virtual, VRML. Abstract - The purpose you gave I work is demonstrate the possibility of the I study by one content with the she helps of the computer by using the reality Virtual as the means of for creating of environments virtual what sham appearances from area of physics. The project culminate into the development by one software educational based in Virtual reality, developed in VRML for the purpose of auxiliary the tuition didactic, exemplifying a content specific from a discipline, what students has difficulty into the apprenticeship, by using the potentiality from Virtual reality like a tool of support the I school can you facilitate the perception you gave content from a she forms more fast & interactive Keywords - Physics, Interaction, Virtual Reality, VRML. 1. INTRODUÇÃO A educação é uma área ampla, onde o conhecimento é um ativo que possui diversas formas de aquisição. Nessas diferentes maneiras de aprender, uma certeza é clara, trocar a abstração pelo real tem tido bons resultados. Com isso a informática se torna um ponto forte de apoio, pois o uso do computador cria condições para que o aluno construa o seu conhecimento por meio da criação de ambientes de aprendizagem para uma melhor visualização e interação com assunto apresentado. Neste contexto computacional a Realidade Virtual desponta como o melhor instrumento para criação de cenários imaginados, podendo resolver o grande problema de abstração de alguns conteúdos, como por exemplo a Física, área extremamente carentes de procedimentos de simulação, pois é crescente a preocupação dos docentes pelo insucesso dos alunos na aprendizagem dessa disciplina. 1.1. Realidade Virtual Realidade virtual pode ser considerada como uma ferramenta para visualizar, manipular, explorar, interagir e modificar, através do computador, dados complexos de uma forma natural, muito semelhante ao que se faria no caso da ação sobre o dado real [1]. O uso da Realidade Virtual estende-se em várias áreas, uma em destaque é a Educação, onde é um dos campos mais vastos para a aplicação da Realidade Virtual [1]. Em um país como o Brasil, onde a demanda por Ensino Médio cresce a cada ano, isso faz com que o sistema aumente sistematicamente, o que faz com que o ensino tenha a necessidade de se tornar mais prático devido a grande quantidade de pessoas que deseja obter o saber. Com isso a educação a distância pode trabalhar como fator impulsionador da divulgação de sistemas de simulação. Não apenas popularizando a técnica, mas também colaborando como fator incentivador do estudo. 1.2.Ambientes Virtuais Por ambientes podemos entender tudo aquilo que envolve pessoas, natureza ou coisas, objetos técnicos. Já o virtual vem do latim medieval virtualis, derivado por sua vez de virtus, força, potência. No senso-comum muitas pessoas utilizam a expressão virtual que designar alguma coisa que não existe como, por exemplo: “com o desemprego, meu salário será só virtual”, “naquele município tem tanta corrupção que 30% dos eleitores são virtuais”. Enfim virtual nos exemplos citados vem representando algo fora da realidade, o que se opõem ao real. Virtual não se opõe ao real e sim ao atual. Virtual é o que existe em potência e não em ato. Citando o exemplo da árvore e da semente, toda semente é potencialmente uma árvore, ou seja, não existe em ato, mas existe em potência. Ao contrário dos exemplos citados no parágrafo anterior o virtual faz parte do real, não se opondo a ele. Por isso, nem tudo que é virtual necessariamente se atualizará. 2. TRABALHOS RELACIONADOS LVEE - Laboratório Virtual para Experiências de Eletrônica - O projeto LVEE foi desenvolvido na PósGraduação da Pontifícia Universidade Católica de Campinas e consiste na criação de um ambiente virtual, baseado em modelos do mundo real, para a experimentação de atividades virtuais relacionadas a circuitos elétricos e eletrônicos [2]. VRML Gallery of Electromagnetism – Este projeto oferece uma série de mundos estáticos desenvolvidos em VRML, que simulam experimentos de Física, tais como vetores de campo elétrico, vetor de campo magnético etc. Este sistema, porém não permite o usuário modificar ou alterar os parâmetros de alteração de características dos campos (elétrico/magnético) ou fazer a alteração dos elementos de fontes (cargas elétricas ou em movimento) [3]. Laboratório Virtual para experimento de Física Este trabalho apresenta uma ferramenta desenvolvida, com utilização da linguagem VRML, para fins de suporte ao ensino presencial e a distância. O foco principal desta pesquisa é o desenvolvimento de ferramentas que possibilite, o usuário, desconhecedor de técnicas de Computação Gráfica e de RV, criar e modificar, facilmente, ambientes virtuais para elaborar experimentos de Física usando a Internet ou Intranet [4]. Analisando esses sistemas, conclui-se que cada um deles apresenta características peculiares quanto ao grau de interação do usuário. Daí a necessidade da criação de uma arquitetura utilizando técnicas de Realidade Virtual que possibilitem o desenvolvimento de um sistema educacional interativo. formatados em gráficos para uma melhor interpretação dos resultados. 3.1 Estudo de Caso (Movimento Harmônico Simples) Oscilar significa mover-se de um lado para outro, movimentar-se alternadamente em sentidos opostos, mover-se, tornando a passar (ao menos aproximadamente) pelas mesmas posições. Assim, uma partícula que se movimenta para a frente e para trás ao redor de um ponto dado está em um movimento oscilatório. Periódico significa que se repete com intervalos regulares. O movimento harmônico simples (MHS) é um tipo particular de movimento periódico oscilatório em que a partícula se move sobre uma reta de modo que a intensidade da força que tende a levá-la ao ponto fixo cresce na mesma proporção em que aumenta o seu afastamento deste mesmo ponto fixo. O movimento harmônico simples pode ser visto como a projeção ortogonal do movimento circular uniforme (MCU) sobre qualquer reta. Por exemplo, se uma partícula descreve um MCU num plano vertical, a sombra da partícula descreve um MHS sobre uma linha vertical Este sistema tem como objetivo demonstrar que a projeção de um movimento circular uniforme em qualquer diâmetro da trajetória produz um movimento harmônico simples (MHS). Podemos também visualizar, na imagem, o comportamento dos vetores velocidade e aceleração no MCU. A figura 1 nos mostra uma forma para se ver que a equação de movimento do M.H.S. é do tipo seno ou coseno, é a partir da projeção do Movimento Circular Uniforme (M.C.U.) sobre o eixo x, onde sabemos que projeções são feitas a partir das funções seno e coseno. Com isso a função obtida é do tipo seno ou cosseno. 3. METODOLOGIA Entrevistas foram feitas com professores da rede pública e particular de ensino na área de Física especificamente o Movimento Harmônico Simples(MHS), buscando enumerar os principais problemas encontrados pelos alunos durante as aulas desta matéria, aplicou-se também, um questionário aos alunos envolvidos destas escolas, para se saber especificamente quais as principais dificuldades de aprendizado dentro deste conteúdo de Física. Com estes métodos, detectou-se a dificuldade por parte dos alunos em visualizar os processos físicos de uma maneira mais concreta, pois as imagens estáticas (imagens em livros, ou apostilas) as quais eles estão acostumados davam apenas uma visão parcial do evento, fazendo com que estes alunos tivessem uma interação menor com o fenômeno. O que confirmava também as opiniões obtidas com os professores, essas conclusões aplicação dos questionários, os principais problemas do aprendizado da Física neste estudo foram Figura 1. Projeção do M.C.U. sobre o eixo x com uma diferença de fase ø. eixo x produzindo um M.H.S. 4. TECNOLOGIA UTILIZADA 4.1 Vrml É a abreviação de Virtual Reality Modeling Language, ou Linguagem para Modelagem em Realidade Virtual. O VRML é uma linguagem independente de plataforma que permite a criação de ambientes virtuais por onde se pode passear, visualizar objetos por ângulos diferentes e até interagir com eles. 4.2 Javascript É uma linguagem de script, isto é, texto ASCII interpretado sem necessidade de compilação, que permite adicionar características ativas ao código HTML em que está inserida. Foi utilizada no projeto para uma melhora do nível de animação dos objetos participantes do evento, pois a linguagem VRML é limitada para atualizações automáticas no mundo virtual. 5. IMPLEMENTAÇÃO DO SISTEMA Foi construído um protótipo para ser apresentado aos alunos para a comparação do nível de aprendizado da aula virtual em relação aos mesmos durante uma aula comum, e outra aula com o uso de um ambiente virtual demonstrando o campo de atuação do movimento harmônico simples dentro do movimento circular. Figura 2. Ponto de visualização inicial da aplicação em RV. A Figura 3 mostra a força restauradora que governa o MHS cujo módulo é proporcional ao afastamento da partícula do ponto fixo considerado. O ambiente virtual foi modelado na linguagem VRML permitindo a interação do usuário com o mundo, havendo a necessidade da integração da linguagem VRML e Java script, para uma melhora do nível de animação dos objetos participantes do evento, pois a linguagem VRML é limitada para atualizações automáticas no mundo virtual. 5.1 Funcionamento do sistema Essa simulação trata do Movimento Harmônico Simples aplicado no movimento circular uniforme. Como pode ser visto na Figura 2, existem três partículas, representadas por pequenos círculos, um deles está em cima da borda circular azul e os outros em um dos dois diâmetros. Tais diâmetros são perpendiculares entre si. Assim, uma partícula se movimenta de modo que, em intervalos de tempos iguais, o movimento se repete identicamente (movimento periódico). Assim, uma partícula estará em MHS quando se move sobre uma reta sob o efeito de uma força cujo módulo é proporcional ao afastamento da partícula de um ponto fixo sobre esta reta e dirigida para esse ponto. Uma força que, atuando sobre uma partícula, tem a propriedade de estar sempre dirigida a um ponto fixo, é chamada de força restauradora. A força que governa o MHS é uma força restauradora cujo módulo é proporcional ao afastamento da partícula do ponto fixo considerado. A Figura 2 mostra o movimento das esferas no momento inicial do MHS onde se move sobre uma reta sob o efeito de uma força cujo módulo é proporcional ao afastamento da partícula de um ponto fixo sobre esta reta e dirigida para esse ponto. Figura 3. Ponto da força restauradora do MHS. 6. AVALIAÇÃO, RESULTADOS E CONCLUSÕES O ambiente foi apresentado a alunos e professores de uma escola pública e outra privada. O ambiente foi testado por cerca de 30 alunos dessas escolas que tinham dificuldades no conteúdo MHS da disciplina de Física. Foi feita inicialmente a apresentação formal do ambiente tanto para alunos quanto para professores e a real finalidade desta demonstração. Primeiramente foi ministrada uma aula nos moldes normais para alunos, com o envolvimento apenas de quadro e giz para a explicação do movimento harmônico simples. Em um outro momento foi apresentado o mesmo conteúdo, porém com a utilização do ambiente virtual, mostrando o MHS em uma outra visão, onde os alunos tiveram uma participação mais interativa com o ambiente. Após a apresentação do protótipo, todos os participantes responderam questionários apresentando suas opiniões referentes ao uso da realidade virtual dentro o ensino da física e apresentaram também sugestões em relação ao uso de Realidade virtual no ensino do MHS. Num geral os resultados finais foram satisfatórios, pois 95 % dos usuários do processo acharam que o aprendizado foi bem estimulado com o uso do ambiente virtual, e somente 5% acharam que tiveram alguma dificuldade no aprendizado do Movimento Harmônico Simples utilizando ambientes virtuais, como é mostrado na Tabela 1. Tabela 1- Resultados do experimento do ambiente virtual em relação ao uso do Sistema de Física em escolas públicas e particulares. Usuários do sistema Quantidade Aprovação Rejeição ao ao uso uso do sistema sistema Professores 4 4 0 Alunos 90 86 4 Foi feito também uma outra avaliação como é mostrado na tabela 2 comparando o nível de aprendizado do sistema em relação ao aprendizado tradicional, detectando-se as opiniões de professores e alunos de um em relação ao outro. Também foi aberto aos participantes uma área para poderem dar a sua opinião em relação as dificuldades encontradas em relação ao uso da ferramenta, principalmente as dificuldades nos princípios básicos da informática por não estarem acostumados com esses tipos de ferramentas, praticamente nulas nas escolas atuais, o que de inicio causa um temor por parte de quem trabalha com o sistema, porém a medida que os mesmo vai se tornando familiar aos usuários, o nível de uso do mesmo se torna cada vez mais alto, o que transforma este protótipo em um parceiro no aprendizado da Física. Tabela 2- Resultados em relação ao aprendizado do sistema, professores e alunos colocando suas preferências de uso. Usuários Quantidade Aprendizado Aprendizado com tradicional a interface virtual Professores 4 1 3 Alunos 90 12 78 6.1 Conclusões A principal conclusão deste trabalho é aplicabilidade da Realidade Virtual como instrumento capaz de melhorar motivar alunos e professores no processo de ensino-aprendizagem de qualquer conteúdo. A medida que era feita o estudo sobre o assunto ficou claro que hoje se busca sempre na área da educação meios para se poder ter um fundamental importância em relação a qualidade de aprendizado, e com isso a realidade virtual assume papel de importância dentro deste tema, pois é um meio que a cada dia vem ganhando espaço dentro das diversas áreas, e que agora começa a despertar interesses em relação a educação. Neste ambiente estudado foi trabalhado a integração do JavaScript com a linguagem Vrml, conseguindo resultados satisfatório para o ambiente. Contudo as opiniões dos professores foram bem aceitas pois os mesmos possuem um conhecimento bem concreto em relação ao assunto, porém mais de 95% dos alunos tiveram a mesma opinião, fazendo com que a idéia realmente tivesse sucesso. O que nos torna responsáveis pela mudança dos paradigmas que existem atualmente dentro da educação. 6.2 Trabalhos Futuros Como trabalhos futuros, torna-se necessários a aplicação da realidade virtual em outras áreas menos exploradas da física, como por exemplo: 1 – Uso da realidade virtual no aprendizado da gravitação universal 2-Realidade Virtual como apoio ao aprendizado de termodinâmica. 3-Visualização do impacto de objetos num choque, e seus resultados, utilizando a realidade virtual 7. REFERÊNCIAS BIBLIOGRÁFICAS [1] KIRNER, Cláudio. Sistemas de Realidade Virtual. Grupo de Pesquisa em Realidade Virtual, Departamento de Computação – UFSCar. 1997. Documento disponível no endereço eletrônico http://www.dc.ufscar.br/~grv/, [2] MEIGUINS, Bianchi Serique, BEHRENS, Frank Herman. Laboratório Virtual para Experiências de Eletrônica. In: 2th Workshop on Virtual Reality, 1999. [3] SALGADO, Rob. VRML Gallery of Electromagnetism. Disponível no endereço eletrônico. http://physics.syr.edu/courses/vrml/electromagnetism/s phere.wrl, agosto 2005. [4] CARDOSO, Alexandre, LAMOUNIER JR., Edgard, TORI, Romero. Interactive 3D Physics Experiments Symposium on Virtual Reality Florianópolis: UFSC, SBC, 2001, pp. 280-290. [5] RIBEIRO, Marcos Wagner de Souza. Uma arquitetura para ambientes virtuais distribuídos. 2005. 105f. Tese (Doutorado em Ciências) Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia, 2005. [6] PASQUALOTTI, Adriano et al. A Realidade Virtual como proposta de ensino-aprendizagem de Matemática. In: Semana Acadêmica do PPGC, 1999, Porto Alegre. Documento disponível no endereço eletrônico Marília, SP. Anais 2th SBC Workshop on Virtual Reality: Marília, SBC, 1999, pp.56-67. USO DO LIVRO INTERATIVO COM REALIDADE AUMENTADA EM APLICAÇÕES EDUCACIONAIS Francisco César de Oliveira, Rafael Santin, Claudio Kirner Universidade Metodista de Piracicaba-Unimep e-mail: [email protected], {rafaelsantin, ckirner}@unimep.br Resumo – Este artigo enfoca a Realidade Aumentada como ferramenta de apoio e incentivo em aplicações educacionais. O uso do Livro Interativo com Realidade Aumentada, associado com as interações aqui propostas, permite aos educadores e alunos criarem mundos virtuais que podem ser verificados em tempo real ou não, dependendo da aplicação. Assim, o trabalho cria uma situação diferenciada em relação ao processo educacional, enfatizando o trabalho colaborativo. Palavras-Chave – colaboração, aumentada, realidade virtual. educação, Num primeiro momento, o livro interativo é como outro qualquer, com textos e figuras. A diferença é que possui marcadores nas páginas, os quais estão diretamente relacionados com as aplicações de RA. É através dos marcadores, ou simplesmente placas, que as aplicações envolvendo RA são possíveis. A Figura 1 exemplifica o funcionamento básico de uma aplicação com o livro interativo. realidade Abstract – This paper addresses Augmented Reality as a tool to support and motivate people to use it on educational applications. The Interactive Book with Augmented Reality explores several types of interactions, allowing teachers and students to create virtual environments that can be manipulated in real time or not depending on application. This work is related to a new situation in the educational process, emphasizing the collaborative work. Keywords – collaboration, education, augmented reality, virtual reality. 1. INTRODUÇÃO Conforme Matias [1], a utilização de novas tecnologias multimídia têm produzido facilidades potencialmente úteis para diversas áreas, tais como ensino, vendas, administração, disseminação de informação e jogos. De acordo com Wolf [2], as pessoas formam parte de um novo modo de ser e pensar, influenciadas pela combinação de diversas tecnologias, tais como a televisão, o computador, games online, entre outras. Ainda, segundo o autor, as tecnologias podem e devem servir de aliadas à tarefa de ensinar, visando facilitar o processo de ensino e aprendizagem. Assim, cabe aos atuais educadores repensar a questão pedagógica, no sentido de traçar novas metas e objetivos a fim de aplicar adequadamente essas novas tecnologias. Realidade Aumentada (RA) é a inserção de objetos 3D ou animações no mundo real. Embora ainda não se trate de uma aplicação facilmente manipulada por qualquer usuário, é de se esperar que esse quadro se inverta em consequência dos inúmeros projetos de RA espalhados pelo mundo [3] [4]. O presente trabalho descreve algumas interações aplicadas no ambiente do Livro Interativo com Realidade Aumentada (LIRA). Aborda autoria de mundos virtuais, assim como o uso educacional desses ambientes, envolvendo aplicações síncronas, assíncronas e situações de colaboração que são propostas entre alunos e professores. 2. AMBIENTE DO LIRA Fig. 1. Livro Interativo com RA. Percebe-se que o objeto virtual da figura fica atrelado ao marcador impresso na página do livro. Isso permite que cada marcador possa se relacionar com um ou, dependendo da aplicação, com vários objetos 3D. Além do objeto virtual, o livro interativo também pode retornar áudio, aumentando ainda mais o leque de opções para aplicações desse tipo, além de ser um recurso sensorial adicional. Para que se possa interagir com objetos virtuais mediante o uso da RA, é necessário algum hardware e software. O primeiro é possuir um computador e uma webcam, ambos de configuração básica. Quanto ao software, existem alguns programas disponíveis que tratam a RA; um dos mais utilizados é o ARToolKit [5]. O software é livre, de código aberto e foi desenvolvido inicialmente pela Universidade de Osaka, através do Dr Hirokazu. Trata-se de uma ferramenta que rastreia e posiciona os objetos 3D em relação à câmera através de uma forma padrão, que é o marcador já mencionado. Portanto, é necessário conhecer uma determinada forma (normalmente um retângulo) para obter sua localização, de maneira que o objeto virtual possa ser sobreposto no mundo real através desse marcador. Assim, o ARToolKit é uma biblioteca de programação que utiliza recursos de visão computacional para alinhar objetos virtuais com seus respectivos padrões de marcadores. 3. AUTORIA DE MUNDOS VIRTUAIS EXTRAÇÃO DE OBJETOS DO LIRA COM Mediante aplicações adicionais, o livro com RA descrito pode se tornar ainda mais atraente e interativo. Os objetos virtuais do exemplo anterior podem ser visualizados um a um, conforme vão surgindo as páginas do livro, ou mesmo alterados sequencialmente por outros objetos através de uma segunda placa que poderia fazer essa troca. Em ambos os casos, a interação do usuário estaria reduzida à manipulação do livro interativo. Com esse livro e a adição de um segundo componente, a prancheta virtual, é possível construir mundos virtuais que vão se formando gradativamente. Portanto, enquanto que no primeiro exemplo o usuário só pode ver e manipular o objeto, com a prancheta é possível mais do que isso, já que a interação aumenta na medida em que o usuário passa a montar ambientes virtuais. A prancheta é outro tipo de placa, assim como as demais impressas no livro, mas com a diferença de não ficar presa àquele, ou seja, a placa da prancheta virtual é independente. A Figura 2 ilustra a prancheta ao lado do LIRA. A figura somente mostra a prancheta como objeto virtual, já que, na verdade, a placa que acomoda esse objeto está mais abaixo da prancheta, não sendo possível visualizá-la neste exemplo; o objeto 3D da prancheta está representado na figura por uma placa retangular de cor cinza. apagar novos objetos mediante manipulações simples por intermédio dessas placas. Essas interações são realizadas com a aproximação das placas aos objetos 3D já posicionados na prancheta; seria o mesmo que corrigir um erro. Uma vez criado o mundo virtual na prancheta, a aplicação permite salvar o ambiente 3D recém construído e com isso o aluno pode enviar ao seu professor a tarefa concluída, o que poderia ser feito por e-mail ou outro mecanismo digital. Mesmo depois de salva, a prancheta ainda pode ser restaurada mediante outra placa, possibilitando ao aluno fazer mais alterações no ambiente virtual, se assim o desejar. Para que a prancheta possa ser visualizada e avaliada pelo professor, este deverá possuir um sistema semelhante ao do aluno, ou seja, aquele que foi necessário para montar a prancheta virtual com todos os objetos 3D configurados anteriormente. Esse sistema envolve o mesmo hardware e software utilizados para a construção do mundo virtual. O professor também deverá possuir uma placa de restauração, de tal forma que possa reconstruir o ambiente montado pelo aluno. Feito isso, o professor tem condições de avaliar a tarefa enviada e encaminhar a seu aluno a nota, assim como outras informações pertinentes. O professor tem a opção de corrigir manualmente a prancheta e devolvê-la ao seu aluno para que este tome ciência de seus erros. Também poderia, em vez de corrigir, solicitar ao aluno que tente refazer a tarefa, a fim de melhorar seu desempenho. A Figura 3 ilustra a visão do aluno a medida que o seu mundo virtual vai sendo formado, e mostra a visão do professor, que após receber os arquivos necessários, faz a execução em seu computador. Fig. 2. Livro interativo e a prancheta virtual. A prancheta tem por objetivo armazenar objetos virtuais que podem ser extraídos do livro. Dessa forma, a aplicação do LIRA ganha um novo reforço interativo, que é a possibilidade de recriar novos ambientes virtuais conforme a necessidade do usuário, reforçando a idéia de autoria na construção de mundo virtuais utilizando as mãos. A aplicação proposta pode servir de apoio educacional na medida em que os mundos 3D poderiam reforçar conteúdos disciplinares, como tarefas escolares, revisão de material didático, dentre outras aplicações. Assim, seria possível ter uma situação em que o aluno, a pedido de seu professor, poderia imaginar um ambiente virtual baseado no livro e em seguida recriá-lo na prancheta. Placas adicionais permitem ao aluno fazer alterações, mesmo na prancheta virtual já formada. Isso faz com que o ambiente possa ser alterado pelo aluno, de forma a incluir ou Fig. 3. Mundos virtuais criado pelo aluno e observado pelo professor. O tipo da aplicação descrita é chamado de assíncrona. Isso se deve porque existe uma diferença de tempo entre o montar o mundo virtual pelo aluno e a posterior avaliação do professor. Trata-se, portanto, de um típico caso de Educação a Distância (EAD). A EAD é uma tendência que vem ganhando muitos adeptos no sistema educacional brasileiro, uma vez que os cursos a distância estão se tornando comum no meio acadêmico, inclusive em muitas universidades. Essa modalidade de ensino é vista não só como um sistema especial, mas como uma parte integrante do aprendizado que prepara profissionais nas diversas áreas de ensino e pesquisa [6]. A aplicação também permite que o processo ocorra em tempo real de duas maneiras: on-line ou presencial. No primeiro caso, o aluno configura o seu mundo 3D da mesma forma que o exemplo anterior, com a diferença que o professor pode acompanhar todo o processo de forma online; para este exemplo a aplicação exige um suporte de rede. Na prática, o que acontece é que o sistema computacional do aluno envia ao outro sistema as posições dos objetos envolvidos na aplicação. Já o sistema do professor, ou seja, o software ARToolKit dele, deverá carregar essas posições para que os objetos sejam visualizados em seu computador. A Figura 4 exemplifica esse processo. completa, a prancheta aceita alterações do tipo eliminar ou incluir novos objetos, assim como salvar as alterações realizadas até o momento. Fig. 4. Processo de acompanhamento on-line. O professor também poderia acompanhar todo o processo de configuração da prancheta em compania do aluno, portanto, de forma presencial. Uma terceira maneira de proceder com a aplicação seria de forma colaborativa. Diferentes usuários poderiam interagir entre si com a mesma aplicação de duas maneiras distintas. Uma delas é que vários usuários utilizem a aplicação simultaneamente em torno de um computador; seria uma colaboração presencial entre os usuários. Diferentes usuários também poderiam compartilhar uma mesma aplicação num ambiente de rede, onde cada um manipularia de alguma forma o ambiente virtual disponível para todos através da rede. 4. APLICAÇÕES EDUCACIONAIS 4.1 Uso em Ciências A Ciência é uma área intimamente relacionada com experimentos, sons, cores e objetos. O livro interativo pode representar uma ferramenta diferenciada no sentido de agregar a esses objetos outros valores, como movimento (animação), som, além da interação que o livro permite com o usuário. O livro baseado em RA poderia se relacionar com outras diversas áreas da Ciência, como astronomia, arquitetura, engenharia, medicina, etc. Como mero exemplo, um aluno de ciências que estivesse encarregado de ordenar os planetas do sistema solar poderia extrair os objetos virtuais (planetas) de um livro interativo e ordená-los na prancheta virtual de acordo aos seus conhecimentos de astronomia. A Figura 5 ilustra uma aplicação que pode representar outro exemplo de tarefa recomendado por um professor. É um ambiente que encarrega o aluno de separar os animais mamíferos das aves, os quais vão surgindo no livro virtual conforme o aluno manipula sua aplicação. Como se observa, a prancheta virtual apresenta uma divisão, de maneira que os animais possam ser acomodados conforme os conhecimentos do aluno. Mesmo depois de Fig. 5. Separando diferentes objetos na prancheta virtual. 4.2 Uso em Literatura Um dos grandes desafios dos professores dessa área é fazer com que seus alunos leiam textos de forma eficaz, já que não é raro verificar a situação do aluno que não consegue compreender a história de um livro, embora tenha lido a obra toda. Um livro baseado em RA poderia contar uma história de forma diferente, principalmente para o público infantojuvenil. Como outro qualquer, o livro interativo estaria constituído de textos e imagens, envolvendo personagens e ambientes. Como tarefa, um professor poderia solicitar ao aluno que extraia do livro alguns personagens, objetos ou ambientes com características pré-definidas. Como a história do livro interativo poderia ser contada mediante objetos 3D, animações e som, é provável que o aluno se prenda mais na leitura, agregando valores ao livro comum. 4.3 Uso na Matemática Com ênfase nas fases de pré-alfabetização e alfabetização, foi possível criar um ambiente virtual envolvendo a matemática. O sistema, que está disponibilizado na internet [3], compõe-se de alguns exemplos de operações aritméticas. Usando adaptações realizadas no software ARToolKit, o ambiente ganhou novas placas, às quais retornam as respostas das operações aritméticas que são propostas pelo sistema. Além do retorno visual, o aluno ainda pode contar com o reforço auditivo, já que as operações e as respostas são narradas por uma voz de fundo. A Figura 6 ilustra uma operação aritmética básica envolvendo essa aplicação. Após o professor mostrar a operação matemática (passo 2), os alunos poderão manifestar-se, cada um de acordo com sua resposta. Na sequência, o professor aproxima a placa (passo 3) para então obter a resposta correta que o sistema fornece (passo 4), inclusive com feedback auditivo. passam por constantes mudanças, sobretudo as relacionadas com novas tendências tecnológicas que vão surgindo aos poucos. Com a educação não é diferente, já que inúmeros projetos multimídia vêm se realizando nessa área com o propósito único de motivar e adequar a educação frente aos novos conceitos. Assim, a RA, através do uso do livro interativo, vem sendo proposta no sentido de contribuir para novas tendências no processo educacional, quer seja para educadores ou alunos. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 6. Aprendizagem de aritmética com RA [3]. A aplicação descrita é bastante simples, embora possa constituir numa interessante ferramenta de auxílio ao professor. Outra aplicação mais complexa e também envolvendo cálculos aritméticos está sendo desenvolvida em paralelo com a anterior. A diferença é que nessa outra aplicação os cálculos são realizados em tempo real de execução, funcionando como uma calculadora. Dessa forma, caso o aluno desejasse verificar outras combinações matemáticas, ou seja, com outros números e operações, poderia fazê-lo normalmente. O sistema deverá dispor de uma quantidade maior de placas, sendo a maioria para representar os números e as demais para as operações aritméticas básicas. 5. CONCLUSÕES Todos os setores que envolvem as atividades humanas [1] Matias, Márcio; Heerman, Vivian; Santos, Neri. Aspectos Cognitivos da Iteração Humano-Computador Multimídia. In: Workshop sobre Fatores Humanos em Sistemas Computacionais, 2000, Gramado. Anais. Porto Alegre: Instituto de Informática da UFRGS, 2000. p. 2232. [2] Wolf, Lilian A. La Educación en El Mundo de Hoy. Disponível: www.eca.usp.br/eca/prof/moran/lilian.htm. Acesso em 01.10.2007. [3] Projetos de Realidade Aumentada. Home Page: http://www.ckirner.com/claudio/?PROJETOS:SICARA: Aritm%E9tica. Acesso em 04/10/2007. [4] Zhou, Z. et al. “Interative Entertainment Systems Using Tangible Cubes”, Australian Workshop on Interative Entertainment. 2004. p. 19-22. [5] ARToolkit Home Page, http://www.hitl.washington.edu/artoolkit/download/ Acesso em 01/10/2007. [6] A. Cardoso. Uma Arquitetura para Elaboração de Experimentos Virtuais Interativos Suportados por Realidade Virtual Não-imersiva. 2002. Tese (Doutorado em Engenharia Elétrica), USP, São Paulo. UTILIZANDO MAPAS CONCEITUAIS PARA A GERAÇÃO AUTOMÁTICA DE AMBIENTES VIRTUAIS DE ENSINO/APRENDIZAGEM. Guilherme Fernando de Oliveira1, Bruno Marques Panccioni1, Ildeberto Aparecido Rodello1, Jose Remo Ferreira Brega2. 1 UNIVEM, Centro Universitário Eurípides de Marilia. Av. Hygino Muzzi Filho, 529 – Marília/SP, Cep 17525-901 CP 2041 {guicomp, bmpnet, rodello}@univem.edu.br. http://www.univem.edu.br/ppgcc/default.asp 2 UNESP – Universidade Estadual Paulista Júlio de Mesquita Filho. Av. Luiz Edmundo Carrijo Coube, 14-01 – Bauru /SP, Cep 17033-360 [email protected]. http://www2.fc.unesp.br/computacao Resumo - Este artigo apresenta o projeto de um sistema para geração automática de ambientes virtuais para ensino/aprendizagem a partir da ferramenta cognitiva Mapa Conceitual. Seu principal objetivo é auxiliar o professor no processo de ensino/aprendizagem de forma que facilite e estimule o estudante na busca do conhecimento, contemplando a maioria das disciplinas de uma matriz curricular. Objetiva também oferecer ao professor a possibilidade da utilização de recursos de Realidade Virtual sem que este os domine completamente. Palavras-Chave – Realidade Virtual Ferramentas Cognitivas, Mapas Conceituais. e Educação, Abstract – This paper presents the design of a system for virtual environment’s automatic generation for learning process using a cognitive tool called Conceptual Map. It aims at supporting the teacher in the learning process and facilitates and stimulates the student in the search of the knowledge, contemplating most of the disciplines of a curriculum. It also intends to offer to the teacher the possibility of Virtual Reality resources usage without completely knowledge about them. Keywords - Virtual Reality and Education, Cognitive Tools, Conceptual Maps. 1 INTRODUÇÃO Com a inserção dos computadores na Educação surgiu uma nova forma de auxiliar o processo de ensino/aprendizagem, gerando novos desafios técnicos e pedagógicos em torno dessa nova ferramenta. Seu uso como ferramenta de ensino apresenta uma nova forma de representar o conhecimento, redimensionando os conceitos aprendidos e buscando novas idéias e valores [3] [12]. É notável que o computador está cada vez mais sendo utilizado como uma nova ferramenta de ensino/aprendizagem e suas tecnologias fomentam a busca pela construção do conhecimento de maneira fácil e agradável. A possibilidade de seu uso em diversas áreas da Educação o torna multidisciplinar, e o fato de possuir oportunidades de experiências com grande poder de ilustração estimula a participação dos estudantes. A tendência da aprendizagem como tecnologia aponta para as teorias construtivistas, em que o conhecimento não é transmitido, mas sim construído pelo estudante. A construção do conhecimento parte de um processo ativo e engajado e em atividades cognitivas. As tecnologias como ferramentas educacionais necessitam ter como função principal a de ferramentas intelectuais, que permitam aos estudantes construírem significados e representações próprias do mundo [8]. As novas tecnologias, tais como: Inteligência Artificial (IA), Internet e Realidade Virtual (RV), dentre outras, permitem a interatividade, a participação, a intervenção, a bidirecionalidade e a multidisciplicinaridade em Ambientes Educacionais. A criação de um ambiente artificial para aprendizagem pode ser um importante aliado para a forma apropriada à aquisição do conhecimento [9]. Para essa finalidade, a RV apresenta-se como uma alternativa tecnológica com grande potencial, principalmente devido as suas técnicas de interação, em que o aluno pode interagir com o ambiente e ter respostas conforme a decisão tomada, e seu poder ilustrativo, em que o ambiente é apresentado de forma mais natural e intuitiva possível. Nesse contexto, a motivação desse artigo é apresentar o projeto de uma ferramenta computacional amparada em um método pedagógico que possa auxiliar processo de ensino/aprendizado e que, de certa forma, também ampare a maioria das disciplinas propostas por uma determinada matriz curricular. A intenção é, a partir da inserção de um mapa conceitual, ser possível a geração automática de um Ambiente Virtual (AV) que se constitua em uma abstração desse método. Auxiliado por uma biblioteca de recursos multimídia interativos será possível, para cada conceito hierarquizado no mapa, a inserção de artefatos para a sustentar a transmissão do mesmo. A Seção 2 apresenta conceitos básicos do uso da Informática na Educação, focando RV e Mapas Conceituais. A Seção 3 apresenta os fundamentos tecnológicos, citando as linguagens de programação Java e XML. A Seção 4 esclarece sobre a estrutura do projeto, seus objetivos, metodologia, andamento e resultados esperados. Finalmente, na Seção 5 são expostas as conclusões do trabalho até o momento. 2 CONCEITOS BÁSICOS 2.1 Informática e Educação A Informática na Educação pode ser abordada das seguintes formas: utilizando o computador como meio de transmissão de conhecimento, mantendo a mesma prática pedagógica em uma aula presencial, ou informatizando os processos de ensino já existentes. Outra forma, ainda, é a sua utilização para elaboração de ambientes de ensino/aprendizagem que enfatizam a construção do conhecimento, de forma a propiciar a vivência de experiências educacionais, do que, simplesmente, transmitir o conhecimento adquirido [3]. A Informática e suas tecnologias, como a Internet, a Inteligência Artificial, a RV, as mídias interativas, dentre outras tecnologias centradas na informação, podem ser consideradas como um novo tipo de alfabetização [13]. É possível considerar como seu maior ganho, a capacidade de simulação, em que mundos virtuais criados podem, por exemplo, simular situações críticas sem nenhum risco. É possível ainda, com os avanços tecnológicos, criar ambientes de aprendizagem e treinamento para simular, visualizar e interagir com um bom grau de realismo situações do mundo real [11]. 2.2 Realidade Virtual e Educação A utilização da RV na Educação pode ser adotada por diversas razões, dentre as quais é possível citar: motivação do estudante na utilização de Ambientes Virtuais, poder de ilustração, permitir análise de perto ou de longe, possuir oportunidades para experiências, permitir a realização do trabalho conforme o ritmo do estudante e possibilitar a interação com o ambiente estimulando a participação do estudante [1]. Nos diferentes tipos de ensino, desde o formal ao ensino à distância, bem como o ensino de LIBRAS, os sistemas de RV apresentam-se como uma nova forma de transmitir o conhecimento adequando as informações e adaptando-se às suas características ao tipo e nível de ensino, à faixa etária e às condições físicas e psicológicas dos estudantes [10]. A RV visa expandir os processos normais de aprendizado, além de disponibilizar um modelo de interface atraente que motive o seu uso, encorajando o estudante a participar de um processo criativo e imaginário, em que se aprenda facilmente coisas que nos processos tradicionais poderia levar mais tempo. A possibilidade de superação de dificuldades no contexto do próprio erro transforma-se num elemento positivo de reflexo pessoal e de aprendizagem, assumindo um papel pedagógico de relevo [3] [10]. 2.3 Mapas Conceituais Mapa Conceitual é uma Ferramenta Cognitiva elaborada por Novak baseada na Teoria da Aprendizagem Significativa de Ausubel, utilizado para representar como o conhecimento é armazenado na estrutura cognitiva de uma pessoa por meio de diagramas de conceitos. Devido a sua estrutura organizacional hierarquizada, procura facilitar o aprendizado e a assimilação do conteúdo dado com a estrutura cognitiva já existente [4] [7]. Ao estudante se oferece uma apresentação entre as partes e todo o conceito, tendo a possibilidade de montar estratégias para o gerenciamento da aprendizagem, tais como: verificar erros conceituais, observar qual o conhecimento a “priori” necessário para a compreensão da nova informação e navegação conceitual, fazer anotações, resolver problemas, planejar o estudo ou redações de relatórios, preparar-se para avaliações e identificar a relação entre conteúdos. Ao professor, por sua vez, apresenta-se como poderoso auxiliar no ensino de um novo tópico, mantendo-o mais atento aos conceitos-chave, reforçando a compreensão e aprendizagem por parte dos estudantes, identificando conceitos mal compreendidos ou que estão faltando, e avaliar os estudantes, que podem ser examinados por meio da própria construção de um Mapa Conceitual por eles [4] [7]. 3 FUNDAMENTOS TECNOLÓGICOS 3.1 Java e API 3D A linguagem de programação Java é uma linguagem orientada a objetos e tem como principais características: a portabilidade, a arquitetura neutra, alto-desempenho, robustez, segurança, código interpretado, linguagem dinâmica, além de uma grande quantidade de bibliotecas disponíveis, chamadas APIs (Application Programming Interfaces) [14]. A API Java 3D é própria para desenvolver aplicações gráficas 3D complexas de maneira rápida e eficaz, possui também um conjunto de características, dentre as quais: a implementação em uma variedade de plataformas, a possibilidade de carregar outros conteúdos 3D, como VRML, OBJ e outras extensões 3D externas e a construção de diversas formas, adicionando comportamento e interagindo com o usuário. Além disso, ela pode ser integrada com outras APIs (processamento de imagens, fontes, 2D, interfaces do usuário, XML, dentre outras.), permitindo o desenvolvimento de aplicações de alto nível com dispositivos de entrada e saída múltiplos, além de resultar aplicações com uma boa performance de randerização [5]. 3.2 XML O XML é uma linguagem de marcação de texto, semelhante ao HTML que rapidamente ganha espaço na WEB, sendo utilizada como padrão para troca de dados. A grande facilidade do XML é a liberdade de criação das próprias marcações pelo usuário. Essa liberdade permite a utilização de marcações que façam sentido para outras aplicações, sendo possível um único arquivo XML seja utilizado por diversas aplicações, desde que seus nomes de marcações concordem entre si [2]. As marcações criadas devem ser finalizadas seguindo uma estrutura hierárquica; toda marcação criada deve ser finalizada como rótulos em HTML; caso uma marcação não seja finalizada, o XML não será corretamente lido pela aplicação. A Figura 1 apresenta a estrutura de um arquivo XML utilizado para armazenar conteúdo de uma aplicação. <client> <name> Person </name> <email> [email protected] </email> </client> Sistema Ambiente 2D do Professor Ambiente 3D do estudante Módulo entrada Mapa Conceitual do professor Aquisição dos conceitos relativos ao Mapa Conceitual por meio do AV Módulo para gerar dinamicamente o AV de determinado conceito do Mapa Conceitual Verificação do acesso dos recursos ainda disponíveis na sala virtual Fig. 1. Exemplo de estrutura XML. 3.3 XML e Java A linguagem de programação Java disponibiliza um conjunto de API´s nativas para parseamento do XML para objetos Java e vice-versa. Devido à possibilidade de troca de informações entre aplicações Java por meio do XML apareceram várias outras API´s, dentre as quais é possível destacar a XStream. A XStream que é uma biblioteca para serializar objetos para XML e tem como principais características: facilidade de uso, alto desempenho, pouca utilização de memória, não há duplicação de informação, integração com outras APIs Java, mensagens de erro quando encontra XML mal formatados, dentre outros [6]. Para se criar uma estrutura XML é necessário criar uma classe de objetos para que possa ser feita a troca de informações entre o Java e o XML. 4 ESTRUTURA DO PROJETO Nessa seção é apresentada a descrição geral do projeto, a fase em que o projeto se encontra e quais os resultados esperados. 4.1 Descrição Geral Como mencionado, o projeto utiliza uma ferramenta cognitiva (mapas conceituais) como metodologia pedagógica para construção do conhecimento e também técnicas de RV de forma a estimular o interesse do estudante no conteúdo de ensino e abstrair os conceitos da ferramenta cognitiva. Conforme apresentado na Figura 2, o sistema terá um ambiente de interface 2D e outro com interface 3D. O ambiente 2D é aplicado à inserção do mapa conceitual e à definição de quais recursos multimídia serão utilizados para transmitir os conceitos de uma determinada etapa do aprendizado. Essa interface será disponibilizada ao professor. Na interface 3D será gerado um AV automaticamente a partir do mapa conceitual e dos recursos disponibilizados pela biblioteca de recursos multimídia. A biblioteca será estruturada por meio da definição dos recursos multimídia (textos, imagens, apresentação de slides, som ou por vídeo) existentes em cada sala de aula virtual e que são criados por meio da invocação de métodos. Cada método estará associado a um recurso e por sua vez a uma sala virtual. Esta definição é feita pelo professor no momento em que se associam os recursos aos conceitos do mapa conceitual na interface 2D da ferramenta. Verificação dos conceitos ainda disponíveis no Mapa Conceitual Fig. 2. Módulos do sistema. 4.1.1 Andamento O trabalho encontra-se em fase de desenvolvimento com a implementação da interface e do parseamento dos dados gerados na criação do Mapa Conceitual, armazenado-o em um arquivo XML. No ambiente 2D foi desenvolvida a interface disponível ao professor para a inserção do Mapa Conceitual. A partir dessa interface é possível a entrada de um Mapa Conceitual já existente, salvo pela aplicação em um arquivo XML ou a criação de um novo pelo professor. A Figura 3 apresenta a tela principal dessa interface, em que o professor poderá adicionar conceitos ao mapa e os recursos multimídia relacionados a estes conceitos. Fig. 3. Menu do ambiente 2D. A aplicação conta com a utilização da API Xstream, que auxilia a gravação e leitura de arquivos XML, desde que as marcações XML e os objetos Java sejam idênticos. A partir da geração de um arquivo XML poderá ser feita a troca de dados entre a biblioteca de recursos multimídia e a aplicação que irá gerar o ambiente 3D. Através do ambiente 2D são selecionados os tipos de arquivos que serão apresentados no ambiente. Eles são préestabelecidos pela biblioteca de recursos e compreendem: arquivos de texto, apresentações de slides, apresentação de clipes de vídeos e sons. O ambiente virtual gerado é uma representação de uma sala virtual. O sistema permite a utilização de ambientes virtuais diferentes gerados a partir da escolha do estudante. O primeiro ambiente a ser gerado é um ambiente apresentado na Figura 4, constituído apenas de formas geométricas básicas para apresentar os recursos multimídia quando os mesmos forem clicados pelo estudante. O sistema tem como pré-requisito serem clicados e vistos todos os recursos disponibilizados na sala gerada. Quando os mesmos forem visualizados o sistema habilitará os links de ligação entre os conceitos do mapa, podendo o estudante, através destes, acessar outras salas com os novos conceitos. A partir da escolha do link de ligação uma nova sala é gerada com o novo conceito, a sala atual é descarregada e seu conceito atualizado como concluído. O estudante poderá acessar novamente a sala de um conceito já visto, caso algum link de ligação o leve a um conceito anteriormente acessado, mas a visualização de seus recursos deixa de ser uma obrigatoriedade, já que já foram vistos. Fig. 4. Um exemplo do Ambiente 3D gerado. 4.1.2 Resultados Esperados Espera-se com este projeto criar uma ferramenta capaz de auxiliar o professor no processo de ensino/aprendizado e estimular o estudante à aquisição do conhecimento e uma biblioteca que disponibilize suporte de recursos multimídia a aplicações 3D, que necessitem de auxílio multimídia para apresentação de conteúdos educativos, informativos ou ilustrativos. Por fim, espera-se contribuir com as pesquisas na área de RV, principalmente no tocante a sua utilização na Educação. 5 CONCLUSÕES E TRABALHOS FUTUROS Apesar do trabalho estar em andamento, é possível concluir que a utilização da RV aplicada à Educação tem sido de grande apoio ao processo de ensino/aprendizado. Aliada às ferramentas cognitivas aumenta a validação de sua atuação no processo pedagógico e auxilia na elaboração de um ambiente de aprendizagem mais agradável. Uma melhor definição do ambiente virtual gerado, bem como das abstrações para a representação dos recursos multimídia, ainda se fazem necessárias. É ainda intuito dos autores, testar o sistema com usuários em potencial, colhendo sugestões a aplicando melhorias. REFERÊNCIAS BIBLIOGRÁFICAS [1] D.G. Alves, T.D. Cabral, R.M.E.M. Costa, “Ambientes Virtuais para Educação a Distância: Uma Estrutura de Classificação e Análise de Casos”, Universidade do Estado do Rio de Janeiro, Cadernos do IME, Série Informática, Vol 14, Junho, 2003. [2] E. Armstrong, “Working with XML”, http://java.sun.com/webservices/jaxp/dist/1.1/docs/tutori al/index.html, Sun Microsystems, Version 1.1, Update 35, Dec 2001, acesso em 30/08/07. [3] F. Vendruscolo, J.A. Dias, G. Bernardi, M.L. Cassal, “Escola TRI-Legal – Um Ambiente como Ferramenta de Apoio ao Ensino Fundamental por meio de Jogos Educacionais”. Colabora – A Revista Digital da CVARICESU, V. 3, N. 9, 2005. [4] G.M. Mendonça-Junior, G.A.M. Gomes, “Realidade Virtual na Educação: Um Estudo de Caso”, Semana Univesitária da Universidade Estadual do Ceará, 2001, Fortaleza. Anais da VI Semana Universitária da Universidade Estadual do Ceará, 2001. [5] H.A. Sowizral, D.R. Nadeau. “Introduction to Programming with Java 3D”. Sun Microsystems, 1999. [6] http://xstream.codehaus.org/, acessado em 20/08/07. [7] L.F. Silva, A. Cardoso, E.B. Mendes, E.L. Junior. “A Associação de Realidade Virtual e Ferramentas Cognitivas Contribuindo para o Ensino de Física”, SBC – Sociedade Brasileira de Computação, biblioteca digital, Publicação, [SVR] VIII: 2006 Mai. 2-5: Belém (PA), acesso em 10/12/06. [8] L.M. Passerino. “Informática na Educação Infantil: Perspectivas e Possibilidades”. In: ROMAN, Eurilda Dias; STEYER, Vivian Edite. (Org.). A Criança de 0 a 6 anos e a Educação Infantil: Um retrato multifacetado. Canoas, p. 169-181, 2001. [9] M. Braga. “Realidade Virtual e Educação”. Revista de Biologia e Ciências da Terra, ISSN 1519-5228, Volume 1, Número 1, 2001. [10] M.L.A.S.M. Camacho. “Realidade Virtual e Educação”. Costa da Capariga, Portugal, Convento dos Capuchos, I Simpósio Investigação e Desenvolvimento de Software Educativo, 1996. [11] R.D. Lopes. ”As Mídias e os Meios Eletrônicos na Educação”. Politécnica da Universidade de São Paulo, NATE, LSI, DESE, Disponível em: www.lsi.usp.br/interativos, acesso em 2007. [12] R.M.E.M Costa, L.A.V. Carvalho. “A Realidade Virtual como Instrumento de Inclusão Social dos Portadores de Deficiências Neuropsiquiátricas”. XIV Simpósio Brasileiro de Informática na Educação, NCE, IM/UFRJ, 2003. [13] S.H. Montes, M.F.C. Silva, L.S. Leite. “A Sala de Aula como Ambiência de diferentes Leituras”. Revista da FAEEBA, v. 1, n. 1 2 - UNEB, 1992. [14] Sun Microsystems. “The Java Language: An Overview”. http://java.sun.com/docs/overviews/java/java-overview1.html, acesso em 12/09/2007. VISUALIZAÇÃO DE INFORMAÇÕES EM AMBIENTES DE REALIDADE VIRTUAL E AUMENTADA Ezequiel Roberto Zorzal1, Luciano Ferreira Silva1, João Paulo Vieira Bonifácio2, Alexandre Cardoso1, Claudio Kirner3, Edgard Lamounier Júnior1 1 Programa de Pós Graduação em Engenharia Elétrica - Universidade Federal de Uberlândia (UFU) – CEP 38400-902 Uberlândia – MG – Brasil 2 Programa de Graduação em Engenharia Elétrica - Universidade Federal de Uberlândia (UFU) – CEP 38400-902 Uberlândia – MG – Brasil 3 Programa de Pós Graduação em Ciência da Computação - Universidade Metodista de Piracicaba (UNIMEP) - 13400-911 Piracicaba – SP – Brasil [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo - Este artigo apresenta um sistema para visualização de informações em ambiente de Realidade Virtual e Aumentada, denominado InfoVis-VAR (Information Visualization with Virtual and Augmented Reality). Este sistema oferece suporte a diferentes tipos de dados e possibilita a personalização do seu modo de representação. No protótipo desenvolvido, foi restringida apenas a maneira com que os dados a serem visualizados são organizados, no entanto, não é apresentada nenhuma restrição quanto à natureza destes dados. Com intuito de validar o software, foi aplicado um estudo de caso na área de Ciências Agrárias. Palavras-Chave – Realidade Aumentada, Realidade Virtual, Representação de Dados, Visualização de Informações. Abstract – This paper presents a system for visualization of information in environment of Virtual and Augmented Reality, called InfoVis-VAR (Information Visualization with Virtual and Augmented Reality). This system offers to support the different types of data and makes possible the personalization in its way of representation. In the developed archetype, the way was restricted only with that the data to be visualized are organized, however, no restriction how much to the nature of these data is not presented. With intention to validate software, a study of case in the area of Agrarian Sciences was applied. Keywords – Augmented Reality, Data Representation, Information Visualization, Virtual Reality. 1. INTRODUÇÃO A sobrecarga de informações dificulta o processo de análise, compreensão e utilização de dados. Por exemplo, é plausível ressaltar que tomar uma decisão correta, em qualquer área do conhecimento, com uma enorme quantidade de dados e pouco tempo, quase sempre é uma tarefa difícil de realizar. O computador pode, em poucos segundos, recuperar informações que um ser humano demoraria muito tempo para recobrar. Contudo, muitas destas informações são irrelevantes para o usuário, ou as informações consideradas úteis podem simplesmente ser perdidas, devido ao usuário não conhecer o relacionamento entre os dados. Fatos como estes motivaram diversas áreas de estudo a pesquisarem novos paradigmas para melhorar a representação destas informações. Uma abordagem advinda destas pesquisas seria a aplicação de técnicas de Visualização de Informações. Estas técnicas estudam maneiras de transformar dados abstratos em imagens reais, de forma a facilitar o seu entendimento e/ou ajudar na descoberta de novas informações contidas nestes dados [1]. Neste contexto, a área de Visualização de Informação se apresenta como um campo de estudo de grande utilidade, uma vez que faz uso de técnicas que facilitam o entendimento de informações a partir de representações visuais de dados. Estas representações podem ser distribuídas em três classes, considerando a dimensão do espaço onde os elementos geométricos utilizados estejam situados: unidimensional, bidimensional ou tridimensional [2]. A visualização tridimensional de informações pode ser realizada por meio de ambientes de Realidade Virtual e Aumentada. Esta forma de visualização pode facilitar a análise e a compreensão dos dados, já que os mesmos podem ser dispostos de maneira intuitiva e interativa. Normalmente, os sistemas para visualização de informações são desenvolvidos de modo exclusivo, ou seja, suas representações gráficas são adaptadas apenas para um determinado conjunto de dados. Este método de implementação acaba por prejudicar sua portabilidade e dificilmente serão aproveitados para outros tipos de dados. Com base nisto, gerou-se a necessidade de desenvolver sistemas flexíveis para construção de visualizações, de forma a garantir a independência em relação aos dados que serão visualizados. Uma das características importantes que um sistema de visualização deve possuir é a organização da informação, de modo que, a partir dos dados fornecidos pelo usuário, seja gerada automaticamente uma visualização e uma interface para fazer a sua exploração [3]. Além disso, as seguintes perspectivas motivaram esta pesquisa: • Um sistema de visualização flexível não se limita a uma tarefa específica ou a representação de apenas um tipo específico de dados. • É muito importante desenvolver sistemas de visualizações que garantem a configuração do mapeamento de informações, de maneira que o usuário possa criar uma metáfora visual que permita a compreensão de um determinado conjunto de dados. • A Realidade Aumentada permite a fácil visualização e manipulação do objeto de estudos, reproduzindo os dados complexos sob a forma de objetos e textos tridimensionais, aumentando a capacidade de percepção do usuário, que passa a ser estimulado pela possibilidade de interação natural com a interface. • A Realidade Virtual tem fornecido novos meios para melhorar a interface e a interação dos usuários com sistemas computacionais. Tem permitido a imersão e a interação dos usuários com ambientes sintéticos gerados por computador, por meio da exploração dos sentidos fundamentais do corpo humano, como a visão, a audição e o tato [4]. • A possibilidade de interação entre imagens reais e virtuais que ocorre por meio da Realidade Aumentada pode oferecer ao usuário maiores informações sensitivas, facilitando a associação e a reflexão sobre a situação. Os sistemas de Realidade Aumentada permitem que o usuário decida sobre os ambientes, compondo cenas de imagens tridimensionais geradas por computador misturadas com imagens reais, aumentando as informações do cenário e oferecendo condições para a imersão no ambiente criado [5]. • Associando técnicas de Realidade Aumentada com visualização de informações, o usuário tem a possibilidade de combinar os modelos de representações virtuais ao ambiente real que originou estes dados. Esta associação pode contribuir com o processo de entendimento das informações resgatadas, uma vez que o usuário pode acessar informações virtuais no seu ambiente de domínio. Este projeto objetivou investigar técnicas computacionais com o intuito de desenvolver um sistema flexível de visualização de informações em ambiente de Realidade Virtual e Aumentada denominado InfoVis-VAR (Information Visualization with Virtual and Augmented Reality). A Seção 2 aborda algumas aplicações de visualização de informações em ambiente de Realidade Virtual e Aumentada. A Seção 3 apresenta o sistema InfoVis-VAR. A Seção 4 disserta sobre o estudo de caso aplicado na área de Ciências Agrárias. Finalmente, na Seção 5, são apresentadas as conclusões do trabalho. 2. APLICAÇÕES DA VISUALIZAÇÃO DE INFORMAÇÃO Para pesquisar softwares de visualização de informações baseados em sistemas de Realidade Virtual e Aumentada foram analisados alguns trabalhos existentes em relação às suas funcionalidades, ao tipo de interações permissíveis e a ergonomia da interface. Os softwares citados abaixo são exemplos de trabalhos de pesquisa que utilizam técnicas do contexto aqui enfocado. Ferramenta Colaborativa para Visualização Tridimensional de Dados [6]: tem como função criar um ambiente, em que os usuários possam compartilhar a visualização e trocar informações pela Web. A visualização dos dados é feita em um ambiente virtual tridimensional, no qual o usuário pode interagir com as representações por meio de zoom, rotação, translação, etc. InfoVis (Information Visualizer) [7]: é uma ferramenta construída para visualizar informações, em um ambiente virtual, do Museu de Cerqueira César situado na cidade de São Carlos, Brasil. 3D Active Char [8]: desenvolvido pela First Information Systems, é um visualizador tridimensional de informações, no qual os dados são obtidos por meio de tabelas exportadas de um banco de dados. Visualização de dados multidimensionais usando Realidade Aumentada [9]: o sistema foi construído utilizando a biblioteca ARToolKit [10] como suporte, nesta aplicação o usuário pode interagir de forma natural e direta com a representação, manipulando filtros e objetos tridimensionais. Cada objeto visualizado possui características específicas de cor, forma e tamanho, que representam diretamente valores dos atributos da base. DataVis-AR (Data Visualization Virtual Environment Using Augmented Reality) [11]: é um sistema interativo de visualização de dados com Realidade Aumentada, que utiliza como ferramenta de apoio o software ARToolKit. O DataVis-AR permite a análise de diferentes tipos de dados por meio de representações gráficas. Meta3D++ [12]: é uma ferramenta de visualização de dados multidimensionais em ambiente de Realidade Aumentada. A ferramenta foi idealizada para que o usuário utilize em conjunto técnicas estatísticas e de Visualização de Informação, de uma forma integrada, agilizando o processo de criação de uma visualização mais efetiva. 3. INFOVIS-VAR O InfoVis-VAR (Information Visualization with Virtual and Augmented Reality) é um sistema desenvolvido para visualização de informações em ambientes de Realidade Virtual e Aumentada. Ele oferece suporte a diferentes tipos de dados e/ou informações e possibilita de forma flexível, a partir de diferentes maneiras de tratar o mesmo dado, gerando diferentes informações, a personalização do seu modo de representação. No protótipo construído foi restringida apenas a maneira com que as informações, a serem visualizadas, são organizadas no sistema. Para a elaboração do módulo de recuperação da metainformação foi preciso desenvolver um modelo relacional que reflita a hierarquia da informação a ser armazenada. Para isso, foi desenvolvido um modelo de entrada de dados no sistema com estrutura tabular, de forma que os dados possam ser recuperados pelo software e facilitar o tratamento do mesmo. No entanto, não é apresentada nenhuma restrição quanto à natureza destes dados. Por ser abrangente, o sistema garante a independência em relação aos dados a serem visualizados, isto é, o sistema permite a importação de dados com diferentes proveniências, desde que seja mantido o modelo padrão da entrada de dados do software. Deste modo, a interface se adapta dinamicamente de acordo com a metainformação incluída. Com relação à interação do sistema, é possível controlar o volume de informações a serem representadas, configurar o mapeamento das informações e definir a ordem de representações a serem visualizadas no ambiente misturado e virtual. O modelo engloba ainda mecanismos de filtragem e aborda múltiplas representações. A arquitetura desenvolvida para o sistema InforVis-VAR é apresentada na Fig. 1. 4. ESTUDO DE CASO - REPRESENTAÇÃO DE ANÁLISE DE SOLOS Fig. 1. Arquitetura do Sistema InfoVis-VAR Os módulos desenvolvidos são apresentados a seguir: 1. GUI: Este módulo permite ao usuário visualizar graficamente e de modo interativo o resultado de suas ações no sistema. O usuário, ao realizar uma ação, entrada de dados, por exemplo, recebe da GUI a saída de informações, através de atualizações, proporcionando uma maior sensação de interação com o sistema. A GUI permite ainda, o acesso à inserção dos dados, a configuração do sistema e a interação com o Ambiente Virtual. 2. Inserção de Dados: Após inserir os dados abstratos em estrutura tabular ao software, este módulo fica responsável por tratar os mesmos, armazená-los a uma base de dados e disponibilizar a metainformação para o sistema. 3. Configurador: Este módulo permite a configuração do sistema, de modo a tornar o sistema mais flexível. Ele se subdivide em 3 partes: a. Gerenciamento de Funções: permite o cadastro de funções matemáticas. Estas funções têm como objetivo calcular novos valores específicos com base nos dados précadastrados. b. Catalogador de Objetos Virtuais: permite o cadastro de objetos virtuais que servem como complemento e personalização das visualizações. c. Associador de componentes com dados (Mapeamento): Possibilita o relacionamento dos dados com as representações visuais cadastradas no sistema. Este módulo também oferece a possibilidade de escolha das técnicas a serem utilizadas nas representações. 4. Modelos Virtuais Representativos: Este módulo contém o conjunto de objetos virtuais que representam os dados processados, de acordo com a escolha do usuário. 5. Misturador: Neste módulo o sistema utiliza o software ARToolKit para fazer a mistura dos ambientes. O sistema configura o ARToolKit de forma que as representações virtuais sejam visualizadas no ambiente de Realidade Aumentada. 6. Ambiente Virtual: Este módulo apresenta os objetos virtuais em um ambiente de Realidade Virtual. Neste ambiente o usuário pode interagir com os dados por meio de dispositivos convencionais, tais como: mouse e teclado. 7. Ambiente Misturado: Este módulo apresenta os objetos virtuais em um ambiente de Realidade Aumentada. Neste ambiente o usuário interage com os dados por meio de placas com marcas fiduciais. Com intuito de apresentar o modelo implementado, desenvolveu-se um estudo de caso relativo a visualizações de dados de solos (Ciências Agrárias), com base nos resultados dos laudos oferecidos pelo Laboratório de Análises de Solos da Universidade Federal de Uberlândia. Foram adquiridos dez laudos com os respectivos resultados das análises de solos. Em todos os laudos estão contidos os resultados da análise química e de textura do solo, e os resultados das relações entre bases, conforme apresentado no exemplo TABELA I. TABELA I Resultado de uma análise do solo Resultados da Análises Química: pH Água P meh-l P rem. 6.0 0.2 ns Ca2+ Mg2+ Al3+ 1.2 0.5 0.0 P resina ns H+Al 2.5 Relação entre bases: Ca/Mg Ca/K 2.4 10 Ca+Mg/K 14 Mg/K 4.2 Relação entre bases e T (%): Ca/T Mg/T K/T 28 12 3 B 0.13 Cu 1.3 Fé 21 H+Al/T 58 Mn 5.3 K+ 45.0 SB 1.8 S-So-4 1 t 1.8 Ca+Mg/T 39 T 4.3 V 42 m 0 M.O. 2.0 Ca+Mg+K/T 42 Zn 0.3 Após os dados serem inseridos no sistema, foi preciso realizar as configurações necessárias para representar as visualizações. Estas configurações foram feitas de acordo com os padrões de recomendações para o uso de corretivos e fertilizantes no estado de Minas Gerais [13], aplicados à cultura do feijão. A primeira configuração realizada foi efetuar o cadastro de expressões matemáticas, que têm como objetivo calcular novos valores específicos com base nos dados pré-inseridos. A Fig. 2 apresenta a interface do sistema, referente à tela de cadastros de expressões. Fig. 2. Tela para cadastro de expressões Após a inserção das expressões, suas variáveis deverão relacionar-se com os valores determinados pelos dados contidos no sistema. Ou seja, para cada variável presente na função cadastrada, deverá existir um dado correspondente. Em seguida, deve-se informar a técnica utilizada para a representação das informações e mapear os dados requeridos com os objetos virtuais que serão utilizados para representar a visualização. O sistema, inicialmente, já possui uma biblioteca de objetos virtuais interna, no entanto é possível adicionar novos objetos com a extensão .wrl ao procedimento de mapeamento. A Fig. 3 apresenta a tela para mapeamento das informações. usuário poderia passear pelo campo e visualizar os modelos representativos no ambiente real que originou estes dados, ou até mesmo no laboratório, ao focalizar uma determinada amostra, o usuário poderia visualizar, sobreposto a ela, os nutrientes que as compõe. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 3. Tela para o mapeamento das informações. Ao término das configurações, o sistema apresenta os modelos virtuais representativos em um ambiente de Realidade Virtual ou Aumentada. A Fig. 4 apresenta alguns dos possíveis modelos virtuais que podem ser utilizados para representar o gráfico do fertigrama do solo, por exemplo. Fig. 4. Modelos virtuais representativos do fertigrama do solo. É possível, também, realizar configurações nas representações virtuais a fim de aumentar a capacidade de interpretação do usuário. As representações das amostras de solo, por exemplo, podem ser configuradas sobre um modelo virtual do terreno em que foram retiradas, de maneira que os nutrientes a serem representados no solo ficam dispostos sobre o mesmo. 5. CONCLUSÕES Este artigo apresentou uma ferramenta de apoio para visualização de informações em ambiente virtual e misturado. A Realidade Virtual mostrou-se como uma ferramenta de grande potencial, particularmente, para visualizações que apresentam um grande volume de dados, pois, ela não impõe limites de espaço para a representação dos mesmos. Esta tecnologia permite a fácil visualização e manipulação do objeto de estudos, reproduzindo os dados complexos sob a forma de objetos e textos tridimensionais, aumentando a capacidade de percepção do usuário. A Realidade Aumentada contribui significativamente para uma interação fácil e natural com o ambiente visualizado. Esta tecnologia permite a sobreposição de imagens capturadas por câmeras de vídeos com imagens geradas por computadores, facilitando a analise e interação com os gráficos. No estudo de caso aplicado, utilizando um capacete, por exemplo, o [1] Do Nascimento, H. A. D. Visualização de Informações Uma Abordagem Prática. XXV Congresso da Sociedade Brasileira de Computação - XXIV JAI. UNISINOS - São Leopoldo - RS 2005. [2] Freitas, C. M. D. S., et al. (2001) Introdução à Visualização de Informações. Revista de Informática Teórica e Aplicada, v.2, p.143-158. [3] Carmo, M. B. D. P. D. e J. M. G. D. Cunha. Visualização de Informação Modelo Integrado para o Tratamento de Filtragem e Múltiplas Representações. Departamento de Informática, Faculdade de Ciências da Universidade de Lisboa, Lisboa, Portugal, 2002. [4] Guimarães, M. P.; (2004) Um ambiente para o desenvolvimento de aplicações de realidade virtual baseadas em aglomerados gráficos. Tese de Doutorado, Escola Politécnica da Universidade de São Paulo, São Paulo, SP, 2004. [5] Vicentini, W. B., et al. (2006) REALIDADE AUMENTADA: interface computacional de geração de ambientes virtuais de aprendizagem para portadores de necessidades especiais (surdos e mudos). XIV SNBU Seminário Nacional de Bibliotecas Universitárias. Salvador - BA. [6] Sousa Junior, R. D., Meiguins B. S. e Ribeiro Filho M. (2006) Ferramenta Colaborativa para Visualização Tridimensional de Dados. VIII Symposium on Virtual Reality. Belém - PA. [7] Kirner T. G., Martins V. F. (2000) Development of an information visualization tool using virtual reality. Symposium on Applied Computing. Proceedings of the 2000 ACM symposium on Applied computing. V2, 604606p, Italy. [8] Systems, F. I. 3D ACTIVE CHART. Disponível em: http://www.rinvoice.com/activechart.htm. Acesso em 28/02/2004. [9] Meiguins, B. S., et al. (2006) Multidimensional Information Visualization Using Augmented Reality. VIII Symposium on Virtual Reality. Belém - PA. [10] Kato, H.; Billinghurst. M.; Poupyrev, I. (2000) ARToolKit version 2.33 Manual, Novembro. [11] Kirner, C. e T. G. Kirner. A Data Visualization Virtual Environment Supported by Augmented Reality. 2006 IEEE International Conference on Systems, Man, and Cybernetics. Taipei: Proceedings of 2006 IEEE International Conference on Systems, Man, and Cybernetics, 2006. 1-6 p. [12] Bueno, M. A. S., et al. Meta 3D++-Visualização de Informações em Realidade Aumentada. II Workshop sobre Realidade Aumentada. Unimep, Piracicaba, SP 2005. [13] CFSEMG. Recomendações para o uso de corretivos e fertilizantes em Minas Gerais - 5ª Aproximação. Viçosa, 1999. VISUALIZAÇÃO DE METADADOS DE SENSORES UTILIZANDO REALIDADE AUMENTADA EM TELEFONES CELULARES Juan Carlos Zuñiga, Sergio Takeo Kofuji Programa de Pós-Graduação em Engenharia Elétrica - Escola Politécnica da USP Av. Prof. Luciano Gualberto 158, CEP 05508-900, São Paulo, SP, Brasil (jcz30, kofuji)@pad.lsi.usp.br Resumo - O objetivo deste trabalho é apresentar a visualização de metadados (dados relevantes para o usuário) obtidos de uma Rede de Sensores Sem Fio (RSSF) utilizando realidade aumentada em telefones celulares. Os metadados estão estruturados em um formato RDF (Resource Description Framework) para enriquecer as informações e dar suporte aos modelos semânticos de dados. Palavras-Chave – RDF, Realidade Aumentada, RSSF, Telefone Celular. Abstract – The objective of this work is show metadata (user's context data) using augmented reality techniques in mobile phones. The data is collected using Wireless Sensor Networks (WSN) and the metadata is structured in RDF (Resource Description Framework) format for richest the information and support semantic data models. 1 Keywords –Augmented Reality, Mobile Phones, RDF, WSN. 1. INTRODUÇÃO Nos últimos anos, os telefones celulares estão sendo desenvolvidos da mesma forma que os computadores pessoais portáteis, com câmeras integradas, processadores mais potentes, telas de cores sensíveis ao tato, com mecanismos para comunicação wireless (Bluetooth, ZigBee, Wi-Fi, etc.), localizador GPS, sensores integrados ( acelerômetros, magnetômetros, etc.), unidades de armazenagem de grande capacidade e removíveis (Memory Card) e mesmo com processadores gráficos 3D dedicados [1]. Além disso, a possibilidade de desenvolver aplicações em linguagens de programação como Java, C++ e Python, proporciona uma enorme aplicação prática. Assim, o telefone celular transforma-se numa nova e atraente plataforma para sistemas de Realidade Aumentada (RA) [2], por disponibilizar informações e principalmente por permitir o usuário obter conhecimento do ambiente em diversos momentos, obtendo informações que seus sentidos não percebem e apresentando estas informações em forma de RA. O uso de dispositivos do tipo handheld como o telefone celular, na implementação de um sistema de RA é denominado Handheld Augmented Reality ou simplesmente Handheld AR [3]. Aplicações baseadas em Handheld AR se desenvolveram e evoluíram nos últimos anos em muitas áreas de aplicação como: sistemas de informação [4], 1 Fenômenos: Fato, aspecto ou ocorrência de interesse científico passível de observação e suscetível de descrição, explicação e medição. navegação [5] e turismo [6]. Estas aplicações utilizam uma câmera integrada no dispositivo e marcadores inseridos no ambiente, como elementos na captura e ingresso de dados para o sistema de RA, respectivamente. Outros tipos de aplicações mais recentes utilizam sensores como RFID tags [7], Rede de Sensores Sem Fio (RSSF) [8], entre outros tipos de sensores como fontes de entrada de dados junto ao uso da câmera e dos marcadores. Estes tipos de aplicações utilizam os telefones celulares como interfaces que permitem os usuários visualizarem informações que não lhes são perceptíveis, como dados de temperatura e umidade, entre outros. Portanto, aplicações que combinam técnicas de RA, dados obtidos por sensores e dispositivos handheld como os telefones celulares, apresentam características interessantes para áreas de aplicação como sensoriamento, monitoramento e interação em ambientes inteligentes e cientes ao contexto. Entretanto, alguns desafios aparecem ao se pensar em aplicações deste tipo: • Como adquirir e utilizar eficientemente as informações dos sensores, levando em consideração as capacidades de processamento e taxas de transmissão de dados? • Como armazenar e gerenciar as informações adquiridas dos sensores contornando a limitação de memória dos dispositivos móveis? O uso de técnicas da web semântica em RSSF é apresentado em [9] e [10]. Nestes trabalhos apresentam-se aplicações que tratam o armazenamento e gerenciamento dos dados gerados pelas RSSF em cenários do mundo real, como no controle de tráfego e ambientes industriais. Em [11] é introduzido o conceito de sensor services, que são serviços de informação gerados pelos dados adquiridos na RSSF. Porém, todos estes trabalhos não implementam o uso de dispositivos móveis nas suas arquiteturas. Além disso, em [8] apresenta-se o primeiro trabalho que mistura dados de RSSF e técnicas de RA para a visualização destes dados. Porém, os processos de aquisição de dados são primitivos, adquirindo apenas os valores crus (raw data) que os sensores abstraem dos fenômenos1 (por exemplo: temperatura, umidade, etc.) a serem avaliados [12]. Baseados nestas técnicas da web semântica para RSSF e aplicações do tipo Handheld AR, nós propomos um modelo preliminar para adquirir e modelar eficientemente os dados gerados pelos sensores como recursos em arquivos RDF (Resource Description Framework) [13] para enriquecer estas informações como metadados em função do contexto em que se desenvolvem as aplicações. O interesse em visualizar os dados obtidos pelos sensores e metadados com técnicas de RA justifica-se pelas potencialidades do sistema perceptual visual humano [8]. 2. MODELAGEM E AQUISIÇÃO DE DADOS 2.1. RDF (Resource Description Framework) Tecnicamente RDF não é uma linguagem, mas sim um framework que modela os dados como descrições de recursos com um grau semântico através da adoção de metadados [14]. RDF faz uso da linguagem de marcação XML (Extensible Markup Language) para expressar seu modelo de dados, permitindo a interoperabilidade das informações, sendo o RDF e XML complementares. O modelo de dados RDF também oferece mecanismos que possibilitam a criação de coleções de recursos ou valores, dando suporte para situações onde o valor de uma propriedade é um conjunto de valores ou de recursos. Mesmo que as propriedades do RDF podem representar relações entre recursos, ainda assim, RDF não fornece nenhum mecanismo para descrever estas propriedades, nem provê qualquer mecanismo para descrever as relações entre estas propriedades e outros recursos. Isso é o papel do RDF Schema. RDF Schema é uma linguagem de representação de conhecimento, provendo elementos básicos para a descrição de vocabulários RDF, o que permite definir a semântica de um domínio de aplicação específico. Isto é, um RDF Schema documenta vocabulários, definições e restrições para um conjunto de propriedades com a semântica correspondente para um recurso específico [15]. Os RDF Schemas são descritos por classes. Uma classe é algum recurso que tem uma propriedade rdf:type cujo valor é o recurso rdfs:Class. Os recursos que pertencem a uma mesma classe são chamados de suas instâncias. Então, toda classe é um recurso e está identificada através de um URI (Uniform Resource Identifier). As instâncias são indicadas através da propriedade rdf:type. [15]. Classes RDF podem ser usadas para representar quase todas as coisas, tais como páginas web, pessoas ou conceitos abstratos. Em nosso caso, representarão os sensores e os dados coletados. 2.2. Implementação da Modelagem O objetivo do modelo proposto é criar um mecanismo que permita descrever os sensores e os dados adquiridos pelos nós sensores como recursos em arquivos RDF de forma automática. Estes recursos são enriquecidos com informações (metadados) relevantes em função do contexto no qual se desenvolve a aplicação. A escolha de utilizar RDF e RDF Schemas em nosso modelo justifica-se pelo fato de que o RDF permite um entendimento semântico a nível de máquina (computador) [16] o que é compatível com aplicações baseadas em técnicas da web semântica. Outro fato é que o RDF permite descrever metadados dos recursos que estão sendo modelados [17]. Por exemplo: somente um dado sobre a temperatura atual do ambiente gera uma informação útil, mas se conhecemos a origem do dado, a relevância deste dado para o sistema e outras relações sobre este único dado. Então podemos enriquecer este dado, gerando novas informações muito mais úteis e relevantes. A estrutura dos RDF Schemas modela propriedades, relações e valores para os recursos a serem descritos (nós sensores, dados, etc.) o que permite implementar restrições evitando diversas interpretações de uma propriedade ou relação para distintos recursos, garantido uma única interpretação semântica [16] Portanto, em nosso modelo são projetados RDF Schemas ou vocabulários que descrevem e caracterizam os nós sensores da RSSF. Estes vocabulários são implementados como arquivos RDF, baseados numa estrutura de RDF Schema. Posteriormente, os vocabulários são armazenados na memória do telefone celular para serem manipulados pela aplicação do tipo Handheld AR, instalada no mesmo telefone celular e que nos permite decodificar e criar automaticamente os arquivos RDF referentes aos dados obtidos pelos nós sensores. Este processo é chamado de RDF Tagging Application. A modelagem dos dados adquiridos pelos nós sensores num formato RDF, garante sua interoperabilidade com outros sistemas como ontologias, serviços web semânticos, entre outras, por estar expressada em uma sintaxe XML. 2.3. Sensor Schema Para projetar nosso Sensor Schema, primeiro foi feito um estudo e análise do SensorML [18]. SensorML é um modelo padrão baseado na sintaxe XML que descreve sensores e qualquer processo de medições feito por estes sensores. Os processos descritos em SensorML definem suas variáveis de entrada, de saída, parâmetros, métodos e metadados relevantes. SensorML modela os sensores como processos que convertem fenômenos reais em dados. Porém, SensorML não provê modelagem para os dados obtidos pelos sensores, que é uma das principais contribuições do presente trabalho. Nosso Sensor Schema provê um modelo para descrever os sensores, gerando uma descrição das capacidades do nó sensor e está composto pelas classes: • HardwarePlatform: Caracteriza as capacidades de hardware do nó sensor, como por exemplo: memória, processador, etc. • SoftwarePlatform: Caracteriza as capacidades de software do nó sensor, como por exemplo: sistema operacional, aplicações instaladas, etc. • NetworkCharacteristics: Caracteriza as capacidades de comunicações do nó sensor, isto é, o sistema de radio, a antena, etc. A caracterização destas informações pode ser relevante para múltiplos casos, como por exemplo: processos de manutenção e reparação preventiva dos sensores ou dos elementos físicos e ambientes que os sensores monitoram. 2.4. Sensor Data Schema Para automatizar o processo de aquisição de dados, foi desenvolvido o Sensor Data Schema que na figura 1 é representado pelo RDF Tagging Application que utiliza os demais Schemas para formatar os dados crus que são recebidos dos nós sensores e criam arquivos RDF para estes dados. Para isto, os Schemas são modelados em classes Java utilizando uma ferramenta chamada Jena [19] que permite automatizar o processo de aquisição e modelagem dos dados em arquivos RDF. Esta modelagem faz-se em função de um algoritmo determinado que é chamado de Process Model. Fig. 1. Processo de aquisição e modelagem de dados em arquivos RDF. 2.5. Process Model Os algoritmos que modelam os dados em tempo real são chamados de Process Model. Um Process Model é uma estrutura lógica de programa que encapsula o tipo de aplicação instalada nos sensores e os tipos de dados que são obtidos. Por exemplo, se a aplicação instalada captura temperatura, o Sensor Schema informa o tipo de dados que são capturados e determina a forma que os dados serão formatados e estruturados no arquivo RDF, com essas informações o sistema utiliza um Process Model determinado para calcular os valores da temperatura em função de uma fórmula matemática que instrumenta o sensor de temperatura que está sendo utilizado. Por exemplo: o fenômeno da temperatura é representado por um valor hexadecimal (EF01), o qual é processado pelo Process Model utilizando uma fórmula matemática fornecida pelo fabricante do chip sensor, com o qual é calculado o valor da temperatura e posteriormente armazenada de forma estruturada em um arquivo RDF como é especificado pelo Sensor Schema. 3. HANDHELD AUGMENTED REALITY A Handheld Augmented Reality ou simplesmente Handheld AR é um subconjunto da RA móvel e está baseada no uso de dispositivos do tipo Handheld como: PDAs e telefones celulares [3] para implementar aplicações de RA. Mesmo os telefones celulares sendo extremamente portáteis e difundidos, a falta atual de poder de processamento, conexão de rede local (Intranet - LAN) e tolerância a falhas, fazem destes dispositivos uma plataforma inadequada para aplicações de RA de alto risco (Por exemplo: aplicações onde vidas humanas estejam em risco). Além disso, o tamanho de exibição pequeno e a limitada capacidade de introduzir dados fazem dos telefones celulares uma plataforma pouco ideal para interfaces de usuário 3D. Porém, os telefones celulares com interfaces wireless de curto alcance (Bluetooh, Zigbee) apresentam excelentes condições para o desenvolvimento de aplicações do tipo Handheld AR para a coleta e apresentação de dados obtidos de RSSF [8]. 3.1. A RSSF da Aplicação Handheld AR Uma rede de sensores é composta por unidades computacionais autônomas conhecidas como nós, que são pequenos dispositivos constituídos por: uma unidade de processamento, memórias estática e dinâmica, interfaces analógica e digital, bateria e um módulo de rádio. No presente trabalho utilizaremos a plataforma TmoteSky. O TmoteSky é uma plataforma de RSSF projetada com dois objetivos principais: alto grau de tolerância a falhas e fácil desenvolvimento. Utiliza um sistema de rádio conhecido como IEEE 802.15.4 ou ZigBee, que trabalha na faixa de freqüência de 2.4 GHz ISM e oferece taxas de transmissão na ordem de 250 Kbps, com um alcance rádio de 125 metros. Além disso, inclui: um ADC (Analog to Digital Converter) de 12 bits, um DAC (Digital to Analog Converter), timer, I2C, SPI, um protocolo UART (Universal asynchronous receiver/transmitter) e um controlador de DMA (Direct Memory Access). Cada nó sensor tem capacidade de 48 kB de memória Flash e 10 kB de memória RAM para instalação de aplicações. Por exemplo, para uma aplicação do tipo Handheld AR, alguns dos nós poderiam transmitir dados de umidade, outros de temperatura ou ambos. A aplicação que é instalada em cada nó sensor depende dos requerimentos do sistema e dos dados que desejam ser coletados. O desenvolvimento destas aplicações é programado em NesC, otimizando o uso da memória e das capacidades de processamento da plataforma TmoteSky. Outra consideração na escolha das aplicações a serem instaladas nos nós sensores é o consumo de energia requerido pela aplicação. O processo de desenvolvimento dos programas a serem instalados na RSSF e a especificação do seu funcionamento não é parte da presente pesquisa, limitando-nos apenas ao problema da aquisição dos dados gerados pela RSSF até a representação destes dados nos telefones celulares como imagens virtuais. 3.2. Arquitetura da Aplicação Handheld AR A arquitetura a implementar no presente trabalho está baseada na arquitetura proposta em [8] e representada pela figura 2. É utilizando um computador como uma ponte para receber os dados da RSSF (pelo fato de que a plataforma TmoteSky utiliza o protocolo ZigBee para a transmissão dos dados) e sem fazer nenhum tipo de processamento, transmitir estes mesmos dados através de uma interface Bluetooth para o telefone celular a utilizar. Fig. 2. Arquitetura da aplicação Handheld AR. (esta arquitetura foi proposta em [8]) A escolha do telefone celular a utilizar depende de seu sistema operacional, capacidades de processamento e resolução de gráficos. Além disso, o dispositivo deve ter uma interface Bluetooth para o ingresso dos dados. O telefone celular tem instalado na sua memória a Handheld AR Application, que inclui a RDF Tagging Application a qual recebe os dados do Process Model (ver figura 1) e estrutura os dados em um arquivo RDF. O arquivo RDF é modelado numa classe Java e permite a Handhel AR Application recuperar a informações relevantes (metadados) que são apresentadas ao usuário através de imagens virtuais sobrepostas as imagens do mundo real. Por exemplo: além dos dados de temperatura que podem estar sendo coletadas, informações referentes ao nó sensor, como estado da bateria ou localização do nó sensor também podem ser informadas ao usuário. 3.3. Projeto das Imagens Virtuais da Aplicação Handheld AR Na atualidade existem software de suporte para o projeto e implementação de imagens virtuais para as plataformas Windows CE e Symbiam OS, reduzindo o número e modelos de dispositivos habilitados para o desenvolvimento de aplicações do tipo Handheld AR. A API ARToolKit portada para Symbian OS é a plataforma escolhida para a renderização das imagens virtuais. O projeto das imagens virtuais associadas as informações coletadas da RSSF é feita em OpenGL ES. Nota-se que esta parte da presente pesquisa ainda se encontra em andamento, porém os resultados preliminares e aplicações protótipos desenvolvidos até este ponto apresentam claros indícios de bons resultados para o objetivo proposto. 4. CONCLUSÕES O uso da realidade aumentada em telefones celulares permite dar suporte a diversos tipos de usuários, incluindo usuários com necessidades especiais de acesso a informações relevantes dos ambientes que são monitorados pela RSSF, como por exemplo: engenheiros de manutenção. A modelagem de dados e metadados em RDF e RDF Schema permitem enriquecer o grau de informação apresentado ao usuário. O presente trabalho representa uma pesquisa preliminar sobre as tecnologias descritas, esperando-se aprofundar em conceitos de interação e personalização em futuros desenvolvimentos. REFERÊNCIAS BIBLIOGRÁFICAS [1] M. Andel, A. Petrovski, “Interactive Collaborative Augmented Reality Using a Distributed Scene Graph on Mobile Phones”. Dissertação (Mestrado) | Linkoping University, 2006. [2] M. Billinghurst, A. Henrysson, “Research directions in handheld ar”. The international Journal of Virtual Reality, 2006. [3] D. Wagner, D. Schmalstieg, “First steps towards handheld augmented reality”. ISWC'03: Proceedings of the 7th IEEE International Symposium on Wearable Computers, IEEE Computer Society, Washington, DC, USA, p. 127, 2003. [4] M. Assad, D. J. Carmichael, D. Cutting, A. Hudson, “Ar phone: Accessible augmented reality in the intelligent environment”. Australiasian Computer Human Interaction Conference, 2003. [5] A. Henrysson, M. Ollila, “Umar: Ubiquitous mobile augmented reality”. MUM'04: 3rd international conference on Mobile and ubiquitous multimedia, 2004. [6] E. Bruns, B. Brombach, T. Zeidler, O. Bimber, “Enabling mobile phones to support large-scale museum guidance”. IEEE MultiMedia, 2007. [7] G. Broll, S. Siorpaes, E. Rukzio, M. Paolucci, H. Hamard, M. Wagner, A. Schmidt, “Supporting service interaction in the real world”. PERMID'06: Pervasive Mobile Interaction Devices, 2006. [8] M. Rauhala, A. Gunnarsson, A. Henrysson, “A novel interface to sensor networks using handheld augmented reality”. MobileHCI'06, 2006. [9] R. Tolksdorf, L. J. B. Nixon, E. P. Bontas, D. M. Nguyen, F. Liebsch, F. “Enabling real world semantic web applications through a coordination middleware”. ESWC'05: 2nd European Semantic Web Conference, 2005. [10] M. Lewis, D. Cameron, S. Xie, B. Arpinar, “Es3n - a semantic approach to data management in sensor networks”. Semantic Sensor Networks Workshop of the 5th International Semantic Web Conference, 2006. [11] H. Noguchi, T. Mori, T. Sato, “Automatic generation and connection of program components based on RDF sensor description in network middleware”. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2006. [12] E. Peterson, “Diomedes: An integrated automotive diagnostics system that is customizable, low-cost, and non-intrusive built on a wireless sensor network”. Dissertação (Mestrado) | University Of California, Santa Barbara, 2007. [13] D. Beckett, B. Mcbride, “RDF/XML syntax specification”. http://www.w3.org/TR/rdf-syntax-Grammar/. [14] M. T. Marino, “Integração de Informações em Ambientes Científicos na Web: Uma Abordagem Baseada na Arquitetura RDF”. Dissertação (Mestrado) | Universidade Federal do Rio de Janeiro, 2001. [15] D. Brickley, R. Guha,B. Mcbride, “RDF vocabulary description language 1.0: Rdf schema w3c recommendation”. http://www.w3.org/TR/rdf-schema/. [16] A. Medina, J. A. Sanchez, and R. O. Chavez. “Rdf-based model for encoding document hierarchies”. In 17th international Conference on Electronics, Communications and Computers, 2007. [17] J. Forstadius, O. Lassila, and T. Seppanen. “RDF-based model for context-aware reasoning in rich service environment”. In PerCom 2005 Workshops, 2005. [18] M. Botts. “Sensor model language (sensorml): Xmlbased language for in-situ and remote sensors”. In NIST Workshop on Data Exchange Standards at the Jobsite, 2003. [19] Jena. A semantic web framework for java. http://jena.sourceforge.net/. Pôster SUMÁRIO - FORMATO PÔSTER ARINTERACTION 2.0 – INTERATIVIDADE EM AMBIENTES DE REALIDADE AUMENTADA Robson Augusto Siscoutto, Luciana Correia Lima de Faria Borges, Douglas Siqueira Leite, Adriano Crestani Campos, Eunice Pereira dos Santos Nunes e Patricia Cristiane de Sousa -138 DEVELOPING A MULTIPLAYER ONLINE LEARNING ENVIRONMENT TO WEB SUPPORT WITH AJAX3D Edgard Afonso Lamounier Júnior, Alexandre Cardoso, Luciano Ferreira Silva, Marlene Freitas e Everton Silva de Souza -142 INTEGRAÇÃO DA REALIDADE VIRTUAL COM A DISTRIBUIÇÃO SOQUETE Rafael Alexandre Guissonio, Marcos Wagner de Souza Ribeiro, Danylo Carlos de Melo, Wender Antônio da Silva, Edgard Afonso Lamounier Júnior e Alexandre Cardoso - 146 O USO DA REALIDADE VIRTUAL NA ELABORAÇÃO DE JOGOS EDUCACIONAIS NO ESTÍMULO DA LATERALIDADE E DOS SENTIDOS DA CRIANÇA Ana Emília Lelis da Silva, Wender Antônio da Silva, Marcos Wagner de Souza Ribeiro, Edgard Afonso Lamounier Júnior, Nadabe Cardoso de Oliveira A. Fortes e Luciano Vieira de Lima -150 PROPOSTA DE DESENVOLVIMENTO DE UM PROTÓTIPO DE JOGO 3D DE COMPUTADOR COM A BIBLIOTECA GLSCENE PARA PLATAFORMA LINUX Wandeir Tavares Ferreira Júnior, Alanderlon Barbosa de Oliveira, Eduardo Filgueiras Damasceno e José Barbosa Dias Júnior -154 REALIDADE AUMENTADA APLICADA À ARQUITETURA E URBANISMO Rodrigo Amim, Luiz Landau e Gerson Cunha - 158 REALIDADE VIRTUAL APLICADA À EDUCAÇÃO NO ENSINO DE GEOMETRIA ESPACIAL Murilo Borges de Oliveira, Edgard Afonso Lamounier Júnior, Marcos Wagner de Souza Ribeiro, Wender Antônio da Silva, Nadabe Cardoso Oliveira A. Fortes e Luciano Vieira de Lima - 162 ANÁLISE DE UM AMBIENTE VIRTUAL NÃO IMERSIVO PARA AUXÍLIO NO TRATAMENTO DA FOBIA DE FALAR EM PÚBLICO Orley Silva Soares e Roger Amandio Luz - 166 SISTEMA DE AMBIENTES VIRTUAIS PARA ESTUDO DE USINAS HIDRELÉTRICAS Afonso Bernardino de Almeida Junior, Edgard A. Lamounier Júnior e Alexandre Cardoso. -170 SISTEMA DE AUXILIO À MODELAGEM 3D USANDO VISÃO ESTÉREO Marcelo Archanjo José e Roseli de Deus Lopes -174 USO DA REALIDADE AUMENTADA COMO FERRAMENTA DE APOIO AO PROCESSO DE LEITURA DE PESSOAS COM DISLEXIA Roger Amandio Luz, Marcos Wagner de Souza Ribeiro, Alexandre Cardoso, Edgard Afonso Lamounier Júnior e Luciano Vieira de Lima - 178 VISUALIZAÇÃO TRIDIMENSIONAL DE BAIXO CUSTO PARA O DESENVOLVIMENTO DE APLICAÇÕES EM MEDICINA Alysson Diniz dos Santos e Liliane dos Santos Machado - 182 Developing a Multiplayer Online Learning Environment to Web Support with AJAX3D Everton Souza, Marlene Freitas, Luciano Ferreira, Alexandre Cardoso and Edgard Lamounier. Departamento de Engenharia Elétrica, Laboratório de Computação Gráfica – Universidade Federal de Uberlândia (UFU) Caixa Postal 38.400 – 34.3239-4148 – Uberlândia – MG – Brasil [email protected], {fsluciano,marlene_roque}@hotmail.com, {lamounier,alexandre}@ufu.br Abstract - This paper presents Ludos Top - an educational 3D game that use virtual reality techniques, which can support multi-student with a new design model of networking on the web. The project has actively involved end-users to focus on increase interactivity through the use of versatile system architecture. We present a quick prototyping of a multi-user virtual world through the employment of Ajax, X3D and Web Services provides an efficient, flexible and robust means for distributed application. Results show improved network capabilities, in terms of interactive, ease of use, enjoyability, playability and usability. Keywords: Ajax3D Distributed Virtual Worlds, Online Games, and Web Games. 1. INTRODUCTION The word games refer to activities of which nature or finality is recreative, diversion and entertainment. Theses activities exists officially since 776 B.C., and they began in Olympia, old Greece, with the Olympic Games. The games perpetuates till nowadays, nevertheless, the way which they are realized and its propose changed. Research work argues that computer games are an engaging medium for learning since they can stimulate cognitive processes as reading explicit and implicit information, deductive and inductive reasoning, problem solving, and making inferences from information displayed across a number of screens. According to constructivist approach [Von Glaserfeld, 1990], learning depends on the active engagement of the subject that learns and on his ability to construct knowledge and understanding on the basis of interaction with the environment. The Web environment has matured to support realtime delivery of web-based 3D content to increase interaction and integration with others systems. The Virtual Reality demonstrates the same evolution through of new standards like: X3D, the successor of VMRL standard for Web-based 3D graphics. The X3D is an open standard file format and API for representing and communicating with Scene Authoring Interface (SAI). A major goal of X3D is to support 3D web applications, in addition to 3D on networking with portability. This show news paradigms e.g. integration of X3D with Ajax3D programming model which is the W3C Document Object Model (DOM). The Ajax3D consists of a web-page embedded JavaScript program which allows an architecture asynchronously given flexibility for manipulation. Through Ajax3D and Web Services on architecture application-to-application communication via network or the web does solve many of the problems, it also creates many new problems. The focus is to support the movement towards an efficient environment that enables the development of multi-user applications, providing functionality with the highest level of compatibility. This work motivated the development a game with pedagogical objectives. It is called by Blaise Müller of Quatro and particularly useful to test observation and thought abilities. This paper presents works related. Section Three give a view about background. Section Four provides an overview of our proposed architecture. Section Five provides the case study Ludos Top. Section Six shows system implementation of this technology in a simulation. Section seven provides a conclusion. 2. RELATED WORKS The increasing number of broadband users, and demand for service quality and diversity, especially in the entertainment area, drive to development of the new games like: Strike Fighter - was developed by Larry Rosenthal of Cube Productions. It has been running a science fiction virtual world/online community called StarbaseC3 for nearly that long. In 2001 were developed the first version of a 3D web game called “Strikefighter,” in VRML programming. Last year Strkefighter was updated for X3D and showed new model based on architecture with Ajax3D, the game connected with web server (running PHP and MySQL) that implements a scoreboard. When the game is over, it checks the current score against a database of high scores residing on the server. Strikefighter is similar to the Flash-based mini-games that have proliferated on the web over the last several years. Figure 2: Snapshot from Strile Fighter game in Ajax3D. The Strike Fighter involved by: JavaScript, XMLHttpRequest, the DOM and SAI running in a web browser-independent fashion that will work with IE, Firefox and others browsers. Road Rider - is an interactive first person 3D game, where the player controls a virtual character whose task consists in reaching the site of a rock concert. During her/his trip, the user walks around a city (that is a 3D reconstruction of a portion of the Genoa city center - figure 3). The game plot consists of a number of “missions”. Missions involve finding a car, getting money to buy a ticket for the concert, driving the car to visit friends who live in different cities to another, and finally reaching the destination site. Every mission features an increasing level of difficulty. In order to enhance the player’s engagement, the game plot is dynamic. All the important game situations are tied to road safety (road-signs, vehicles, roads, cross-roads, pedestrians, etc.). And this is true also for the score rules. Score is a fundamental element of the game, since it provides the main motivation for a user to improve her/his performance. So, the criteria according to which points are assigned are very important because they define what layers’ operations, actions and behaviours are positive and what are not relevant or even negative. In Road Rider, the system penalizes hazardous behaviors and rewards safe road-behaviors. Figure 3: Snapshot from Road Rider. The game provides a valid support to realize: • a realistic 3D visualization, which is quite complex to achieve in a networked environment; • an effective narrative, which is important in order to engage the user in interesting and compelling situations; • A realistic simulation, which is important to increase the likelihood that the user may transfer in the real-life techniques and skills learned through simulation. The NICE project - is an effort to build Narrativebased, Immersive, Constructionist/Collaborative Environments for children. Developed at the Interactive Computing Environments Laboratory (ICE) and the Electronic Visualization Laboratory (EVL) of the University of Illinois at Chicago, NICE aims to create a virtual learning environment that is based on current educational theories of constructionism, narrative, and collaboration, while fostering creativity within a motivating and engaging context. NICE is an outgrowth of two previously designed systems, CALVIN and the Graphical Storywriter. Figure 4: Snapshot from Narrative, Immersive, Constructionist/Collaborative Environments. Equally important to the construction of one' s knowledge is the experience gained by participation in group activity. Collaboration is emphasized in our framework through the combination of collaborative learning across both virtual, as well as physical communities. Collaboration of virtual communities refers to communication and shared experience between children who are geographically separated. The network component of NICE allows multiple networked participants at different locations to interact with each other and share the same virtual space. The number of participants is limited only by bandwidth and latency of the network. Multiple distributed NICE applications running on separate VR systems are connected via the central LIFE server across all the separate environments. The communications library uses multicasting to broadcast positional and orientation information about each child' s avatar, and uses TCP/IP to broadcast state information between the participants and the behavior system [M. Roussos, A. E. Johnson, J. Leigh, C. R. Barnes, C. A. Vasilakis, and T. G. Moher, 1997]. I. 3. BACKGROUND The 3D web environment have begun to demonstrate increased utility which include higher use of participation, scalability and compatibility. 3.1 Ajax3D The technology Ajax has architecture neutral approach due new standard of web-based development. One of the most popular trends in web applications is enriching client functionality through the means of Asynchronous Javascript and XML (Ajax) [Crane, David, Pascaraello, Eric, 2005]. AJAX is a combination of existing technologies rather than a completely new innovation. The primary component is the XMLHTTPRequest (XHR) object that provides for the ability to perform asynchronous communication with a server via Hypertext Transfer Protocol (HTTP). Used in coordination with either Dynamic Hypertext Markup Language (DHTML) or use of HTML FRAMES, the XHR request object allows a high level of performance thus avoiding the call-and response mechanism of earlier web applications. Replacing the integration of DHTML functionality with the X3D event model, applications have applied the use of X3D markup technologies in the context of an AJAX-based application[Parisi, Tony, 2006]. This approach has identified a trend of scripting the 3D scene hierarchy in the same fashion as the Document Object Model (DOM) and handling the events through Javascript. By relying on AJAX-based network calls, a user interacts with backend tiers via a 3D scene in asynchronous fashion previously provided by employment of HTML ' DIV'tags. This technique has supported a much higher level of interactivity and efficiency in web-based 3D [A. Ostrowski, David, 2007]. II. 4. OVERVIEW OF ARCHITECTURE The architecture shows the integration between Ajax, X3D and Web Services that introduces a new solution for multi-user gaming system. This solution provides some advantages like: scalability, security and interactive responsiveness. 3.2 Multiplayer Worlds Recently, the term Post-Nintendo kids have been coined, referring to the fact that today most children have been exposed to 3D computer games. With ease they navigate through virtual environments interpreting audio-visual hints as they go. Just, as WIMP (windows, menus, pull-downs) metaphor rules the design of graphical user interface (GUI) of today’s software and replaced the command line control, 3D environment and 3D navigation with new GUI metaphors for operation systems and desktop applications. Multiplayer worlds are a new way for people to collaborate. Clarker-Willson (S. Clarker-Willson., 1998.) suggest that virtual environment designers should apply principles that made even early games so appealing: third person view, discovery and exploration, player control, maps, landmarks, closed environments (limited space), complexity management (reduced number of active objects) and constant positive feedback. Platforms of increasing importance for multiplayer worlds are game console. 3.3 Trends in Multi-user and Gaming Applications The multiplayer games are notoriously difficult to implement correctly of effectively because they are multiple traditional types of software rolled into a single application, like: Graphical applications, Distributed Systems and Interactive applications. The multiplayer game industry has influenced applications including simulation, education and training [Jain, Sanjay, McLean, Charles R., 2005]. In principle, developers have relied on C and C++ exclusively for gaming development [Davison, Andrew, 2005]. While providing a tight coupling with operating systems, this approach is slowly changing towards development in languages that are more portable and provide for faster development cycles. Nowadays, already exist game’s architecture implemented for compatibility and ease of development, for WWW through of new technologies shows next-generation gaming architecture with rapid development. Figure 4: Architecture based X3D and Ajax AJAX have found acceptance across a number of web based games starting from board based games such as WEBGOGGLE and working towards 3D interactive games including Strike Fighter. While some of the architectures surveyed at this writing maintain similar qualities to our application, direct comparisons are difficult to perform. Advantages of our approach include support of web services, a portable solution that could be implemented across a number of architectures. The architecture with Ajax communicating with a web server without refreshing the whole page. The main goal this project is propose a open architecture distributed portable across platforms, providing support for communication to non X3D applications, allows the routing of events over a network using the same routing, high efficiency transfer of data or node, secure communication and support the main Web/internet standards. 4.1 Communication Architecture The primary advantages of using a distributed communication are scalability, responsiveness and resiliency. Distributed communication allows players to send messages directly to each other, creating a more responsive game. The key challenges in developing communications components for a distributed architecture are a consistency, event ordering, interactive responsiveness, security and scalability. Figure 6: Multi-User client/server (logical architecture) 7. CONCLUSION 5. LUDOS TOP The system proposed based in game Quarto, created by Frenchman Blaise Müller in 1985. The sixteen game pieces show all combinations of size (short or tall), shade (light or dark), solidity (shell or filled), and shape (circle or square). Two players take turns placing pieces on a four by four board and the object is to get four in a line with the same characteristic - all short, for example. Only one piece can go in a cell and, once placed, the pieces stay put. Blaise Müller' s brilliant twist is that you choose the piece that your opponent must place and they return the favor after placing it. 5.1 Functioning of the game As the objective of the game is establish a line of four pieces, with at least one common characteristic on the board. The line of pieces may be across the board, up and down, or along a diagonal. Game sequence when the first player selects one of the 16 pieces and gives it to his opponent. That player places the piece on any square on the board and chooses one of the 15 pieces remaining and gives it to his one. The game is won by the first player to call “QUARTO!” 5.1 Aspect Pedagogical Nowadays, an increasing demand for greater interactivity to be built into learning materials. There is a clear need to offer a variety of different knowledge presentations and to create opportunities to apply the knowledge within the virtual world, thus supporting and facilitating the learning process. To achieve that, it is necessary to provide a complex level of interactivity that stimulates users’ engagement, apply different interactivity concepts as object, linear, construct or hyperlinked interactivity, and non-immersive contextual interactivity as well as immersive virtual interactivity. The technical advantages are employing interactive through of Ajaxian techniques that provides better enjoyability, playability and usability 6. SYSTEM IMPLEMENTATION The implementation of the system denominates Ludos Top which introduces the game Quatro and some systems like: Ajax Techniques, Flex Flux plug-in 3D, Internet Explorer browser and Tomcat. 6.1 Ludos Top Web User Interface The Ludos Top interface is a HTML programmed using JavaScript, Ajax and X3D. The communication between X3D and HTML page is through the X3D Script SAI, after this, the parameters are forwarded outside world for Web Services using Ajax request with XMLHttpRequest. In this paper presents the possibilities of fully distributing multi-user games online through of standards such as X3D have made it possible deploy rich 3D content in real time over the Internet. At the same time, Ajax has emerged as a worldwide phenomenon and an interest of new application development. By bringing these two technologies together, Ajax3D promises to be good open platform for creating a next-generation 3D web experience. With Ajax3D, immersive virtual worlds can be deployed within a web browser, integrated with pages with more interaction, compatibility and can communicate with standard web servers using XML and Ajax technologies, enabling networking on web. The Ludos Top is in its infancy. It will need to be actively developed. Ludos Top can become an example of Educational Virtual World on World Wide Web for help research and development personal. 8. ACKNOWLEDGEMENTS The authors would like to thanks the Luciano and Marlene Roque at the University Federal of Uberlândia for supporting the establishment of the Computer Graphics lab. 9. REFERENCES A. OSTROWSKI, DAVID, 2007. A Web-Based 3D Gaming Style Multi-User Simulation Architecture. Ford Research and Advance Engineering. LEIGH, J. AND JOHNSON, A. E.1996a. Supporting Transcontinental Collaborative Work in Persistent Virtual Environments. In IEEE Computer Graphics and Applications. July 1996, pp. 47-51. M. ROUSSOS, A. E. JOHNSON, J. LEIGH, C. R. BARNES, C. A. VASILAKIS, AND T. G. MOHER, 1997. The NICE project: Narrative, Immersive, Constructionist/Collaborative Environments for Learning in Virtual Reality. In IEEE Computer Graphics and Applications. STEINER, K. E. AND MOHER, T. G. 1994. Scaffolding Story Construction with Interactive Multimedia. In The Journal of Educational Multimedia and Hypermedia, pp.173-196. S. CLARKER-WILLSON., 1998. Applying Game Design to Virtual Environments. In C. Dodsworth (editor), Digital Illusion: Entertaining the Future with High Technology. ACM Press. JAIN, SANJAY, MCLEAN, CHARLES R., 2005. Integrated Simulation and Gaming Architecture for Incident Management Training. PROCEEDINGS OF THE 2005 WINTER SIMULATION CONFERENCE. E. GLASERSFELD, 1990. “Constructivist Views on the Teaching and Learning of Mathematics”. Journal for Research in Mathematics Education. Monograph, Vol. 4, pp. 19-29+195-210. VON PARISI, TONY, 2006. http://www.ajax3d.org/ whitepaper. INTEGRAÇÃO DA REALIDADE VIRTUAL COM A DISTRIBUIÇÃO SOQUETE Rafael Alexandre Guissonio1, Danylo Carlos de Melo1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior2, Alexandre Cardoso2, e Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo – Este artigo apresenta a integração da Computação Distribuída e da Realidade Virtual no Ensino, tendo como estudo de caso a utilização de um sistema Cliente/Servidor (MSN), onde todos se interagem ao mesmo tempo das informações, podendo enviar e receber a quaisquer instantes objetos em 3D baseados em ambientes educacionais. A distribuição se dá por meio da programação com Soquete. Palavras-Chave – Computação Servidor, Realidade Virtual Distribuída, Cliente/ a forma criativa e produtiva do usuário - a realidade precisa reagir de forma coerente aos movimentos do participante, tornando a experiência consistente. O objetivo da Realidade Virtual é fazer o usuário se sentir dentro do ambiente virtual (imersão, envolvimento e interação). Além disso, Pinho [4] diz que RV permite aprender visitando lugares onde jamais estaremos na vida real, talvez porque o lugar seja muito pequeno para ser visto ou muito grande para ser examinado como um todo, ou muito caro ou muito distante. 1.2. Soquete Abstract – This article presents the integration of Distributed Computation and Virtual Reality for educational applications, having as a case study the use of a system Client/Server (MSN), where all users share the information at the same time, sending and receiving 3D objects based on educational environments. The distribution is achieved by means of the programming with Sockets. Keywords - Distributed computation, Client/Server, Virtual Reality 1. INTRODUÇÃO. Este artigo apresenta o uso da Computação Distribuída na construção de uma aplicação mensageira, trabalhando junto com a Realidade Virtual, tendo como estudo de caso a criação de um sistema Cliente/Servidor (MSN), onde várias pessoas de qualquer lugar poderão se conectar e interagir, dividindo ao mesmo tempo as informações nele transmitidas. Este sistema será utilizado com o intuito de proporcionar uma comunicação com eficiência, proporcionada pelos soquetes. Este trabalho poderá ser utilizado em instituições de ensino fundamental e médio, tornando-se assim, um facilitador para o professor, pois terá um canal direto para seus alunos e principalmente para as orientações à distância. 1.1.Realidade Virtual. Segundo Kirner [2], Realidade Virtual pode ser considerada como uma ferramenta para visualizar, manipular, explorar, interagir e modificar, por meio do computador, dados complexos de uma forma natural, muito semelhante ao que se faria no caso da ação sobre o dado real. O termo Realidade Virtual refere-se a uma experiência interativa baseada em imagens gráficas 3D geradas em tempo-real por computador. Cardoso e Lamounier [3] afirmam que a qualidade dessa experiência em RV (Realidade Virtual) é crucial, pois deve estimular ao máximo Segundo Cantú [5] um soquete (do inglês socket) é, generalizado, uma tomada. Designa uma cavidade ou região usada para ligar algum artifício específico. Pode ser usado em ligações de redes de computadores para um fim de um elo bidirecional de comunicação entre dois programas. A interface padronizada de soquetes surgiu originalmente no sistema operacional Unix BSD (Berkeley Software Distribution); portanto, eles são muitas vezes chamados de Berkeley Sockets. É também uma abstração computacional que mapeia diretamente uma porta de transporte (TCP ou UDP) e mais um endereço de rede. Com esse conceito é possível identificar unicamente um aplicativo ou servidor na rede de comunicação IP. 2. TRABALHOS RELACIONADOS. Nos diversos ramos da pesquisa, já existem trabalhos que tratam da Computação Distribuida e Realidade Virtual juntamente com outras áreas do conhecimento, propiciando relevância social e científica. Em [6] é apresentado um trabalho no qual descreve o desenvolvimento de uma aplicação cliente-servidor para a disseminação de dados geográficos na Internet. O ADMnet [7] permite que responsáveis e administradores de estações de trabalho disponham de dados atualizados, sem que se vejam obrigados a realizar inventários manuais exaustivos, caros e obsoletos. Há também trabalhos voltados para a área da educação, tais como em [8], onde se reproduz o funcionamento de um ambiente virtual distribuído, por meio da Realidade Aumentada, conforme representado na Fgura 1. Em [9] é apresentado um protótipo para auxiliar a aprendizagem da disciplina de redes de computadores, mais especificamente na concepção e entendimento dos conceitos de um projeto de redes de computadores locais, conforme representado na Figura 2. Em uma arquitetura de rede, onde existem dois módulos básicos na rede: o Servidor e os Clientes. O Servidor é alguma máquina da rede, responsável por fazer a comunicação do cliente conectado. Clientes são as máquinas que solicitaram informações que estarão contidas no Servidor. O importante em uma máquina com arquitetura Cliente/Servidor não é que todas as máquinas sejam do mesmo fabricante ou do mesmo tipo. O que realmente é importante é o fato de todas as máquinas poderem ser interligar pela rede. Fig. 1. Membrana no processo de fotossíntese [8]. 3.1. Algoritmo de Distribuição Essa seção apresenta a arquitetura de distribuição do sistema em si. Algumas considerações devem ser vista como a comunicação da rede, visão do ambiente descrito, gerenciamento da computação, comportamento dos objetos e modelo de dados. Sua aplicação será sempre a servidor/cliente. Toda aplicação na rede terá inicio com a procura de um servidor, desta forma, haverá sempre, apenas uma aplicação servidora, ou administrador. Todos os outros ambientes se conectarão ao servidor como cliente. Fig. 2. Ambiente de aprendizado de redes de computadores [9]. 3. MÉTODOS APLICADOS 3.1 Estudo de Caso (Cliente/Servidor) O estudo de caso apresentado, mostrou como foi implementado uma solução simples sobre um problema do dia a dia. Observamos com o estudo que os componentes de Soquete do Delphi fornecem uma boa interface para um uso direto da API (Application Programming Interface) ou Interface de Programação de Aplicativos de soquetes do Windows e também que, usando componentes de Soquete de nível mais alto geralmente é mais fácil do que usar a API de baixo nível. Na verdade os serviços de conexões são oferecidos por classes que englobam o tratamento da conexão, e são usadas pelos componentes de soquete, para gerenciar as chamadas de API de soquete do Windows e para armazenar informações sobre um vínculo de comunicação de soquete. Cliente/Servidor é usado praticamente em todos os processos distribuídos em que a aplicação servidora aguarda conexões, executa serviços e retorna resultados. Já a aplicação cliente é quem estabelece a conexão com o servidor, envia mensagens para o mesmo e aguarda pelas mensagens de resposta. Fig. 3. Arquitetura proposta para o sistema. 4. IMPLEMENTAÇÃO DO SISTEMA O Sistema é constituído por uma aplicação básica, sendo um Cliente/Servidor. Para o funcionamento do sistema, é necessário que seja ativado em uma máquina qualquer que suporte o trabalho distribuído, para que todas as estações possam se comunicar em uma LAN (rede local), sem necessidade de um Servidor independente, ou seja, apenas um Servidor será preciso ser iniciado para que a comunicação entre as máquinas sejam possíveis, pois o sistema em si trabalha como Cliente/Servidor, evitando vários problemas com conexões dependentes de servidores. O sistema foi implementado, em Delphi, utilizando o Clientsocket e Serversocket, [10] que são componentes da plataforma de desenvolvimento, permitindo o desenvolvimento desse aplicativo voltado para internet. Fig. 7. Conteúdo de Geografia. Fig. 4. MSN Cliente. O Sistema disponibiliza funções de transferência de arquivos entre as estações na rede, função no qual possibilita o compartilhamento de arquivos, facilitando e agilizando o processo do conteúdo ministrado. Outra função, e fazer com que arquivos sejam iniciados em outras máquinas com a finalidade de facilitar para o administrador (professor) ministrar as aulas com mais eficiências e eficácia, assim, determinados conteúdos que seriam complicados, podem ser ministrados em forma de exemplos. Fig. 8. Conteúdo de Eletromagnetismo. 5. CONCLUSÕES E TRABALHOS FUTUROS 5.1. Conclusões Fig. 6. Opção de transferência de arquivo. Sendo o principal objetivo do Sistema trabalhar e interagir com a Realidade Virtual utilizando a computação distribuída, o sistema traz em si uma opção, onde se pode realizar manipulação de objetos modelados pela linguagem VRML (Virtual Reality Modelating Language), ou seja, possibilitando abrir na rede de simples objetos a grandes ambientes, isso só é possível, porque o Sistema tem uma interface que interage com o Browser navegador de Internet e com o Cortona, fazendo com que interprete códigos VRML, e gerando os Objetos Gráficos modelados. Abaixo estão alguns exemplos de como funciona a visualização dos ambientes virtuais que são estartados pela administrador ou pessoa que esta ministrando a aula. Foi constatado que existem diversos sistemas que utilizam ambientes virtuais voltados para a educação, cada um deles possui uma especificidade, direcionado a resolução de problemas específicos, mas há poucos trabalhos relacionados, que utilizem a plataforma Cliente/Servidor, para tal interação. Este trabalho seguindo essa tendência apresenta uma aplicação que se utiliza das técnicas de Computação Distribuída com Realidade Virtual. A pesquisa foi apresentada a uma escola particular da cidade de Itumbiara, no estado de Goiás, onde foi aplicado nas aulas de informática. Assim utilizou-se MSN para os alunos se comunicarem, sendo o professor o intermediador das aulas. Assim, o professor discutia alguns conteúdos e logo após lançava os conteúdos utilizando o software e os alunos trabalhavam com os mesmos. Desta forma, constatouse que a utilização da Realidade Virtual propiciou uma maior facilidade de entendimento do conteúdo. Segundo os professores responsáveis, o MSN facilitou em muito suas aulas, pois os alunos começaram a trocar idéias via teclado, assim a aula fluía sem conversas e sem tumulto. Além da troca de informações sobre o ambiente virtual ao qual estavam trabalhando e tentando entender seus conceitos. 5.2. Trabalhos Futuros Como continuação deste trabalho, considera-a necessidade de melhorar a parte gráfica apresentando um ambiente virtual mais adequado às disciplinas, facilitando o entendimento do exemplo e finalmente, utilizar a tecnologia de JavaRMI ou Corba para uma melhor interação com o usuário do sistema. REFERÊNCIAS BIBLIOGRÁFICAS [1] Pinheiro, C.D.B., Ribeiro Filho, M.. (2005) “LVRLaboratório Virtual de Redes- Protótipo para Auxilio ao Aprendizado em Disciplinas de Redes de Computadores”. Anais do XVI SBIE. [2] KIRNER, Cláudio. Sistemas de Realidade Virtual. Grupo de Pesquisa em Realidade Virtual, Departamento de Computação – UFSCar. 1997. [3] CARDOSO, Alexandre; LAMOUNIER JR, Edgard. Realidade Virtual – Uma Abordagem Prática. Minicursos – VII Sumposium on Virtual Reality – São Paulo, 2004. [4] PINHO, Márcio Serolli. Textos e artigos sobre RV Disponível: http://www.pgie.ufrgs.br/siterv/introducao.htm Acesso em: 29 junho 07. [5] CANTU, Marco. Dominando o Delphi 6, São Paulo: Makron, 2002 [6] OSSES, José Roberto. Arquiteturas Cliente-Servidor para Bibliotecas Geográficas Digitais. 2000. http://www.tecgraf.puc-rio.br/geoinfo2000/anais/024.pdf. Acesso em 18 agosto 2007. [7] OLIVEIRA, Cláudio Eduardo, HIRANO, Francisco W. M. P., HIRANO, Janine Harume P., SOUZA, Wender Macedo. 2003. ADMnet – Monitoramento de estações em uma LAN, baseado em Sistemas Distribuídos. Acesso em 21 agosto 2007. [8] RIBEIRO, Marcos Wagner; SILVA, Wender A.2006. Visualização de Ambientes Virtuais Distribuídos Multidisciplinares por meio da Realidade Aumentada. Acesso em 8 setembro 2007. [9] MEIGUINS, Bianchi Serique. 2006. Realidade Virtual aplicada ao Ensino e Aprendizado de Redes de Computadores. Acesso em 10 setembro 2007. [10] ACTIVEDELPHI, SOCKETS, Julho: 2005 http://www.activedelphi.com.br/modules.php?op=modload& name=News&file=article&sid=249&mode=thread&order=0 &thold=0. Acesso em 21 agosto 07. O USO DA REALIDADE VIRTUAL NA ELABORAÇÃO DE JOGOS EDUCACIONAIS NO ESTÍMULO DA LATERALIDADE E DOS SENTIDOS DA CRIANÇA. Ana Emília Lelis da Silva1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior2, Nadabe Cardoso de Oliveira Alves Fortes1, Luciano Vieira de Lima2, Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo – Este artigo apresenta uma aplicação feita em realidade virtual tendo como estudo de caso os métodos tradicionais de estímulo da lateralidade e dos sentidos. O software desenvolvido em VRML (Virtual Reality Modelating Language) foi proposto a professores de educação física que trabalham com tais estímulos, desta forma buscou-se proporcionar a interação, envolvimento e interesse da criança, onde se obteve um resultado positivo com relação ao software, atendendo as necessidades que foram propostas inicialmente. Palavras-Chave – Educação, Lateralidade, Realidade Virtual. Abstract – This article presents the application of virtual reality, using as a case study, the traditional methods of stimulating the laterality of the senses. The software, developed in VRML (Virtual Reality Modulating Language), was proposed to Physical Education professors who work with such stimulus, thereby promoting the interaction, involvement and interest of the children, and obtaining positive results as it relates to the software meeting the initially proposed requirements. Keywords - Education, laterality, Virtual Reality. 1. INTRODUÇÃO. A educação pode ser tratada como um processo de descoberta, de observação, de exploração e de construção do conhecimento. No processo de ensino-aprendizagem tem-se constatado dificuldades de aprendizado em conteúdos onde não é possível presenciar o processo da forma que o mesmo acontece. Nesses casos cabe ao professor usar recursos que permitam ao aluno conhecer algo abstrato e perceber sua ligação com o real. Os métodos de ensinos tradicionais baseados em quadro negro e aulas dialogadas podem tornar esse processo cansativo e desmotivar os alunos causando falhas no processo de ensino-aprendizagem. Com essa dificuldade encontrada nos métodos de ensino tradicionais, a informática permite ao professor de um conteúdo de uma disciplina curricular ter conhecimento sobre os potenciais educacionais do computador e ser capaz de alternar adequadamente atividades tradicionais de ensino-aprendizagem e atividades que usam o computador. No entanto, estas atividades podem ser feitas tanto para continuar transmitindo a informação para o aluno e, portanto, para reforçar o processo instrucionista, quanto para criar condições para o aluno construir seu conhecimento por meio da criação de ambientes de aprendizagem e facilitando o desenvolvimento dos conteúdos. 1.1 REALIDADE VIRTUAL. Realidade Virtual é uma interface avançada para aplicações computacionais, onde o usuário pode navegar e interagir, em tempo real, em um ambiente tridimensional gerado por computador, usando dispositivos multisensoriais [1]. A Realidade Virtual pode ser usada para materializar informações de uma forma mais fácil para pessoas que tem problemas em assimilar um conteúdo, como por exemplo, na matemática, pode-se fazer um aluno "caminhar" sobre uma superfície que representa uma equação e a partir disto fazê-lo compreender conceitos como curvatura, ponto de inflexão, etc.. 1.2 JOGOS PEDAGÓGICOS EDUCACIONAIS E SOFTWARES O jogo é a construção do conhecimento, principalmente, nos períodos sensório motor e préoperatório. Agindo sobre os objetos, as crianças, desde pequenas estruturam seu espaço, seu tempo, desenvolvem a noção de casualidade chegando a representação e, finalmente a lógica [2]. Os jogos educacionais têm por objetivo facilitar a aprendizagem e o desenvolvimento pessoal da criança. O jogo pode ser considerado um recurso pedagógico, se através dele a criança aprender sobre natureza, eventos sociais, dinâmica interna dentre outros aspectos construtivos. O jogo é uma atividade que a criança necessita para atuar em tudo que a rodeia e desenvolver o conhecimento [3]. A utilização do computador na educação só faz sentido na medida em que os professores o concebem como uma ferramenta de auxílio as suas atividades didáticopedagógicos, como instrumento de planejamento e realização de projetos interdisciplinares, como elemento que motiva e ao mesmo tempo desafia o surgimento de novas práticas pedagógicas, tornando o processo ensino-aprendizagem uma atividade inovadora, dinâmica, participativa e interativa [4]. Utilizar o computador para auxiliar o processo de ensino-aprendizagem pode ser considerado um mecanismo de promoção e desenvolvimento profissional e intelectual na medida em que promove a realização de tarefas mais criativas, libertando o homem para aprender a raciocinar, resolver problemas e aprender a aprender. 1.3 LATERALIDADE Lateralidade é a consciência interna que a criança tem dos lados direito e esquerdo de seu corpo, não se tratando de um conceito adquirido, mas de programas de atividades cuja finalidade é o desenvolvimento de acuidades sensoriais e habilidades motoras, já que a criança é exposta a uma grande quantidade de estímulos que aumentam essa consciência [5]. Com base nas pesquisas feitas pode-se dizer que definir a lateralidade antes da fase escolar é fundamental para um perfeito desenvolvimento das aprendizagens da leitura, da escrita, do calculo entre outros. E para um bom desenvolvimento da lateralidade é necessário que a criança não se sinta forçada a adotar nenhuma postura, é preciso criar situações onde ela possa decidir qual será seu lado dominante e adquirir definições comuns, como a de direita e esquerda. 2. TRABALHOS RELACIONADOS. A maioria dos sistemas analisados com relação ao tema proposto, que é trabalhar a lateralidade utilizando a realidade virtual, demonstra o poder da utilização desta técnica como meio motivador na melhoria do processo do ensino/aprendizagem. Na maioria dos trabalhos, RV é utilizada para propiciar uma simulação de condições em muitas vezes apenas imaginada em outras vezes representada, resultando no envolvimento maior tanto docente como discente. Kirner [6] propõe desenvolver versões do livro interativo (LIRA), para auxiliar no ensino de diversas áreas, no desenvolvimento cognitivo de crianças e estimular o uso do livro para pessoas com deficiência visual ou auditiva. No livro impresso, cada pagina ira conter informações de assuntos variados. O conteúdo da pagina será complementado com narração e cenários tridimensionais e interativos, quando em conjunto com o livro virtual. Será possível movimentar o cenário, manipular a pagina do livro, deixando que o usuário escolha o ângulo de preferência para interagir com o ambiente tridimensional. Conforme a figura 1 a baixo: estar disponível na Internet com permissão de acesso a qualquer internauta. Semelhante a uma cidade real, a Cidade Virtual do Saber será composta de bairros, praças, casas, rádio, TV, jornaleiro, cinema, museu, prefeitura, escola de ensino fundamental, universidade, zoológico, entre outros locais. No trabalho de Araújo [8] o objetivo principal é mostrar a possibilidade do estudo com auxilio do computador, utilizando-se da Realidade Virtual que é o instrumento de criação dos ambientes virtuais simulando aspectos da física. Foi desenvolvido um software educacional utilizando a linguagem VRML (Virtual Reality Modelating Language). O ambiente foi apresentado a alunos e professores de uma escola pública e outra privada, sendo que, quando o ambiente virtual foi utilizado para explicação da matéria, notou-se um melhor entendimento e melhor interatividade por parte dos alunos. Como demonstra a figura 2 abaixo: Fig. 2. Exemplo do software de Araújo [6] O trabalho de Hassan [9] aborda questões do uso da Realidade Virtual na educação como ferramenta auxiliar no processo de desenvolvimento cognitivo, através do desenvolvimento de um laboratório virtual 3D de redes de computadores. O laboratório virtual de redes foi desenvolvido em linguagem VRML, buscando a integração de várias mídias para a criação de metáforas que exibam o funcionamento de uma rede de computadores, e para proporcionar exercitação no ambiente virtual, visto que, um laboratório, deve justamente proporcionar a aprendizagem através da prática. 3. MÉTODOS APLICADOS Fig. 1. Fazenda, cenário do livro de estudos sociais [4]. Em 2003 Lira [7] desenvolveu uma cidade virtual em 3D, com navegação em VRML. Esta cidade tem objetivo de servir como um ambiente de ensino-aprendizagem e deve A metodologia aplicada no desenvolvimento deste projeto foi escolhida com base em métodos tradicionais utilizados por professores para o aprendizado da lateralidade (direita, esquerda, subir e descer), e estímulo dos sentidos (audição, visão e tato). Para o desenvolvimento do jogo, utilizou-se conceitos de Realidade Virtual (RV), que, conforme a figura 3 e 4 nos mostra, permite navegação com 6 graus de liberdade, podendo ir para direita ou esquerda, para cima ou para baixo, ou ate mesmo inclinar para os lados, definições suficientes que justificam utilizar realidade virtual pra trabalhar com lateralidade. Ao utilizar sons dentro do ambiente, pôde-se trabalhar com o senso auditivo, o ambiente virtual trabalhou com o senso visual, para o senso motor, utilizou-se uma ferramenta de manuseio, dando a criança a sensação de equilíbrio, e no próprio ambiente virtual também foi possível trabalhar conceitos de direita e esquerda, dentro e fora, sentidos básicos de lateralidade. visualização de textos, o que dificulta a interação de crianças que ainda não sabem ler. 2- Modelagem dos objetos: os objetos foram modelados utilizando-se o VRML, e também o software Flux Studio. Foram modelados separadamente e depois, utilizando o Flux Studio, foram agrupados gerando um ambiente maior, a figura 5 a baixo, demonstra agrupamento dos objetos utilizando-se o Flux Studio. Fig. 3. Navegação com 6 graus de liberdade [8]. Fig. 5. Junção dos objetos utilizando Flux Studio 3- Interação: a interação foi feita individualmente em todos os objetos da cena, assim, foi possível trabalhar questões como visão e audição. Foram feitas algumas animações prédefinidas, onde a criança pôde-se interagir. Porém o conceito mais utilizado é a que o plug-in Cortona nos traz: a navegação no ambiente. Ainda foi utilizado os conceitos de Toch Sensor, Time Sensor na interação dos objetos, além de trabalharmos com as questões de colisão dos objetos. 4.1 FUNCIONAMENTO DO SISTEMA Fig. 4. Navegação com 6 graus de liberdade [10]. 4. IMPLEMENTAÇÃO DO SISTEMA O ambiente virtual foi desenvolvido utilizando VRML (Virtual Reality Modelating Language), linguagem de programação destinada a criação de ambientes virtuais em 3D (3 dimensões), onde permitiu-se a interação do usuário com o mundo virtual. A linguagem escolhida trata-se de uma linguagem livre, que permite visualização em navegadores de internet, bastando apenas a instalação de plug-in. No projeto o plug-in utilizado foi o Cortona. A implementação do sistema também contou com os seguintes itens: 1- Gravação das histórias - foi necessário gravar as historias para poder trabalhar com as crianças o senso auditivo, o que possibilitou a diferença entre a maioria dos softwares educacionais, que geralmente apenas proporciona a criança à O sistema vai constar de um ambiente virtual, o qual contém árvores, bonecos e diversos objetos virtuais (onde em cada objeto, ao se clicar, deverá disparar sons, ou seja, histórias sobre os objetos). O trabalho com a lateralidade deverá constar ao se utilizar o mouse, navegando no ambiente virtual, desta forma, deverá conter setas e falas indicando os caminhos a seguir, ou seja, esquerda, direita, para cima e para baixo, conceitos de dentro, fora. Os sentidos foram propiciados pelo ambiente virtual, pelos sons e ainda pelo tratamento de colisão (o sentido de colisão age como sentido de encontro com algum objeto), proporcionando a criança o conceito de que não é possível atravessar objetos do mundo real. Basicamente o sistema trabalha com interação via mouse, e ainda trabalha algumas interações pré-definidas. As figuras 6 e 7 a seguir mostram parte do ambiente virtual. lateral da criança, também foi possível observar que a RV está sendo cada vez mais abrangida para diversas áreas do conhecimento humano, fazendo com que o “imaginário” se torne “real”. Como trabalho futuro, pretende-se avaliar tecnicamente e formalmente o software, aperfeiçoar o ambiente utilizando as técnicas de realidade aumentada, já que sentindo-se dentro do ambiente, a criança poderá trabalhar melhor os seus sentidos e também a sua lateralidade. 6. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 6. Demonstração de parte do ambiente virtual Fig. 7. Demonstração interna do ambiente virtual O software foi aplicado a crianças, auxiliadas por professores, os quais também avaliaram o software positivamente. 5. AVALIAÇÕES, RESULTADOS E CONCLUSÕES 5.1 AVALIAÇÃO E RESULTADOS O sistema foi apresentado a um grupo de crianças, de faixa etária de 4 a 6 anos de idade, idade que a criança começa a freqüentar a escola, teve acompanhamento de profissionais da área de educação física, que trabalham de forma convencional a lateralidade na criança. Foi explicado, detalhadamente, tanto aos professores quanto as crianças o funcionamento do software e como utilizá-lo. Informalmente, os professores presentes durante a avaliação aprovaram o trabalho dizendo que atenderia aos objetivos propostos inicialmente, que seria trabalhar a lateralidade e os sentidos da criança, e também sugeriram a inserção de matérias educativas, para auxiliar o dia-a-dia da criança. 5.2 CONCLUSÕES Durante o desenvolvimento do projeto, constatou-se a pouca existência de softwares educacionais em Realidade Virtual (RV) que trabalha com o senso motor e o senso [1] CARDOSO, Alexandre; LAMOUNIER JR, Edgard. Realidade Virtual – Uma Abordagem Prática. Minicursos – VII Simposium on Virtual Reality – São Paulo, 2004. [2] FARIA, Anália Rodrigues de. O pensamento e a linguagem da criança Segundo Piaget. 2 ed. São Paulo: Ática, 1994. [3] KISHIMOTO, T.M. (Org.). Jogo, brinquedo, brincadeira e a educação. 4 ed. São Paulo: Cortez, 2000. [4] TEIXEIRA, Adriano Canabarro e BRADÃO, Edemilson Jorge Ramos. Software educacional: o difícil começo; CINTED-UFRGS; v.1 nº1; fevereiro de 2003. disponível em: http://www.cinted.ufrgs.br/renote/fev2003/artigos/adrian o_software.pdf. acesso em 19/03/2007. [5] FARIA, Alcídia Magalhães. Lateralidade: implicações no desenvolvimento infantil. 1º ed. Rio de Janeiro: Sprint 2001. [6] KIRNER, C. ; FERRAZ, N. L. . Desenvolvimento de versões educativas do livro interativo com realidade aumentada. In: III Workshop de Realidade Aumentada, 2006, Rio de Janeiro. Anais do III Workshop de Realidade Aumentada. Porto Alegre : SBC, 2006. v. 1. p. 73-76. [7] LIRA, R. P. ; SANTOS, M. S. ; DINIZ, J. R. B. ; SANTOS, F. L. . Utilizando a Cidade Virtual do Saber como uma Ferramenta de Aprendizagem. In: Simpósio Brasileiro de Informática na Educação, 2003, Rio de Janeiro. Anais do XIV Simpósio Brasileiro de Informática na Educação, 2003.. [8] ARAUJO, J. C. ; RIBEIRO, M. W. S. ; SILVA, W. A. . Realidade Virtual como Apoio ao Ensino do Movimento Harmônico Simples na Física. In: II Workshop de Aplicações em Realidade Virtual, 2006, recife-pe. Anais do II Workshop de Aplicações em Realidade Virtual, 2006. [9] HASSAN, Elizangela Bastos. Laboratório Virtual 3D para ensino de Redes de Computadores. SBIE 2003. Disponível em: <http://www.nce.ufrj.br/sbie2003/publicacoes/paper68.p df>. Acesso em: 05/06/07, 18h20min. [10] TORI, Romero, KIRNER, Cláudio & SISCOUTTO Robson. Fundamentos e Tecnologia de Realidade Virtual e Aumentada. Porto Alegre, SBC: 2006 IMPLEMENTAÇÃO DE UM PROTÓTIPO DE JOGO 3D DE COMPUTADOR COM A BIBLIOTECA GLSCENE PARA PLATAFORMA LINUX Wandeir Tavares Ferreira Júnior1, Alanderlon Barbosa de Oliveira1, José Barbosa Dias Júnior1, Eduardo Filgueiras Damasceno2 1 Universidade de Rio Verde – FESURV, Fazenda Fontes do Saber - Campus Universitário – Bloco 01, CEP 75900-000 Rio Verde – GO, Brasil 2 CEFET – Rio Verde – Rodovia Sul Goiana – Km 01, CP.66, CEP 75901-970 Rio Verde – GO, Brasil e-mail: [email protected]; [email protected]; [email protected]; [email protected] Resumo - Este artigo tem como finalidade apresentar um protótipo de jogo 3D de computador desenvolvido para o Sistema Operacional Linux com base no processo de desenvolvimento prototipado pela ferramenta de desenvolvimento rápido e de livre dominio. Palavras-Chave – Jogos 3D, Linux, Lazarus, GLScene. Abstract – This paper has as purpose to present a game archetype on the basis of 3D of computer developed for the Operational system Linux the process of prototip development rapid and for the tool of free domain. Key words – Games 3D, Linux, Lazarus, GLScene. 1. INTRODUÇÃO Mesmo com o crescimento da popularidade do Linux nos últimos anos, uma característica que ainda deixa a desejar é o desenvolvimento de jogos. Atualmente existem pouquíssimos jogos para a plataforma Linux, se comparado á imensa quantidade de jogos desenvolvidos para Windows. Esta quantidade se torna ainda menor quando se trata de jogos tridimensionais (3D), e isto acaba gerando um dos principais motivos de reclamações dos usuários, mesmo não sendo um problema do sistema, pois é bem estruturado para suportar jogos de alto processamento, que exigem do hardware alto desempenho gráfico. A maioria dos jogos deste Sistema Operacional (SO) são recriações de jogos da plataforma Windows, como por exemplo: paciência, sokoban e outros, a maioria destes jogos são de visualização bidimensional (2D), que por causa de sua baixa jogabilidade tiveram uma forte queda nos últimos anos. Alguns famosos jogos em 3D do Windows que fizeram sucesso no passado foram recriados, sendo Doom o primeiro jogo desenvolvido dessa maneira. Desde então algumas empresas como a ID Software começaram a notar que é uma excelente plataforma para jogos, lançando Quake 3 Arena em versões para Windows e Linux ao mesmo tempo. [1] Em conseqüência deste desinteresse, os jogos acabam ficando sob responsabilidade dos pequenos desenvolvedores que desistem de seus projetos, desmotivados pela falta de suporte, pouca disponibilidade de tempo, dificuldades com bibliotecas 3d e arte final, tais como modelagem dos personagens, movimentação, modelagem do cenário, criação das texturas e etc. Estes fatores são os principais responsáveis pela não conclusão da maioria dos projetos de jogos. A tabela 1 mostra características de alguns jogos encontrados em desenvolvimento para o Linux, juntamente com o seu ambiente (2D ou 3D), sua linguagem de desenvolvimento, a biblioteca utilizada e o ano de início e término do desenvolvimento. TABELA I Jogos no Linux Jogo Ambiente Linguagem Biblioteca Flight Gear Racer Lbreakout 2 BZflag 3D C/C ++ OpenGl/Pib Inicio/ Termino 1996/2007* 3D 2D C/C ++ C/C ++ OpenGl SDL 2000/2007* 2000/2007* 3D C/C ++ 1993/2002 2D JAVA CVS/ OpenGL XadrA Java Fortress 1987/ 2003* 2D C/C ++ SDL 1 mês Cosmic Ecounter Online Njam *Jogos não concluidos A partir da tabela 1, percebe-se que o desenvolvimento de um jogo para Linux demanda muito tempo, assim, espera-se da ferramenta Lazarus, uma ferramenta R.A.D. (Rapid application development) onde pode-se criar janelas e colocar vários componentes diferentes de acordo com a ocasião, uma diminuição no tempo de programação, reduzindo o tempo de criação do jogo. Além de proporcionar execução do jogo criado em diferentes SO’s, sendo possível recompilá-lo em um sistema diferente, sem perca nenhuma, devido ao fato de que o código fonte é o mesmo independente do sistema operacional. Nesta pesquisa verificou-se que 60% dos jogos desenvolvidos para o Linux utilizam a linguagem C/C++, 25% utilizam Phyton, 10% Java e 5% Pascal, como ilustrado na figura 2. Uma boa parte dos jogos para Linux utilizam como biblioteca o OpenGL. E mesmo com o crescimento do interesse de usuários pela biblioteca GLScene para desenvolvimento dos jogos para Windows, não foram encontrados jogos para Linux com a biblioteca. Figura 2 – Gráfico jogos no Linux 2. TRABALHOS RELACIONADOS Neste item são apresentados alguns jogos criados com GLScene em conjunto com o Delphi e feitos apenas para o S.O.Windows, versões (95/ 98/ NT/ 2000/ XP/03/VI). Burgers Rush (figura 1.A) é um projeto de Luiz Eduardo Faraco Morais, teve inicio em Março e término em Junho de 2004. Este foi o primeiro jogo criado por ele com o Delphi mais a biblioteca Glscene. Burgers Rush é um remake do “Pressure Cooker” do Atari. [2] E o projeto Xing (figura 1.B) é um jogo 3D on-line, desenvolvido no pela TILT no Brasil com a biblioteca 3D GLScene e a plataforma Delphi. Encontra-se na sua versão 0.2 para teste alfa 1, sendo necessário Direct-X, placa 3D e um navegador. [3] Outro jogo criado pela TILT, o Projeto Nave (figura 1.C) usa as ferramentas GLScene para os gráficos 3d e a biblioteca ODE (Open Dynamics Engine) para cálculo de colisão e física, além do Delphi. [3] WAtomic (figura 1.D) é um clone do jogo de lógica e Química do Linux “Katomic”desenvolvido usando a biblioteca baseada OpenGl de GLScene para Delphi [4]. Existem outros bons jogos criados com a biblioteca GLScene em conjunto com o Delphi, porém todos para o S.O.Windows, uma solução para criação de jogos no linux com a biblioteca seria o uso do Lazarus. Figura 1.A - Burgers Rush Figura 1.C - Projeto Nave Figura 1.B - Xingu Figura 1.D - WAtomic Figura 1 – Jogos no Windows 3. MATERIAIS E METODOS 3.1. Ferramentas disponíveis para programação de jogos De acordo com SEBESTA (2003), os fatores que caracterizam uma boa linguagem de programação são: Sua sintaxe e semântica bem definida; Que esta seja implementável (executável) com eficiência; Que através dela seja possível expressar todo o problema computacional; Que seja natural para expressar soluções de problemas; De fácil aprendizado, leitura e escrita do código e manutenção; Determinação do custo final do usuário e proprietário. [5] Fatores nos quais o Lazarus juntamente com a biblioteca GLScene se enquadram para o desenvolvimento do projeto. RAD (Rapid Application Development, ou Desenvolvimento Rápido de Aplicações) vem sendo muito utilizada em produtos comerciais de desenvolvimento de aplicações, pois possibilita gerar o código numa linguagem orientada à objetos, permitindo o reuso de componentes. [6] Este método é uma boa opção para o desenvolvimento de projetos com curto prazo, envolvendo o uso de prototipagem extensiva e ferramentas de desenvolvimento de alto nível, pois garante a qualidade dos produtos gerados. [7] 3.2. Ferramentas utilizadas no desenvolvimento do jogo (Mr.Z) A seguir veremos os softwares usados na construção do jogo, incluindo a biblioteca, programas para modelagens 3D, e ferramentas utilizadas para a programação do jogo, sendo todas as ferramentas escolhidas por um diferencial, todas as ferramentas usadas são de livre domínio. Lazarus é um R.A.D, similar ao Delphi, funciona em Windows, BSDs, MacOS X e Linux. Sua interface de desenvolvimento é semelhante a do Delphi, contém editores de textos com o seletor/navegador de funções ou sub-rotinas, visualizador de propriedades de componentes, sua janela principal contém um navegador do projeto e a janela de formulário. Seu ambiente é estável e rico, para programar a criação de aplicações gráficas e de console. [8] Sua versão para o Linux exige apenas três RPMs para a distribuição RedHat: fpc (Free Pascal Compiler), fpcsrc (fonte para recompilar o Free Pascal), e lazarus (RAD), suporta também o GLScene. Como se trata de um RAD possibilitará um processo de desenvolvimento do jogo rápido. [9] O Glscene é uma biblioteca Open-Source, licenciada pela Mozilla Public License, que possui uma grande quantidade de componentes visuais que permitem a descrição de objetos e renderização de cenas em três dimensões, capaz de manipular diversos formatos de imagens e objetos. Possui programação orientada a objetos, no qual utiliza conjuntos de classes para criação do ambiente genérico 3D, aliados a tecnologia RAD. [10] O Blender é um conjunto de ferramentas para modelagem, animações, renderizações, pós produções e criações de games tridimensionais (3D), possui recursos compatíveis com os softwares proprietários Maya, Rhinoceros e 3D Studio, porém gratuito e possui código aberto. O Blender possui um motor de jogos 3D integrado com características interativas como detecção de colisão, recriações dinâmicas e lógicas. [11] 3.3.Arquitetura Neste capítulo mostrará um resumo sobre a arquitetura do jogo, a modelagem UML dos personagens e uma apresentação dos componentes do GLScene usados na criação do jogo, como tratamento de colisão, navegação, cronômetro, reprodução de áudio e outros. Como o nome sugere, este artigo apresenta apenas uma proposta para o desenvolvimento de um protótipo de jogo 3D para Linux. Os recursos do Lazarus e da biblioteca GLScene já estão sendo analisados nos S.O’s Windows e Linux. Foram encontrado um grande número de jogos desenvolvidos com o Delphi para o Windows. Pelo contrário, não foram encontrados jogos usando as ferramentas Lazarus e GLScene para plataforma Linux. Mesmo sabendo que é possível criar bons jogos com a biblioteca GLScene e que o Lazarus possui recursos semelhantes aos do Delphi. com o qual cria uma esfeta invisível ao redor do avatar; b) Checking Point Intersection, com o objeto cbmPoint que avalia se um ponto da estrutura do avatar tocou em outro objeto virtual. c) cbmEllipsoid a definição também é pela espessura, porém da elipsóide do eixo alinhado. d) O cbmCube é definido pela espessura do "cubo" e o cbmFaces: é definido pelas faces do objeto, neste caso e necessário o suporte ao nível do objeto. [12] 3.4.3.Navegação 3.4.1.Arquitetura do jogo e modelagem UML dos personagens. A figura 2 ilustra um dos personagens do jogo ligado ao grupo de detetives grupo do bem, a classe avatar é a mesma para todos os outros personagens do jogo. Nas propriedades estão relacionados ID, textura e o Tipo. ID faz relação com a identificação (nome) do personagem, Mr. Z, Cyber’s (Red, Blue, Green, Yellow, Black) e Bazuka. A textura que quase sempre muda de personagem para personagem, na maioria das vezes são geradas a partir de imagens .jpg com a ajuda de algum software de edição de imagens (Gimp) ou texturas encontradas na internet, outras vezes a texturização dos personagens fica por conta dos próprios recursos do Blender. O tipo faz relação com outra classe e refere-se a que categoria este personagem faz relação, ou seja, detetives ou bandido, o único bandido do jogo é o Mr. Z. O componente TGLNavigator é responsável por movimentar um TGLBaseSceneObject, juntamente com todas os objetos do Editor de Cena (Scene Editor). Para a navegação do personagem no cenário são utilizadas as chamadas: TurnHorisontal para movimentação na horizontal, esquerda e direita. TurnVertical para movimentação na vertical, para cima e para baixo e MoveForward para movimentar-se de um lado para outro. [12] 3.4.5.Visualização, Cronômetro e Reprodução de áudio Duas câmeras são responsáveis pela visualização do cenário, sendo acionadas através das teclas F7 e F8. Com F7 a câmera 1 aciona a visualização 3ª pessoa (fig.4.A) e F8 a câmera 2 aciona em 1ª pessoa (fig.4.B). Fig.4.A - Visualização 3ª pessoa Fig.2- Personagem Cyber Red e sua classe UML Os Métodos dos personagens são abaixar, segurar, andar, atirar, correr e pular. A interface do jogo é composta dos menus, botões, opções e controles; o tratador de eventos que serão acionados pelo jogador; gerenciador de dados (gráficos e fases); gerenciador de física, responsável pelos movimentos, colisão, velocidade, gravidade e etc.; a engine gráfica responsável pela exibição das imagens, efeitos especiais, rotação dos personagens e cenário e etc.; engine sonoro dos efeitos sonoros do jogo; a engine lógica responsável por toda parte lógica do jogo; camadas de abstração de hardware que envolve os sons, interfaces com gráficos e entradas do hardware; o sistema de configuração que envolve opções de alterações e salvamento do jogo; sistema de menus e músicas. [15] 3.4.2.Tratamento de colisão Para colisão existe um componente da biblioteca GLScene chamado CollisionManager, que possui os seguintes tratamentos de colisão, usando uma abastração dos algoritmos de: a) Bounding Box, com o objeto cmbSphere Fig.4.B - Visualização 1ª pessoa O AsyncTimer é o componente usado como cronômetro assíncrono, sua resolução costuma ser de 1 ms, podendo variar de acordo com a CPU utilizada. [17] Componente de grande importância no jogo pois os recordes faz referência ao menor tempo de captura do vilão Mr. Z. A renderização das cenas 3D obtém recursos de som, para reprodução de áudio 3D em um nível baixo, que são as API´s BASS e FMOD, entre outras ferramentas como streams, música MOD, e funções de gravação. [13] 3.4.6.Carregamento de arquivo do ambiente e textura Como citado anteriormente o software usado para modelagem 3D do cenário e dos personagens foi o Blender, porém poderia ser o 3D Studio Max, Maya, LightWave, Cinema Studio 4D entre outros softwares de modelagem tridimensional. A escolha do Blender foi baseada nas características de ser um software livre, funcionar no Linux e no Windows e aceitar vários formatos para exportação. O formato escolhido para os personagens e também para o cenário modelado foi o 3DS, original do 3D Studio este é um formato padrão para geração de imagens tridimensionais e um dos formatos de objetos estáticos aceitos pelo GLScene, que permitem animações, suavização da imagem importada, recursos como cálculo vetorial automático e importação de texturas. Outros formatos aceitos pelo GLScene são , 3DS OBJ/OBJF, SMD, MD2, STL, PLY e TI. [3] [12] Os objetos são exportados para o formato 3ds no próprio Blender sem as texturas, que devem ser adicionadas no próprio GLScene. O GLScene prepara o cenário automaticamente, dando realces e suavizações aos objetos. [14] 4. STATUS DO PROJETO Atualmente o projeto encontra-se em fase de estudo das funcionalidades do GLScene, tanto em questão de áudio, tratamento de colisão, texturização entre outros fatores. O jogo já esta sendo desenvolvido, e atualmente já possui o personagem Cyber Red, interagindo pelo cenário faroeste. O cenário possui hotéis, prisões, restaurantes, bancos bem ao estilo faroeste, além de cactos, árvores, pedras e demais objetos para enriquecer a cena. Porém todas possuem apenas uma textura como padrão até o presente momento. Também já é possível navegar entre as visualizações em 1ª e 3ª pessoa. http://sourceforge.net/projects/watomic>. Acesso em 07 de Jun.2007 [5] CAMARA, Leandro Ledel. Curso de paradigmas de linguagem de programação, [S.I]: Unicamp <http://www.dca.fee.unicamp.br/~leandro/paradigmasLP/aul as_turmaA.html>. Acesso em: 31 Ago.2007 [6] ANDRÉ, Fabrício Rubin. Uma Metodologia de Projeto Orientado a Objetos com Vistas à Reutilização, [S.I]: Ufrgs.<http://www.inf.ufrgs.br/pos/SemanaAcademica/Sema na98/fabricio.html>. Acesso em: 31 Ago.2007 [7] ROMA, Paulo Cavalcanti. Ambientes R.A.D para Linux, [S.I]: Impar.<http://w3.impa.br/~roma/RAD.html>. Acesso em: 24 de mar. 2007 em: 27 Ago.2007 [8] DOMINGUES, Rodrigues. Ambientes de desenvolvimento e ferramentas para construção e migração de aplicações, Disponível em: <https://www.linuxmagazine.com.br/issue/12/LM12_61- 5. TRABALHOS FUTUROS 66.pdf> Acesso em: 13 de Mar. 2007. Como trabalhos futuros pretende-se melhorar a classe avatar para implementar todos os métodos da UML. Corrigir e estudar os métodos para texturização dos personagens e do cenário, com o objetivo de dividir uma textura para vários objetos do cenário. Criar novos níveis e fases do jogo e acesso multiplayer para que dois ou mais jogadores possam participar de uma mesma partida simultaneamente criando assim um nível maior de interação com o jogador. Estudar questões de áudio e tratamento de colisão acrescentando estas funcionalidades ao jogo. Melhorar a qualidade gráfica, e atribuir novos personagens, com diferentes atitudes e comportamentos, obtendo consequentemente uma melhoria no enredo do jogo. Estudar técnicas de Inteligência Artificial (I.A.) para programar-las no jogo caso o usuário prefira a situação homem versus máquina. Incluir menus e opções de configuração para que o usuário possa ativar, modificar e transformar o jogo de acordo com suas vontades. REFERÊNCIAS BIBLIOGRÁFICAS [1] PARRA, Domingos Novo. Diversão à vista, [S.I.]: uesc: <http://labbi.uesc.br/labbi/apostilas/revista_do_linux/001/jog os.html> Acesso em: 24 de mar. 2007 [2] EDUARDO, Luiz. Projetos ArcadiumPlayware , [S.I.]: Arcadiumplayware. Disponível em: <http://www.arcadiumplayware.com/BurguersRush_prt.html >,Acesso em 05 de Jun.2007 [3] TITL. TITL Online, [S.I.]: TILT < http://www.clubtilt.net/nave/index.htm>. Acesso em 07 de Jun.2007 [4] WATOMIC. Sourceforge. WAtomico SourceForge Disponível , [SI]: em:< [9] ROMA, Paulo Cavalcanti. Ambientes R.A.D para Linux, Disponível em: <http://w3.impa.br/~roma/RAD.html>. Acesso em: 24 de mar. 2007. [10] RIEDER, Rafael; DUÍLIO, Gabriel, MATTÉ, Douglas. GLScene OpenGL solution for Delphi.< http://www.dimap.ufrn.br/~gvrv/WRJogos_2003/tutorial/Tut orial%20GLScene.pdf> [11] BASTOS, Luís. Blender. [S.I]: Programas Livres. < http://www.programaslivres.net/blog/?p=65>. Acesso em: 30 Ago.2007 [12] MCKLIM, Rhems. Introdução ao GLScene, [S.I]: Unidev<http://www.unidev.com.br/artigos/introtoglscene000 .asp?id=453>. Acesso em: 31 Ago.2007 [13] GARCIA, Gabriel. Introdução ao GLScene, [S.I]:Unidev<http://www.unidev.com.br/artigos/glsceneartud 000.asp?id=435>. Acesso em: 24 de mar. 2007 [14] RIEDER, Rafael; DUÍLIO, Gabriel. Development of a micro world for the education of the Fundamental Mathematics, using OpenGL and Delphi, [S.I]:Ribie.<http://lsm.dei.uc.pt/ribie/docfiles/txt2003326201 022A038.pdf>. Acesso em: 04 de Set. 2007 [15] AZEVEDO, Eduardo. Desenvolvimento de Jogos 3D e Aplicações em Realidade Virtual, Editora Campus. REALIDADE AUMENTADA APLICADA À ARQUITETURA E URBANISMO Rodrigo Rosa Amim1, Luiz Landau1, Gerson Gomes Cunha1 1 COPPE– Universidade Federal do Rio de Janeiro (UFRJ) [email protected], [email protected], [email protected] Resumo - Esse documento procura despertar estudantes e profissionais para a disponibilidade da Realidade Aumentada como ferramenta a ser utilizada desde a etapa de criação até a construção de projetos arquitetônicos e outras edificações. O trabalho aponta possibilidades, apresenta as potencialidades e verifica o quanto essa tecnologia poderá modificar os processos produtivos da construção civil. Através do Estado da Arte das aplicações de Realidade Aumentada na Arquitetura e no Urbanismo, fornecemos uma importante fonte de pesquisa e apoio aos interessados no assunto. Palavras-Chave – Realidade Aumentada, Arquitetura e Urbanismo, Arquitetura digital. Abstract - This document aims to show to students and professionals, the disponibility of Augmented Reality as an useful and powerful tool that can be used from the creation till the construction of architectural projects and other edifications. The work points possibilities, show the potencialities and verify how this technology can change the production processes of building. Through the State of Art of Augmented Reality applications in Architecture an Urbanism, we offer an important source for research and support for the ones interested in the subject. Keywords – Augmented Reality, Architecture and Urbanism, Digital Architecture. ordinários do cotidiano e depois realçar ou aumentá-los com funcionalidades vindas do computador. (a) (b) (c) Figura 1 – Dispositivos de interface: (a) anexado à cabeça – videocapacete; (b) portátil – palm top; (c) espacial – desktop. Ao contrário, do ambiente sintético trabalhado na RV, o mundo da RA, real, deve ser confinado às leis físicas. Ao invés de olhar os dois conceitos simplesmente como antíteses, é mais conveniente vê-los como limites opostos de um continuum. Milgram [2] descreve uma taxonomia que identifica como RA e RV estão relacionadas. Ele define Reality -Virtuality Continuum como na figura abaixo: Figura 2 – Continuum Realidade-Virtualidade de Milgram 1. A REALIDADE AUMENTADA 2. ARQUITETURA NA ERA DIGITAL RA é área da Realidade Mista (RM) que lida com a adição de elementos virtuais (gerados por computador) ao ambiente real (relativo ao mundo físico, no qual os usuários do sistema vivem) em tempo real, num mesmo meio. Podemos destacar três características principais dos sistemas de RA [1]: Combinação do real e do virtual: o ambiente real como cenário. Cenas ou objetos virtuais aumentando sua aparência; Interações em tempo real: ações e reações imediatas; Registros tridimensionais: perfeita combinação do físico com o sintético (alinhados com auxílio de traçadores de posição - magnéticos, óticos, GPS e outros) . O objetivo da RA é aumentar a percepção do usuário sobre o mundo real e também ajudar às pessoas a obter informações invisíveis do entorno. RA traz o mundo virtual dos computadores para o ambiente físico das atividades diárias humanas através de diversos dispositivos de interface (ver exemplos, figura 1). Isso inclui aspectos da comunicação natural que servem de mediadores de entendimento mútuo: contato dos olhos, linguagem corporal e manuseio de objetos físicos. Permite aos usuários continuarem a usar objetos A convergência da representação e da produção baseadas em dados, representa a mais importante oportunidade para a profunda transformação da arquitetura. Muito do mundo material hoje, desde um simples produto de consumo até o mais sofisticado avião, é criado e produzido usando um processo no qual projeto, análise, representação, fabricação e montagem têm se transformado em processos colaborativos, que dependem de tecnologias digitais – um Continuum Digital do projeto à construção. Este Continuum é aplicado agora também à arquitetura e tem como edificação de referência / marco, o Guggenheim de Bilbao, do arquiteto Frank Gehry. O uso de programas de modelagem digital (3D) e animação (4D) também abriu novos territórios de exploração formal na arquitetura, onde modelos de edificações gerados digitalmente não são projetados de maneira convencional. São criadas novas formas em processos generativos baseados em conceitos como: espaço topológico, superfícies isomórficas, sistemas dinâmicos, desenho paramétrico e outros (exemplos, figura 3 e 4). Figura 3. Arq. Topológica - Villa Nurbs. Hotel em Barcelona. Enric Ruiz Geli (a) (b) Figura 4. Arq Isomórfica - (a) Quadros do processo criativo (Blobs) do pavilhão BMW Pavilion de Bernhard Franken (2005) – Arquitetura Isomórfica. (b) O Pavilhão construído. ensino, projeto de interiores, construção, urbanismo e outros; 3. Autor(es): autor ou autores do projeto; 4. Instituição(ões): instituição que o projeto está vinculado; 5. Ano: ano em que o artigo foi publicado ou que o projeto foi aplicado ( deve-se levar em consideração que as datas correspondem aos últimos arquivos acessíveis de cada caso) ; 6. Fonte: origem da pesquisa 7. Contato: site ou endereço eletrônico para maiores informações e/ou contato; 8. Dispositivo de Interface: qual(is) o(s) dispositivo(s) usado(s) – baseado em monitor (desktop, tablet PC, palmtop), em projeção, vídeocapacete ou óculos translúcido, etc; 9. Descrição Resumida do Projeto: a descrição propriamente dita; 10. Observações: algum destaque, caso necessário 11. Trabalhos Futuros: complemento, quando mencionado pelo(s) autor(es) 12. Imagens: ilustrações do projeto A Realidade Aumentada, como ferramenta de visualização, contribui para o fluxo do Continuum Digital. Sendo assim, além de ela estar inserida em processos tradicionais da arquitetura, ela faz parte de um novo processo fluido que engloba todas as fases de produção desde a concepção à construção de edificações. 3. ESTADO DA ARTE A utilização de novas tecnologias, como a RA, pelo profissional e pelo estudantede arquitetura e outras áreas afins, poderá detonar mais dinâmica e fluidez entre todas as partes envolvidas, desde o momento criativo do projeto, simulações e análises, passando pelo desenvolvimento e representação do mesmo, à fabricação dos componentes, indo até o canteiro de obras, na execução do edifício. Com esta pesquisa, confirmamos que a RA já vem sendo aplicada e estudada em diversos campos, como em Projetos de Interior – projeto “Being There” da Universidade da Carolina do Norte (figura 5); na Construção de Edificações – “ARC” da Universidade Columbia (figura 6); em Planejamentos Urbanos – “Benchworks” da Universidade de Hong Kong (figura 7); Paisagismo – “Illuminating Clay” do MIT Media Laboratory, em Cambridgem; Restauração – “Cooling Factory” da Universidade de Weimar ; e Ensino – “Construct 3D” da Universidade de Tecnologia de Viena. No total, foram estudados 23 casos, em todas essas áreas. Foram pesquisados livros, websites, laboratórios nacionais e internacionais. Através da catalogação dos projetos, pôdese vislumbrar o Estado da Arte dessa ferramenta aplicada à Arquitetura e Urbanismo. Para facilitar a organização do conteúdo e o entendimento do leitor, fizemos uma ficha modelo para todos os casos, com os seguintes itens: 1. 2. Título /nome do projeto: título dos artigos estudados ou nome dos projetos; Área(s) Aplicada(s): dentro do domínio da arquitetura onde estão inseridos tais projetos - no Figura 5. “Being There” - usuário interagindo com o ambiente virtual: usando spray para pintar uma janela que não existe fisicamente. (a) (b) (c) Figura 6. “ARC” - (a) O óculos translúcido com o traçador de posição ultrasônico. (b) Visão aumentada com instruções. (c) Instalando a estrutura. maioria dos projetos pesquisados aqui encontra-se em desenvolvimento e aperfeiçoamento. Muitos ainda estão em fase de protótipo. Isso é gerado por alguns fatores como por exemplo: dificuldades no registro das posições das câmeras (gráfica e vídeo) e a utilização gráficos simples, devido à má otimização dos modelos digitais. Através desta compilação, comprovamos o quanto essa ferramenta demonstra possibilidades e usos que vieram para Figura 7. “Benchworks” - O usuário está arrastando um modelo virtual, através de uma ferramenta que traça a posição do objeto. 5. CONCLUSÕES A maioria dos casos estudados são projetos em desenvolvimento dentro de Universidades. As aplicações ainda não estão maduras, devido a problemas de base. A complementar e auxiliar as novas formas de criação e produção da arquitetura, que emergiram na Era Digital. REFERÊNCIAS BIBLIOGRÁFICAS [1] Azuma, R. SIGGRAPH '95: A Survey of Augmented Reality. LA, ACM, 1995. [2] Milgram et al. “Augmented Reality: A class of displays on the reality –vituality continuum.” in SPIE Vol. 2351, Telemanipulator and Telepresence Technologies, 1994. (c) Copyright, p. 1, 1994. REALIDADE VIRTUAL APLICADA À EDUCAÇÃO NO ENSINO DE GEOMETRIA ESPACIAL Murilo Borges de Oliveira1, Wender Antônio da Silva1, Edgard Afonso Lamounier Júnior2, Nadabe Cardoso de Oliveira Alves Fortes1, Luciano Vieira de Lima2, Marcos Wagner de Souza Ribeiro1 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara, GO 2 - Grupo de Realidade Virtual – GRV – Laboratório de Computação Gráfica – Universidade Federal de Uberlândia, MG [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] Resumo - Este artigo apresenta o desenvolvimento de uma ferramenta em Realidade Virtual não imersiva, para o auxílio do ensino de Geometria Espacial, sendo incorporada há um modelo de aula via web. Tem-se como estudo de caso a geometria espacial, visto a dificuldade de interação e visualização que os alunos apresentam no modelo de aula tradicional. Desta forma, apresenta uma ferramenta fácil e interativa, onde é demonstrado os objetos virtuais geométricos suas linhas, transparências, vértices, arestas e diagonais, assim como disponibilizará juntamente com os objetos suas definições, conceitos, história e fórmulas. Com essa dificuldade encontrada nos métodos de ensino tradicionais, a informática proporciona ao professor de um conteúdo de uma disciplina curricular ter conhecimento sobre os potenciais educacionais do computador e ser capaz de alternar adequadamente atividades tradicionais de ensinoaprendizagem e atividades que usam o computador. No entanto, a atividade de uso do computador pode ser feita tanto para continuar transmitindo a informação para o aluno e, portanto, para reforçar o processo instrucionista, quanto para criar condições para o aluno construir seu conhecimento por meio da criação de ambientes de aprendizagem e facilitando o desenvolvimento dos conteúdos. Palavras Chave – Geometria espacial, ensino/aprendizagem, realidade virtual, Mapas Conceituais 1.1.Realidade Virtual Abstract – This article presents the development of a tool in not imersiva Virtual Reality, for the aid of the education of Space Geometry, being incorporated has a lesson model saw web. Space geometry is had as case study, seen the difficulty of interaction and visualization that the pupils present in the model of traditional lesson. In such a way, it presents an easy and interactive tool, where it is demonstrated to the geometric virtual objects its lines, transparencies, vertices, edges and diagonal lines, as well as it will together disponibilizará with objects its definitions, concepts, history and formulas. Keywords - Space geometry, geometry, education/learning, virtual reality, Conceptual maps. 1. INTRODUÇÃO A educação pode ser tratada como um processo de descoberta, de observação, de exploração e de construção do conhecimento. No processo de ensino-aprendizagem tem-se constatado dificuldades de aprendizado em conteúdos onde não é possível presenciar o processo da forma que o mesmo acontece. Nesses casos cabe ao professor usar recursos que permitam ao aluno conhecer algo abstrato e perceber sua ligação com o real. Os métodos de ensinos tradicionais baseados em quadro negro e aulas dialogadas podem tornar esse processo cansativo e desmotivar os alunos causando falhas no processo de ensino-aprendizagem. Realidade Virtual é uma interface avançada para aplicações computacionais, onde o usuário pode navegar e interagir, em tempo real, em um ambiente tridimensional gerador por computador, usando ou não dispositivos multisensoriais [3]. A Realidade Virtual pode ser usada para materializar informações de uma forma mais fácil para pessoas que tem problemas em assimilar um conteúdo, como por exemplo na matemática pode-se fazer um aluno "caminhar" sobre uma superfície que representa uma equação e a partir disto fazê-lo compreender conceitos como curvatura, ponto de inflexão, etc.. 1.2.Geometria Espacial A palavra Geometria significa, em grego, medir a terra. Os agrimensores egípcios (2000 a.C.) recorriam à Geometria para determinar a área de seus campos e para delimitar suas terras quando as cheias anuais do Nilo apagavam as marcas anteriores. [1]. A geometria é um importante ramo da matemática. Ao estudar-se geometria descobrem-se coisas interessantes e extraordinárias sobre pontos, retas e planos. Seu estudo inclui também a determinação de comprimentos, áreas e volumes de figuras geométricas, ou figuras de formas diversas. Em Geometria parte-se do pressuposto de que um determinado conjunto de fatos seja verdadeiro. Mostrando-se claramente o que quer se dizer com palavras determinadas. Em seguida, prova-se que centenas de outras afirmações são verdadeiras. Descobrem-se novas idéias, e prova que as anteriores são verdadeiras por meio do uso cuidadoso das regras da lógica. Usa-se a geometria toda vez que é preciso saber o tamanho, a forma o volume ou a posição de alguma coisa. A geometria espacial é o estudo de pontos, retas e planos no espaço. As figuras geométricas sólidas possuem três dimensões: comprimento altura e largura. Pode-se calcular essas dimensões em cones, cubos, cilindros, prismas, paralelepípedos, pirâmides e esferas. [2] Poliedros são sólidos geométricos limitado por polígonos que possuem, dois a dois, um lado comum, onde seus elementos básicos são face, arestas, vértices e diagonais [4]. atividades educacionais a distância, a fim de melhorar a qualidade de ensino eliminando distancias físicas e promovendo a construção do conhecimento de forma interativa, com auxilio da Realidade Virtual. Keller [7], em seu trabalho de conclusão de curso “O Uso da Realidade Virtual no Ensino Presencial e à Distância” desenvolveu o Projeto GEO-3D, que tem como objetivo principal acrescentar os recursos da Realidade Virtual como: visualização em 3D, interação e envolvimento do usuário na Educação, observe a figura 2 abaixo. 1.3. Mapas conceituais Os mapas conceituais oferecem aos estudantes uma visão entre as partes e o todo conceitual, sua proposta de trabalho fundamenta-se na Psicologia Cognitiva de Ausubel [17], [18], [19], que estabelece que a aprendizagem ocorre por assimilação de novos conceitos e proposições na estrutura cognitiva do aluno. Novas idéias e informações são aprendidas, à medida que existam pontos de ancoragem. 2. TRABALHOS REALCIONADOS Existem alguns trabalhos que mostram a Realidade Virtual mais presente no processo de ensino/aprendizagem não só de Geometria Espacial mas também em outras áreas do saber. No caso específico deste estudo de caso existem alguns trabalhos usando a realidade virtual voltado para o ensino, mas poucos utilizam em formato de aula. Mendes [5], em seu artigo “Um Protótipo de Ensino Virtual Orientado por Modelo Psico-Pedagógico”, descreve um protótipo de software criado por meio da Realidade Virtual para o ensino de física cujo conteúdo seria a Mecânica Clássica, utilizando as linguagens VRML, HTML, Java Script, sendo desenvolvido com os princípios construtivistas do ensino/aprendizagem, observe a figura 1 abaixo. FIG.1 – PROTÓTIPO DE MENDES Silva [6], em sua dissertação apresentada um trabalho denominado “Educação a distância em ambientes de aprendizagem matemática auxiliada pela realidade virtual”, onde relata que a internet e suas ferramentas possibilita FIG.2 – PROTÓTIPO DE KELLER Pacheco[8], em seu trabalho de conclusão de curso “O uso da Realidade Virtual no processo de ensino/aprendizagem” desenvolveu um aplicativo de ensino na área da geometria focado para o estudo das pirâmides, no qual o usuário pode visualizar a pirâmide em 3d, movimentá-la, abri-la, visualizar suas linhas e interagir com a mesma. Outros artigos [9, 10, 11, 12, 13, 14, 15, 16] demonstram também o poder da utilização de técnicas de Realidade Virtual como meio motivador na melhoria do processo do ensino/aprendizagem. Na maioria dos trabalhos, RV é utilizada para propiciar uma simulação de condições em muitas vezes apenas imaginada em outras vezes representada, resultando no envolvimento maior tanto docente como discente. Analisando esses sistemas, concluise que cada um deles apresenta características peculiares quanto ao grau de interação do usuário. 3. DESENVOLVIMENTO METODOLÓGICO Em primeira instância foi realizado um levantamento bibliográfico dos mapas conceituais e das teorias de aprendizagens, entendendo mais a fundo os processos envolvidos no meio pedagógico. E ainda, verificando-se quais as vertentes de pesquisa sobre o assunto no Brasil e no mundo. Posteriormente foi realizada a modelagem dos objetos e a implementação do protótipo, que são tratados a seguir. O universo deste trabalho é o ensino da geometria espacial, desta forma a população a qual se destina o protótipo trata-se especificamente de alunos do 2º grau. 3.1. Modelagem Todo o protótipo foi modelado no VRML (Virtual Reality Modeling Language) por tratar de objetos geométricos e não precisar de detalhes precisos. Tendo em vista também que dessa forma o protótipo fica mais “leve” para carregar já que o aplicativo será disponibilizado também via WEB. Fez-se necessário a elaboração de mapas conceituais da geometria para que tornasse mais fácil e educacional para o aluno a integração com o software já que com isso o mesmo poderia ir “adentrando” pela disciplina até chegar no assunto desejado, podendo escolher um assunto independente do outro, observe a figura 3 abaixo, demonstrando o mapa conceitual da geometria. FIG.3 – MAPA CONCEITUAL GEOMETRIA disponibilização na Internet, pois gera códigos muitos pequenos, sem contar com o tamanho do arquivo que muitas vezes é bem pequeno podendo ser acessado facilmente por qualquer máquina com qualquer velocidade de conexão. A utilização do JavaScript se fez necessária já que o aplicativo precisa de intervenção do usuário e uma grande interação. Uma página Web foi desenvolvida para que todo esse aplicativo possa rodar sem nenhum problema e também para que possa ser disponibilizada a parte teórica sobre cada objeto já que se trata de um modelo de aula. 4. FUNCIONAMENTO DO SISTEMA O software consiste em uma página HTML (HyperText Markup Language), que pode ser visualizada por meio de um BROWSER de internet. A página inicial contém um breve texto sobre o propósito do Ambiente Virtual que é acessado, assim como todas as instruções para o usuário fazer a instalação do plugin Cortona (necessário para trabalhar com o ambiente) e um link para download do mesmo já que este é gratuito assim como o VRML. A página é contém também a história da Geometria, perfazendo a linha do tempo até chegar na Geometria Espacial que é o nosso objeto de estudo. Possui também uma parte onde o usuário é instruído para a manipulação do protótipo e um link para contato. Dentro do Ambiente Virtual o aluno visualizará o Mapa Conceitual da Geometria, o qual levará o aluno até o objeto desejado utilizando apenas o mouse. O mesmo poderá navegar pelo objeto escolhido por meio das setas do teclado (⇐,⇑, ⇓, ⇒), e interagir com o mesmo por meio de um simples clique do mouse em cima do objeto que quer visualizar. Pode-se trocar de objeto apenas clicando no link voltar, o que leva o usuário novamente para o Mapa Conceitual. Após a escolha do objeto aparecerá na página, ao lado do ambiente, informações sobre o objeto virtual visualizado, tais como: sua história, definições e fórmulas. Assim, observe a figura 3 abaixo, onde é demonstrado parte do software, já implementado em HTML. 3.2 Implementação O software foi implementado em RV, utilizando como ferramenta de apoio o FluxStudio que foi utilizado para dar movimento aos objetos sem precisar trabalhar tanto com códigos, ou seja, de uma forma mais fácil e mais rápida. Usando o recurso que o próprio VRML oferece, pode-se tratar a questão das transparências, linhas, ângulos arestas, movimentação dos cortes no objeto e toda a interação. Arquivos que simulam ambientes tridimensionais em VRML são, na verdade, uma descrição textual na forma de textos ASCII, que são interpretados por um plug-in VRML e visualizados diretamente no navegador de internet [8]. Por ser interpretado o código VRML, tem algumas vantagens em relação a outras linguagens e bibliotecas. Funcionar independente da plataforma e do navegador utilizado é uma imensa vantagem, dependendo apenas da instalação do plug-in adequado, a facilidade de sua 5. RESULTADOS OBTIDOS O software foi aplicado a um grupo de alunos do Ensino Médio, essa aplicação foi acompanhada dos professores da disciplina. Observando-se a priori uma melhora na visualização dos objetos geométricos, assim como um interesse maior por parte dos alunos, já que a aula tornou-se mais interativa prendendo de forma mais fácil a atenção dos mesmos de acordo com os professores. Foi relatado também, por parte dos professores, uma maior assimilação do conteúdo, devido ao fato de os alunos estarem visualizando cada parte do objeto separadamente, suas linhas, vértice e ângulos e qual a ligação entre eles. Pelo formato da página ser modelo de aula ajudou bastante os alunos na hora de estudar a disciplina, já que ao mesmo tempo em que se manipula o objeto a página proporciona informações sobre ele, o que faz com que o aluno associe as informações descritas com o objeto. 6. CONCLUSÃO Os resultados obtidos demonstraram que a Realidade Virtual pode facilitar consideravelmente o processo de abstração da geometria por parte dos alunos trabalhando assim o processo ensino/aprendizagem de forma mais eficaz e eficiente. 7. TRABALHOS FUTUROS Fazer novos objetos ligados a outros ramos da Geometria como a Geometria Plana, Analítica e Não-Euclidiana, são projetos futuros para esse software. Formar uma espécie de Livro Virtual é também uma das intenções futuras, já que outros trabalhos estão sendo desenvolvidos em RV voltados para a educação nas áreas de Astronomia, História, Psicologia e Pedagogia, onde no futuro poderemos possuir uma grande ferramenta no auxilio ao processo de ensino/aprendizagem. Fazer a distribuição e implementação desse software entre as escolas públicas da cidade de Itumbiara é também uma idéia futura para a auxiliar os alunos de escolas mais carentes com idéias inovadoras de baixo custo operacional e computacional no processo de ensino aprendizado e na sua formação profissional. REFERÊNCIAS BIBLIOGRÁFICAS [1] GIOVANI, José Ruy, Matemática fundamental: uma nova abordagem: ensino médio: volume único / José Ruy Giovani, José Roberto Bonjorno, José Ruy Giovani Jr. 712p. São Paulo: FTD, 2002. [2] DELTA UNIVERSAL – 1982 – Editora Delta S.A. – Rio de Janeiro – pg. 3.683 [3] CARDOSO, Alexandre; LAMOUNIER JR, Edgard. Realidade Virtual – Uma Abordagem Prática. Minicursos – VII Sumposium on Virtual Reality – São Paulo, 2004. [4] SILVA, Jorge Daniel. Matemática para o ensino médio: volume único: livro do professor. / Jorge Daniel Silva, Valter dos Santos Fernandes, Orlando Donisete Mabelini. 622p. São Paulo: IBEP, 2005. [5] MENDES, Elisa B. Um protótipo de ensino virtual orientado por modelo psico-pedagógico. / Elisa B. Mendes, Alexandre Cardoso, Luciano Ferreira Silva, Florianópolis, Artigo, CONAHPA, 2004 [6] SILVA, Roberto Wagner Andrade da Silva. Educação a Distância em Ambientes de Aprendizagem Matemática Auxiliada pela Realidade Virtual. Florianópolis, 2001, 123p. Dissertação (mestrado em Engenharia de Produção) Programa de Pós –Graduação em Engenharia de Produção, UFSC, 2001. [7] KELLER, Rodrigo. O uso da realidade virtual no ensino presencial e a distancia. Santa Cruz do Sul, Trabalho de Conclusão de curso (Ciência da Computação), UNISC,1999. [8] PACHECO, Jorge Domingos de Andrade. O uso da realidade virtual no processo de ensino-aprendizagem. 2005. 79f. TCC. Sistemas de Informação. Instituto Luterano de Ensino Superior de Itumbiara. 2005. [9] CARDOSO, Alexandre; LAMOUNIER JR, Edgard, TORI, Romero. Interactive 3D Physics Experiments Through the Internet. In: 4th Symposium on Virtual Reality, 2001, Florianópolis, SC. Anais 4th SBC Symposium on Virtual Reality - Florianópolis: UFSC, SBC, 2001, pp. 280-290. [10] CARDOSO, Alexandre. Realidade Virtual. Disponível em: <http://www.compgraf.ufu.br/alexandre/rv.htm>. Acesso em: 13, mai. 2007, 10:20. [11] KIRNER, Cláudio. Sistemas de Realidade Virtual. Grupo de Pesquisa em Realidade Virtual, Departamento de Computação – UFSCar. 1997. Disponível em: <http://www.dc.ufscar.br/~grv/>. Acesso em: 2 de julho 2007. [12] PASQUALOTTI, Adriano et al. Ambientes VRML para o Ensino-Aprendizagem de Matemática: Modelo Conceitual e Protótipo. In: 3th Workshop on Virtual Reality, 2000, Gramado, RS. Anais 3th SBC Workshop on Virtual Reality: Gramado, SBC, 2000, pp. 65-76. [13] RIBEIRO, Marcos Wagner de Souza. Uma arquitetura para ambientes virtuais distribuídos. 2005. 105f. Tese (Doutorado em Ciências) Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia, 2005. [14] SALGADO, Rob. VRML Gallery of Electromagnetism. Disponível em: <http://physics.syr.edu/courses/vrml/ electromagnetism/sphere.wrl>. Acesso em 15 de junho 2007 [15] CARDOSO, Alexandre; LAMOUNIER JR, Edgard, TORI, Romero. Interactive 3D Physics Experiments Through the Internet. In: 4th Symposium on Virtual Reality, 2001, Florianópolis, SC. Anais 4th SBC Symposium on Virtual Reality - Florianópolis: UFSC, SBC, 2001, pp. 280-290. [16] PRADO, Gilberto, et. al. Virtual Reality Modeling Language. Disponível em: <http://ftp.unicamp.br/pub/apoio/treinamentos/vrml/>. Acesso em: 07, jun. 2007, 13:52. [17] Saotome, O. Cunha, A. Um Sistema Hipermídia Adaptativo para o Ensino de Engenharia Baseado em Mapas Conceituais. In: COBENGE 2003, São José dos Campos, SP. Anais. São José dos Campos: ITA, 2003. [18] Pelizzari, A; Kriegl, M; Baron, M. Teoria da Aprendizagem Significativa Segundo AUSEBEL. PUC / PR, jul. 2002. [19] Konrath, M. L. P; Tarouco, L. M. R. Mapas Conceituais. INTERNET: Universidade Federal do Rio Grande do Sul, Projeto LUAR, [1997]. Disponível em <http://penta2.ufrgs.br/edutools/mapasconceituais/>. Acesso em: 1, out. 2007, 22:52. ANÁLISE DE UM AMBIENTE VIRTUAL NÃO IMERSIVO PARA AUXILIO NO TRATAMENTO DA FOBIA DE FALAR EM PÚBLICO Orley Silva Soares1 e Roger Amandio Luz1 1 – Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara Av. Beira Rio, 1001 – Bairro Nova Aurora CEP 75523-230, Itumbiara-GO Brasil [email protected] e [email protected] Resumo – O objetivo deste trabalho é apresentar um ambiente virtual onde poderão ser feitas simulações com pessoas que temem a explanação em público. As simulações com o ambiente objetivam auxiliar no processo que envolve a superação do medo de falar em publico. Palavras-Chave – Fobia, Realidade Virtual, Tratamento. Abstract – The objective of this work is to present a virtual environment where simulations with people could be made who fear the communication in public. The simulations with the environment objectify to assist in the process that involves the overcoming of the fear of speaking in publishes. Keywords – Phobia, Virtual Reality, Treatment 1. INTRODUÇÃO O aparecimento de transtornos de ansiedade, relacionados a fobias, está cada vez mais presente em nossa sociedade. Pessoas que temem relacionar-se com outras ou algo em particular, vêem suas vidas sendo prejudicadas e cada vez mais limitadas, principalmente no âmbito social. Tais limitações impedem-nas ter uma vida normal, acarretando prejuízos irreparáveis ao longo da vida dessas pessoas [1]. Os tratamentos convencionais existentes possuem algumas desvantagens que podem se tornar obstáculos para as pessoas fóbicas, tais como, custos altos oriundos de deslocamentos para locais distantes e riscos de ocorrência de uma crise de ansiedade em público, entre outros [2]. A Tecnologia de Realidade Virtual (RV) vem experimentando um crescimento acelerado nos últimos tempos, possuindo aplicabilidade na maioria das áreas do conhecimento, entre elas a clinica. O campo da Realidade Virtual Clínica (RVC) é considerado um dos mais promissores das novas aplicações de RV. Possui mercado potencial, tecnologia que pode ser implementada sem a necessidade de sistemas complexos e encontra grande aceitação por parte dos médicos terapeutas, sendo uma das áreas mais bem sucedidas em termos de utilização [3]. Existem diversos projetos sendo desenvolvidos paralelamente com o crescimento da tecnologia de RV, que exploram toda sua potencialidade aplicando-a aos procedimentos de superação de transtornos de ansiedade diversos. Os resultados obtidos nesses projetos confirmam a grande capacidade dessa tecnologia em criar ambientes que simulam aspectos realistas do mundo real, num ambiente tridimensional, facilitando a exposição por parte de pessoas acometidas por algum tipo de transtorno fóbico. Neste contexto, o presente estudo tem como objetivo propor o uso de um ambiente virtual não imersivo para auxiliar no processo de superação do medo de falar em público, caracterizado como fobia social. O ambiente proposto consiste na representação de uma platéia, onde poderão ser feitas simulações de situações reais, com pessoas que temem a explanação em público. Depois de efetivado, o trabalho proporcionará embasamento para eventuais trabalhos futuros, que queiram dar mais uma importante contribuição para o problema envolvido. 1.1. Realidade Virtual A Realidade Virtual é uma tecnologia que permite interagir ou explorar um ambiente tridimensional através do computador [4]. Com o uso de dispositivos não convencionais que estimulem mais de um órgão sensorial (visão, tato, audição, etc.), RV permite aos usuários realizar uma interação natural e intuitiva com o ambiente virtual e seus componentes. A percepção da realidade em RV é uma facilidade usada em vários campos e oferece diversas aplicações profissionais como: arquitetura, medicina, geografia, recreação, etc. A tecnologia de Realidade Virtual vem se destacando nos últimos anos por sua versatilidade de exploração em diferentes domínios do conhecimento [5]. Esta evolução deve-se ao fato do desenvolvimento de novos equipamentos aliados a novas ferramentas e linguagens de programação, que apóiam a criação de ambientes virtuais. Esta tecnologia engloba um novo conceito do uso do computador, já que é possível ao usuário interagir com objetos 3D, gerando sensações mais próximas da realidade, através da utilização de dispositivos específicos, que captam os movimentos dos braços, pernas, cabeça (face e olhos) e apresentam as cenas em visores ou óculos 3D. A Realidade Virtual pode simular objetos de forma que sejam idênticos com os do mundo real, para tanto é preciso que esses objetos criados se pareçam com os do mundo real, com aparência, comportamento, texturas e tamanhos iguais, estas características são desejadas sempre que se deseja criar um ambiente virtual [6]. A modelagem geométrica de cada objeto é bastante importante para o desenvolvimento do ambiente virtual, cada alteração feita proporciona uma visualização diferente para o ambiente. A criação destes ambientes virtuais está bastante ligada com realismo visual e interação. Assim, assuntos como, modelagem gráfica, e interações homem-máquina constituem uma parte fundamental na elaboração de ambientes virtuais. 1.2. OpenGL OpenGL é uma biblioteca de rotinas gráficas e de modelagem, 2D e 3D, extremamente portável e rápida. OpenGL não é uma linguagem de programação, é sim uma poderosa e sofisticada API (Application Programming Interface) para criação de gráficos 3D, onde seu funcionamento é semelhante ao de uma biblioteca de funções, uma vez que fornece uma série de funcionalidades. Normalmente se diz que um programa é baseado em OpenGL ou é uma aplicação OpenGL, o que significa que ele é escrito em alguma linguagem de programação que faz chamadas a uma ou mais bibliotecas OpenGL [7]. 2. TRABALHOS RELACIONADOS A seguir são apresentados trabalhos que exploraram o uso da Realidade Virtual, aplicando-a aos procedimentos tradicionais de superação de diversos tipos de fobias. VESUP: O Uso de Ambientes Virtuais no Tratamento de Fobias Urbanas – Neste trabalho é apresentado um sistema de Realidade Virtual, cujo objetivo é o apoio ao tratamento de fobias urbanas. O sistema é composto de três ambientes virtuais, que simulam situações comuns de grandes centros urbanos, tendo como meta o apoio ao diagnostico e ao tratamento de fobias associadas à vida nestes grandes centros, de acordo com que descrevem os autores [2]. Sistema de Realidade Virtual para Tratamento de Fobias - é abordado o uso de ambientes virtuais para o tratamento de fobias. Nele, o autor propõe um sistema de Realidade Virtual envolvendo o uso de vários ambientes virtuais para o tratamento de diferentes tipos de fobias. Em um dos ambientes foi modelado um túnel e tinha como objetivo ajudar as pessoas que possuíam fobia de túnel e também fobia de dirigir nesse tipo de lugar [8]. Avaliação de Técnicas de Interação em Ambientes Imersivos: Uma Proposta de Aplicação no Tratamento de Fobia de Altura - Este trabalho, apresenta uma proposta de aplicação no tratamento de Fobia de Altura (acrofobia). O objetivo do trabalho era avaliar técnicas de interação que seriam empregadas num ambiente virtual criado especialmente para auxiliar no tratamento de fobia de altura. Uma das técnicas consistia em acionar os botões de um painel de elevador. O painel do elevador continha um botão para cada andar do prédio, similar ao que se presencia no mundo real, com a pessoa pressionando um botão e o elevador subindo ao andar desejado [9]. Interface para Criação de Rota Automotiva Virtual no Tratamento de Fobia de Dirigir – É apresentado um sistema, intitulado PsicoDireção, que se baseia nas técnicas de Realidade Virtual para apoiar as pessoas que temem a direção nos grandes centros urbanos. O objetivo era desenvolver uma interface flexível, que oferecesse aos usuários opções configuráveis de rotas virtuais e que melhor se adequassem a cada perfil. A usabilidade e simplicidade da interface deste sistema, na criação das rotas, foi avaliados por um grupo de psicólogos que responderam não encontrar dificuldades na utilização das funcionalidades da interface desse sistema [10]. Como visto nos trabalhos relacionados, pode-se destacar o potencial uso dos ambientes virtuais no auxilio a superação de transtornos de ansiedade diversos. Esses ambientes simulam muitos aspectos (imagens, sons) da realidade e com que o fóbico acostuma-se a deparar em seu cotidiano, sendo, portanto, uma ferramenta útil e de grande aplicabilidade para apoio ao tratamento de fobias. 3. MÉTODOS DE APLICAÇÃO A metodologia utilizada para desenvolvimento deste projeto foi inicialmente baseada no levantamento de dados relacionados ao estudo de caso. Estudos e trabalhos correlacionados deixam claro o quanto é relevante o objeto estudado. 3.1. Estudo de Caso Atualmente, existe uma grande dificuldade das pessoas em se apresentarem às demais, tornando-as incapazes de ter um ciclo social normal. Isso traz muitas conseqüências negativas pelo resto da vida dessas pessoas, visto que o problema não se cessa com o tempo, ao contrário, tende a se agravar. Muitas vezes, pessoas que se encaixam neste contexto não procuram superar o medo que sentem, tornando escravas de diversas circunstancias. Por exemplo, perdem uma promoção no emprego ou a chance de se graduarem, porquanto não encontram coragem para apresentar seus projetos finais. Em relação à graduação, observa-se o medo encontrado pelos estudantes para apresentarem diante de um público, mesmo que ainda seleto, seus trabalhos de conclusão de curso. Tal dificuldade inspira o desenvolvimento de novas metodologias para auxilio, sendo um campo amplo a ser explorado. Tratamentos terapêuticos para diversos tipos de transtornos (incluído aqui o medo de falar em público) existem. Entretanto, os tratamentos convencionais não se encontram unânimes quanto a sua eficácia, pelo menos apresentam algumas dificuldades, encontrados em alguma parte do tratamento. Por isso, em muitos casos, há indivíduos que não procuram superar o medo que sentem, devido a tais dificuldades. A RV pode ser aplicada em diversos contextos, entre eles, na fobia de falar em público. Cria-se um ambiente virtual onde se pode visualizar objetos representativos do mundo real e que eliciam o medo das pessoas. De fato, estes ambientes podem funcionar como facilitadores, expondo as pessoas a menos constrangimentos. 3.2 Aplicação Fig. 1. Visão da platéia. O protótipo ao ser aplicado visa auxiliar no tratamento da fobia de falar em público, podendo ser utilizados por terapeutas, bem como por estudantes que tenham medo de se apresentarem em público e tenham que fazê-lo para obterem, por exemplo, um diploma de graduação. Pensando nisso, pretende-se submeter esses estudantes a um ambiente simulado criado com a tecnologia de RV. Os mesmos poderão fazer explanações que envolvam, por exemplo, o projeto final a qual defendem na graduação, preparando-os para futuras apresentações destes projetos. Enquanto apresentam, o operador (terapeuta) tem o controle do sistema, podendo manipulá-lo a seu modo. Dentre essas manipulações está a inserção de sons (aplausos, vais, risadas, vozes etc.) no ambiente que permite provocar ainda mais o medo desses estudantes, como de fato se vivencia numa platéia real. Outra questão ligada à manipulação é a referente aos diversos modos de visualização que se pode ter com o sistema. O mesmo permite que se tenham diversos ângulos de observações, abrangendo diferentes pontos de vista do ambiente. Para tanto, utiliza-se uma barra de navegação ilustrada no tópico a seguir. Com o uso do sistema, tem-se a possibilidade de maior flexibilidade, permitindo reprogramar, parar ou até mesmo repetir aspectos com que o fóbico se assusta com facilidade. Os humanóides dão um aspecto mais realista ao ambiente, passando a impressão de avaliação e, além disso, dá ao individuo fóbico a sensação de estar no meio de uma situação muito constrangedora, conforme pode ser visto na Fig. 1. As cadeiras também são organizadas de modo a enaltecer mais ainda a visualização no ambiente, dando a clara impressão de realmente se tratar de uma platéia. Entende-se que a pessoa com medo de falar em publico, ao se deparar com o ambiente virtual, poderá não só visualizar os principais objetos causadores do seu medo, mas também, após diversas exposições, adquirir meios para tentar superar o medo que sentem, sem constrangimentos. 4. IMPLEMENTAÇÃO DO SISTEMA. 5.1. Resultados Esperados No protótipo são encontrados objetos que foram modelados por meio do software 3D Studio Max. O ambiente virtual é criado por meio do uso da biblioteca gráfica OpenGL, lendo a geometria do arquivo do 3D Studio Max na extensão 3DS. Para facilitar a modelagem dos diversos objetos, foram aplicadas texturas aos mesmos, criando o realismo necessário. Espera-se que com o uso do ambiente virtual possa haver uma facilitação no processo que envolve a superação do medo de falar em publico, quebrando num primeiro momento a resistência que impedem as pessoas de se apresentarem a uma platéia. No sistema, como visto anteriormente, encontram-se objetos que eliciam o medo, tais como, cadeiras, humanóides, cortinas, além dos sons de vozes no ambiente. Tais objetos são importantes, pois, além de invocadores do medo, possibilitam uma representação mais clara do ambiente. Fig. 2. Barra de navegação. Apesar de não ser uma tendência na área de Realidade Virtual, principalmente RV imersiva que usa em interações, dispositivos multi-sensoriais, foi criada neste trabalho uma barra de navegação (Fig. 2). Essa barra possibilita diferentes modos de visualização do ambiente. 5. RESULTADOS ESPERADOS E CONCLUSÕES 5.2. Conclusões Constata-se que a Realidade Virtual pode ser de grande importância em diversas áreas do conhecimento, simulando aspectos reais num ambiente virtual. E quanto ao protótipo, pode ser de grande ajuda para as pessoas que temam a exposição em público, bem como para os terapeutas que vierem a utilizá-lo. REFERÊNCIAS BIBLIOGRÁFICAS [1] BALLONE, G. J. Medos, Fobias & outros bichos. in. PsiqWeb, Psiquiatria Geral, 2001. Disponível em: <http://gballone.sites.uol.com.br/voce/medos.html>. Acesso em 06 Apr. 2007. [2] WAUKE, A. P. T; COSTA, R. M. E. M; CARVALHO, L. A. V. VESUP: O Uso de Ambientes Virtuais no Tratamento de Fobias Urbanas. In: IX Congresso Brasileiro de Informática em Saúde, 2004, Ribeirão Preto. Anais do IX Congresso Brasileiro de Informática em Saúde, 2004. [3] BORALLI, J. A; KATAYAMA, G; GARCIA, F. L. S; SIMÕES, E. V; NETTO, A. V. Sistema Integrado com Biofeedback e Ambientes Virtuais para Tratamento de Fobias. In: VI Symposium on Virtual Reality, 2003, Ribeirão Preto. [4] GABCAN, L; SANTOS, C. L. N; OLIVEIRA, M. J. F; CUNHA, G. G; LANDAU, L. “Utilização de Técnicas de Realidade Virtual na Visualização de Simulação de Atendimento em Hospital”. Disponível em: http://scholar.google.com.br/url?sa=U&q=http://www.lam ce.ufrj.br/grva/wrv2002/index.php%3Fgo%3Darti gos/wrv2002_A212.pdf. Acesso em junho 2007. [5] ALVES, D; CABRAL, T. D; COSTA, R. M. E. M. “Ambientes Virtuais para Educação a Distância: uma estrutura de classificação e análise de casos”. Disponível em: http://scholar.google.com.br/url?sa=U&q=http://magnum.i me.uerj.br/cadernos/cadinf/vol14/4-rcosta.pdf. Acesso em 10 de junho 2007. [6] RIBEIRO, M. W. S. “Arquitetura para distribuição de ambientes virtuais multidisciplinares”. Tese de doutorado. Universidade Federal de Uberlândia – Faculdade de Engenharia Elétrica. Janeiro. 2006. [7] WOO, M. et al. “OpenGL Programming Guide: the official guide to learning OpenGL”. 3.ed. Reading, Massachusetts: Addison Wesley, 1999. 730 p. [8] MEDEIROS, G. A. Sistema de Realidade virtual para tratamento de fobias. Dissertação de Mestrado, Engenharia de Sistemas e Computação, COPPE / UFRJ, Rio de Janeiro, 2006. 141p. [9] JACOB, L. J; NEDEL, L. P; FREITAS, C. M. D. S. Avaliação de Técnicas de Interação em Ambientes Imersivos: Uma Proposta de Aplicação no Tratamento de Fobia de Altura. Instituto de Informática, Universidade Federal do Rio Grande do Sul - UFRGS, RS, Brasil, 2001. [10] PAIVA, J. G. S; CARDOSO, A; LAMOUNIER JÚNIOR, E. A. Interface for Virtual Automotive Route Creation in Driving Phobia Treatment. In: VIII Symposium on Virtual Reality, 2006, Belém, PA. SISTEMA DE AMBIENTES VIRTUAIS PARA ESTUDO DE USINAS HIDRELÉTRICAS Afonso B. Almeida Jr., Edgard Lamounier, Alexandre Cardoso Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia. e-mail: [email protected], [email protected], [email protected] Resumo - O presente artigo apresenta um sistema, compatível com a WEB e suportado por técnicas de Realidade Virtual, que possibilite ao usuário a compreensão do funcionamento de uma usina hidrelétrica e que se aplica ao ensino de tópicos de Engenharia Elétrica. Palavras-Chave – Realidade Virtual, Software educativo. Abstract - This article has a proposal to develop a system a virtual atmosphere that it qualifies the user to understand how a hydroelectric plant works, compatible with the WEB. 1 Keywords - Virtual reality, Educational software. 1. INTRODUÇÃO Atualmente, dentre as diversas possibilidades de utilização da computação gráfica, a concepção de mundos virtuais utilizando técnicas de Realidade Virtual tem recebido merecido destaque. Tais técnicas possuem aplicações nos mais diferentes segmentos, a saber: processos industriais, psicologia, treinamento, educação, desenvolvimento de projetos, entre outros. Neste contexto, este trabalho visa desenvolver e avaliar a adequação do uso de técnicas de Realidade Virtual para desenvolver a aplicação posterior no ensino de Engenharia Elétrica e assuntos afins. A disciplina de linhas aéreas de transmissão, a qual é ministrada nos cursos de Engenharia Elétrica, por exemplo, requer tanto do aluno quanto do professor, grande capacidade de visualização de detalhes. Isso se deve ao fato de que é extremamente importante observar como as peças são engastadas, como os isoladores são dispostos e como ocorrem as variações destas estruturas sob diversas condições elétricas e físicas. Tradicionalmente o estudo da transmissão de energia elétrica tem como recurso didático básico, a utilização de fotos. Apesar de interessante, estes materiais são pobres em detalhes, limitam os alunos e muitas vezes não permitem que se faça idéia de como é a estrutura real. Um estudo do professor David Ainge, da Escola de Educação da James Cook University, na Austrália, consistiu em algumas experiências que comparavam a utilização de fotos e da realidade virtual no ensino. Como resultado, concluiu que os alunos tiveram certa dificuldade de construir um modelo mental tridimensional a partir de imagens bidimensionais. Assim o desenvolvimento de uma aplicação de realidade virtual, funciona como auxílio, visando utilizá-la no ensino na área de engenharia [1]. A usina hidrelétrica é um exemplo da dificuldade de compreensão do seu funcionamento. Muitos alunos somente conhecem por vídeos ou fotos, mas não compreendem como funcionam internamente. Os conjuntos de ambientes virtuais sanam esse problema uma vez que se podem visualizar as estruturas da usina em funcionamento, sendo algumas observações somente possíveis graças à Realidade Virtual. A proposta deste trabalho é apresentar um software em desenvolvimento, que, com técnicas de RV permite a interpretação e a visualização do funcionamento de uma usina hidrelétrica. Tal sistema é composto por Ambientes Virtuais similares aos ambientes reais da usina, com a possibilidade de, interativamente, visualizar os componentes da mesma. Uma usina hidrelétrica pode ser definida como um conjunto de obras cuja finalidade é a geração de energia elétrica, através de aproveitamento do potencial hidráulico existente em um rio. Esse potencial é proporcionado pela vazão hidráulica e pela concentração dos desníveis existentes ao longo do curso de um rio [2]. A água captada no lago formado pela barragem é conduzida até a casa de força através de canais, túneis e/ou condutos metálicos. Após passar pela turbina hidráulica, na casa de força, a água é restituída ao leito natural do rio, através do canal de fuga. Dessa forma, a potência hidráulica é transformada em potência mecânica quando a água passa pela turbina, fazendo com que esta gire, e, no gerador - que também gira acoplado mecanicamente à turbina - a potência mecânica é transformada em potência elétrica [3]. A energia assim gerada é levada através de cabos ou barras condutoras dos terminais do gerador até o transformador elevador, onde tem sua tensão (voltagem) elevada para adequada condução, através de linhas de transmissão, até os centros de consumo. Daí, através de transformadores abaixadores, a energia tem sua tensão levada a níveis adequados para utilização pelos consumidores [2,4]. O desafio consiste em visualizar as estruturas da usina em funcionamento, sendo algumas visualizações somente possíveis graças à RV. Este trabalho aprimora os métodos de ensino e aprendizagem relacionando-os ao desenvolvimento de ambientes virtuais mais interativos focados ao funcionamento de uma usina inteira. A motivação deste trabalho é prover ao usuário o aprendizado de técnicas que expliquem o funcionamento de uma usina e de todos seus componentes dando ao mesmo a oportunidade de ter um contato maior com tais sistemas de geração de energia. 2.OBJETIVOS São objetivos deste trabalho: ● Desenvolver um conjunto de ambientes virtuais equivalente aos ambientes reais encontrados nas etapas de geração de energia elétrica em uma hidrelétrica, bem como seus componentes de forma detalhada. ● Por meio de interação com estes ambientes virtuais, prover ao usuário a possibilidade de observar com precisão o funcionamento de estruturas da usina, inclusive aquelas cuja visualização é impossível no ambiente real. ● Verificar a aplicação de tal conteúdo como ferramenta educacional através da utilização deste por alunos e professores da área de Engenharia. Se comparada aos métodos tradicionais, a aplicação de realidade virtual acarreta um aumento considerável na motivação dos alunos, conforme comprovado por outras aplicações bem sucedidas. Byrne desenvolveu, em seu trabalho, aplicativos baseados em Realidade Virtual para análise de experiências de química (relacionadas com visualização e manuseio de moléculas) [5]. Em suas avaliações, observou que a motivação proporcionada pela interatividade do ambiente, promoveu nos estudantes uma retenção maior de informações. Nestes casos, o aprendiz deixa de ser apenas um ouvinte e passa a integrar o ambiente, de tal forma que ele pode interagir com esse mundo, obtendo respostas para cada ação sua dentro do ambiente. 3.DESENVOLVIMENTO O processo de desenvolvimento dos ambientes virtuais se deu por: 1. Verificação das plantas e detalhes reais dos componentes das usinas hidrelétricas e das subestações; 2. Modelagem geométrica de tais componentes, com uso de VRML; 3. Modelagem comportamental dos componentes, baseados também em análises reais; 4. União dos ambientes virtuais com imagens reais das usinas e construção de páginas Web capazes de associar estes a tais imagens. Para a realização deste projeto foram utilizadas técnicas de realidade virtual. Estas consistem basicamente na construção de interfaces homem-máquina de tal forma que os usuários possam visualizar o cenário, navegar e interagir com ele. Ao ser inserido dentro deste ambiente, mesmo na frente de um computador, o usuário tem a sensação de estar em um ambiente muito próximo do real, obtendo respostas para cada ação sua dentro do mundo virtual. Para a implementação destas técnicas de realidade virtual, utilizou-se o software VRMLpad que utiliza a linguagem VRML (Virtual Reality Modeling Language), que tem sido aplicada com bastante sucesso em diversos projetos de concepção de mundos virtuais [6]. O surgimento da linguagem está interligada à colaboração de diversas empresas e pesquisadores, que tinham o propósito de desenvolver uma infra-estrutura para aplicações gráficas tridimensionais interativas, e que proporcionassem uma capacidade de criação de uma gama variada de aplicações. Aprimorada, hoje a linguagem VRML é capaz de tudo isso, permitindo ainda, definições de comportamentos (com mais interação e animação) dos componentes tridimensionais. Os arquivos que simulam os mundos tridimensionais utilizando linguagem VRML não requerem compiladores específicos para a sua geração. Assim, por meio de qualquer editor de textos, o desenvolvedor pode conceber tais arquivos, bastando salvá-los com a extensão “wrl”. Estes arquivos definem quais formas geométricas estarão presentes no ambiente e em quais posições, quais as cores, as associações e os movimentos. Enfim, definem todos os aspectos necessários para a composição dos ambientes. A construção do código está relacionada com a concepção de formas. Estas nada mais são do que associações entre elementos tridimensionais geométricos prédefinidos, tais como cones, cilindros, esferas e paralelepípedos. Cada forma pré-definida possui atributos variáveis que controlam tamanho, cor, posição e ângulos. Nestas formas também é possível inserir texturas, de tal maneira que uma caixa possa ser “coberta” por uma foto. Pode-se ainda modificar os fundos, através de funções específicas que permitem simular ambientes diferenciados que se assemelham às condições climáticas, que variam de um lindo dia de sol, um dia nublado ou com muita neblina, dentre outros. É possível também controlar a aparência de elementos do cenário, bem como a inserção de diferentes formas de fontes de luz. Alguns recursos extras permitem inserir sons ou vídeos ao ambiente virtual. Em geral, a própria linguagem VRML possui alguns tipos pré-definidos de animações. No entanto, para animações mais complexas, ela possui compatibilidade com scripts elaborados em Java ou JavaScript, que podem ser inseridos em qualquer mundo virtual. A visualização destes ambientes tridimensionais, por sua vez, pode ser feita por meio de um simples navegador de Internet associado a um plug-in, que interpretará o código criando as estruturas definidas. A Figura 1 representa a arquitetura desse sistema. Fig. 1. Arquitetura do sistema utilizando VRML. Como exemplo, a Figura 2 apresenta a turbina e a sala de controle, e a Figura 3 traz a subestação, de uma unidade geradora de Energia Elétrica. Fig. 5. Tela inicial e observador selecionando local para visualização. Fig. 2. Turbina e Sala de controle. Existem indicações (setas) que são direcionadas para regiões da figura onde se encontram as estruturas modeladas (Figura 4) e ao selecionar a região indicada, a mesma, oferece os dados primários da estrutura. O usuário ainda pode acessar as estruturas da usina utilizando uma vista diferente da aérea. Essa vista possibilita uma maior imersão no mundo virtual, dando ao usuário a possibilidade de visitar as estruturas da forma que preferir (Figura 6). Fig. 3. Subestação. Um painel virtual foi desenvolvido para controlar a navegação (por meio da união com o JavaScript). Os cabos de transmissão foram modelados com utilização do software ArtOfIllusion sendo exportados para o VRML97 [8]. Cada estrutura modelada pode ser acessada por partes, ou seja, há a possibilidade de analisar apenas partes da estrutura como, por exemplo, o transformador, o rotor, entre outros, proporcionando também informações técnicas sobre as estruturas secundárias. (Figura 4). Fig. 6. Observador imerso no mundo totalmente virtual, visualizando a barragem. 4.RESULTADOS O resultado obtido foi um sistema em que o usuário tem um enorme controle sobre as estruturas, podendo até desmontá-las se achar viável. (figura 7). Fig. 4. Visualização apenas do Disjuntor, presente na subestação. A tela inicial dá uma idéia geral da usina e proporciona uma idéia de imersão ao usuário, que ao clicar na área requerida é “transportado” para o ambiente virtual equivalente ao local desejado (Figura 5). Fig. 7. Transformador de força sendo desmontado pelo usuário. Como vantagem, a pesquisa apresenta ambientes virtuais que permitem a exploração pelo usuário de forma particular e capaz de atender suas expectativas com respeito à investigação. Por exemplo, é possível simular uma visita à sala de controle, levando o estudante a forte inserção no contexto de um dado tópico ou assunto, sem riscos, como os presentes no manuseio dos equipamentos. [9] AGRADECIMENTOS Os autores agradecem primeiramente à família que tem dado enorme apoio e incentivo às pesquisas. Gratos também com Kennedy Lopes, mestrando da UFU, por trazer grandes contribuições ao trabalho. Este projeto está sendo financiado pelo CNPq (projeto Nº C013/2006). 5.CONCLUSÕES O desenvolvimento de ambientes virtuais, para simulações de situações reais pode ser efetuado com uso de linguagens de programação compatíveis com a WEB, sem custos exagerados. Neste artigo, o usuário tem a sua disposição um conjunto de ambientes virtuais. Onde pode interagir com todas as estruturas de uma usina hidrelétrica, observando, detalhadamente os componentes físicos destas. Outros fatores que justificam e mostram a contribuição do desenvolvimento deste tipo de interface baseiam-se no custo dos equipamentos e na facilidade de concepção de aplicativos. Além disso, o uso destes ambientes virtuais como suporte à educação e montagem de projetos pode ser mais eficiente, conveniente e até mais barato do que custear os equipamentos para a montagem, já que ferramentas gratuitas podem ser usadas nas suas criações e no desenvolvimento, propiciando a aplicação de RV associado à Internet em soluções relacionadas com Educação a Distância (EAD). [9] Como aplicações futuras para o trabalho está a implementação de um painel aprimorado, com mais detalhes permitindo maior interação do usuário, modelagem de mais partes da usina já inserindo os dados técnicos em todas as estruturas e uma implementação em realidade aumentada (RA). REFERÊNCIAS BIBLIOGRÁFICAS [1] Ainge, D. Grade-six Student’s Recall of detail: V.R. compared with photographs. V.R. in the Schools, vol. 1, no. 4. Mar 1996. [2] Bandini, Alfredo, Generalidades sobre os aproveitamentos hidroelétricos - produção e consumo de energia elétrica / Alfredo Bandini, São Carlos: Escola de Engenharia de São Carlos, 1963. [3] Central Electricity Generating Board. Mechanical; turbines and auxiliary equipment. Oxford: Pergamon Press, c1971. [4] D'Ajuz, Ary. Equipamentos elétricos; especificação e aplicação em subestações de alta tensão. Rio de Janeiro: FURNAS, c1985. [5] Byrne, C. Water on Tap: The Use of Virtual Reality as an Educational Tool. Washington, 1996. Tese (Doutorado) University of Washington. [6] http://www.parallelgraphics.com/. [7] ALSTOM Transmission & Distribution – http://www.alstom.com/ - Acedido em 10/10/2007 [8] http://www.artofillusion.org/ - Acedido em 20/10/2007 [9] CARDOSO, Alexandre; LAMOUNIER, Edgard e TORI, Romero, "Sistema de Criação de Experiências de Física em Realidade Virtual para Educação a Distância", II Workshop Brasileiro de Realidade Virtual, WRV´99, pp 174-181, Marília, 1999. SISTEMA DE AUXILIO À MODELAGEM 3D USANDO VISÃO ESTÉREO Marcelo Archanjo José, Roseli de Deus Lopes. Universidade de São Paulo - Departamento de Engenharia de Sistemas Eletrônicos da Escola Politécnica Av. Prof. Luciano Gualberto, 158. Trav.3. CEP: 05508-900 - São Paulo - SP – Brasil [email protected], [email protected] Resumo - O processo de modelagem 3D de ambientes reais é bastante trabalhoso, principalmente se o objetivo é obter um resultado com alto grau de realismo. Este artigo apresenta um sistema que utiliza Visão Estéreo para a obtenção da geometria 3D de uma cena, faz a Reconstrução 3D da mesma e a realiza a visualização em tempo real. Desta forma o sistema provê um auxilio importante para a criação de um modelo preliminar do ambiente real que serve de base para modelagem completa. Palavras-Chave – Correspondência Estéreo, Reconstrução 3D, Visão Computacional, Visão Estéreo. Abstract – The 3D modeling process of real environments is arduous, mainly if the objective is to produce realistic results. This paper presents a system that uses Stereo Vision to acquire the 3D geometry of a real scene, make the 3D Reconstruction and presents a real time visualization of it. In this matter this system provides a serious help in the creation of an initial model of the real environment to be after completely modeled. 1 Keywords - 3D Reconstruction, Computer Vision, Stereo Matching, Stereo Vision. 1. INTRODUÇÃO A modelagem de ambientes virtuais é um processo bastante trabalhoso apesar das diversas funcionalidades das ferramentas de mercado. Trata-se de um processo criativo e artístico, logo as ferramentas de modelagem podem ajudar, mas não eliminam a complexidade. Quando se deseja modelar uma ambiente real surge o problema da comparação que o usuário pode fazer, porque conhece o real. Na imensa maioria das vezes, fica evidente que o ambiente modelado é pobre se comparado com o real. A possibilidade se ter um auxilio na modelagem para automatizar algumas etapas é fundamental. Este trabalho apresenta um sistema com objetivo de auxiliar o processo de modelagem 3D de ambientes reais. Ele utiliza Visão Estéreo para obter a geometria 3D do ambiente se valendo da disparidade horizontal entre duas fotos tiradas com um pequeno deslocamento lateral. Utilizar a Visão Estéreo na Reconstrução 3D por si só não é um grande desafio apesar de não ser trivial. A Visão Estéreo é uma área de pesquisa bastante ativa sendo que existem diversos algoritmos cada qual com suas peculiaridades, mas todos tem em comum: • Uso intensivo de memória; • Calibração rígida das câmeras; • Câmeras precisas. O uso intensivo de memória dos algoritmos de Visão Estéreo está diretamente ligado ao tamanho da imagem e a quantidade de pontos onde se procura por correspondências, também conhecido como níveis de disparidade. Com imagens pequenas isto não é um problema, mas com imagens grandes pode chegar a ser impeditivo, veja na Tabela I as resoluções e o respectivo consumo de memória para a abordagem tradicional em Visão Estéreo. TABELA I Consumo de Memória na Abordagem Tradicional Largura 2592 5200 Altura 1944 3900 108 208 Níveis de disparidade¹ Bytes por pixel Total Mega Bytes 4 4 2.152,83 16.400,76 ¹ Os níveis de disparidade foram estimados com valores próximos a 4% da largura da imagem. A calibração rígida exige o uso de câmeras precisas e o ambiente bastante controlado, geralmente um laboratório. Esta calibração tem por objetivo fazer as duas fotos obedecerem a geometria epipolar, na prática significa procurar por correspondências somente a uma linha, isto é, uma linha da imagem da esquerda equivale exatamente à mesma linha da imagem da direita. Isto é bastante difícil de se conseguir com imagens de alta resolução e / ou com objetos distantes. Não utilizar a restrição epipolar exige que a procura por correspondências não seja realizada somente em uma linha, mas em um conjunto de linhas o que irá aumentar ainda mais o consumo de memória. A precisão normalmente exigida em Visão Estéreo inclui a luminosidade das duas fotos. Num ambiente não controlado é muito difícil atingir esta precisão, devido a variação das condições de luminosidade entre uma foto e outra (usando apenas uma câmera), ou ainda devido ao fato de duas câmeras comuns não oferecerem garantias de igual intensidades das cores nas fotos tirada por cada uma delas. O desafio então é reunir técnicas existentes e conceber outras novas técnicas, permitindo: • Redução do consumo de memória, assim possibilitando o uso de imagens de alta resolução (2592x1944) e computadores comuns (menos que 512MB RAM); • Maior flexibilidade na calibração; • Uso de câmeras comuns. Além disso, é fundamental visualizar o ambiente modelado em tempo real de maneira a perceber erros e ajustar parâmetros até atingir resultados satisfatórios. Por fim 2.1. Custo de Correspondência (59,69) (59,70) (59,71) (60,69) (60,70) (60,71) (61,69) (61,70) (61,71) É armazenado o resultado desta soma na posição (60,70) do plano 3 recém alocado. Este processo é conhecido como Agregação de Evidências [1][2]. Otimização: Ao invés de alocar mais 10 planos pode-se alocar somente 1 plano que 6 7 8 9 Valor 98 87 84 69 77 43 7 24 78 93 O menor resultado encontra-se no plano 6, o que significa que a melhor correspondência foi encontrada com disparidade de 6 pixels. Neste plano recém criado armazenamos na posição (40,50) o valor 6. Este processo é realizado para os 320x200 pontos e é conhecido como Seleção de Disparidades [1][2]. Deste plano é criada uma imagem em escalas de cinza onde, para o nosso exemplo de disparidade máxima de 10 pixels, o 0 seria (0,0,0) (preto em RGB) e o 9 seria (255,255,255) (branco em RGB) e os demais valores os níveis intermediários distribuídos uniformemente. 3. TÉCNICA DAS FAIXAS A forma tradicional de procura de correspondências tem sido amplamente pesquisada, mas a questão do consumo de memória normalmente não é abordada. O consumo intensivo de memória vem da alocação dos planos de Custo de Correspondência, pois se trata de um volume x,y,d. A figura 2 apresenta uma simulação do consumo de memória para diferentes resoluções das imagens de entrada. Com a Técnica das Faixas as imagens de entrada já carregadas são tratadas em faixas e o processo de procura de correspondências ocorre somente na faixa, estas devem ter o menor tamanho possível sem deixar de manter os resultados intermediários para reuso durante o processo. 00 00 33 x4 0 00 x3 7 53 33 49 33 x3 4 00 00 33 x3 1 45 00 x2 8 41 33 37 33 x2 5 00 00 33 x2 2 33 00 00 33 x1 9 29 25 x1 3 x1 6 00 21 0 x1 0 80 33 17 0 70 24 20 18 16 14 12 10 8 6 4 2 0 3x Em seguida são alocados mais 10 planos com 320x200 posições onde serão registrados os resultados das somas das janelas. Trata-se de somar (considerando uma janela quadrada 3x3) os nove resultados de cada plano de Custo de Correspondência na posição central da janela neste novo plano se, por exemplo, estivermos no plano 3 de Custo de Correspondência e estamos na posição (60,70) iremos somar os resultados que estão nas posições: 5 93 2.2. Agregação de Evidências 4 12 Fig. 1. Planos que armazenam os Custos de Correspondência. 3 10 x 2 3x d 1 Consumo de Memória (GB) y 0 13 Reservamos 10 planos com 320x200 posições, criando um espaço x,y,d (veja a Figura 1) e realizamos o processo de cálculo de correspondência (soma das diferenças absolutas, soma dos quadrados das diferenças, ou qualquer outro) para cada pixel, para cada disparidade, isto é, comparamos o pixel (60,50) da imagem da esquerda com o pixel (60,50) da imagem da direita e armazenamos seu resultado na posição (60,50) do plano 0 (equivale a disparidade 0), em seguida comparamos o pixel (60,50) da imagem da esquerda com o pixel (59,50) da imagem da direita e armazenamos seu resultado na posição (60,50) do plano 1 (equivale a disparidade 1), e assim por diante. Este processo é conhecido como “Matching Cost” [1][2] aqui traduzido como Custo de Correspondência. Plano 0 Para descrever o funcionamento de um algoritmo de Correspondência Estéreo tradicional, vamos supor que precisamos realizar a procura de correspondência entre duas imagens com resolução de x=320 e y=200 cada, e que o número máximo de níveis de disparidade (d) seja de 10 pixels. Por último é criado mais um plano com 320x200 nele é armazenado em cada posição o valor da disparidade que obteve a melhor correspondência, isto é, o menor valor. Suponhamos que estamos analisando o ponto (40,50) e que nos planos de Agregação de Evidências temos os seguintes resultados para este ponto: 40 VISÃO ESTÉREO 2.3. Seleção de Disparidades 3x 2. armazena temporariamente o resultado da agregação, quanto o processo termina de preencher o plano inteiro ele sobrepõe o plano de Custo de Correspondência. 53 é necessário exportar o ambiente reconstruído num formato padrão para o posterior tratamento em ferramentas de modelagem de mercado. Dificuldades específicas inerentes à Visão Estéreo como oclusão parcial e falsas correspondências causadas por regiões sem textura não são tratadas neste trabalho. Re s olução Fig. 2. Consumo de memória para técnica tradicional versus resolução, para busca 1D. Foi estudado qual seria a menor altura desta faixa chegando à conclusão de que ela deve ser igual à altura da janela de procura mais 1, pois durante o processo de agregação é necessário ter os resultados de Custo de Correspondência disponíveis, sendo que uma altura menor não permitiria isso. Também outra conclusão é que a faixa deve ter a mesma largura da imagem de entrada, pois larguras menores que esta eliminaria dados para reuso durante o deslocamento lateral da janela. O processo de Custo de Correspondência somente trata as faixas das imagens de entrada, preenchendo as Faixas de Agregação com a altura da janela (uma linha abaixo ficará livre na primeira rodada). Estas são trabalhadas no processo de Agregação de Evidências produzindo as Linhas de Seleção de Disparidade, que são tratadas no processo de Seleção de Disparidade produzindo uma linha no mapa de disparidades, veja a figura 3. perda de desempenho do algoritmo de busca de correspondências. Por outro lado reduz os custos dos equipamentos e facilita a disposição dos aparatos fotográficos na obtenção do par de imagens. A abordagem de procura 2D usada neste trabalho não deixa de considerar que a disparidade é horizontal, o fato de procurar a correspondência em outras linhas somente considera que houve três possíveis efeitos, causados pela falta de rigidez na calibragem física da(s) câmera(s) durante o processo de obtenção das imagens: deslocamento de linha, rotação da câmera, imagem curvada. A figura 6 apresenta uma ilustração visual destes efeitos. A procura 2D não resolve a distorção causada por fotos tiradas por câmeras não paralelas. 5. Imagem da direita Imagem da esquerda Custo de Correspondência Faixas de Agregação Níveis de disparidade Linhas de Seleção de Disparidades Agregação de Evidências Níveis de disparidade Seleção de Disparidades Mapa de Disparidades Fig. 3. Diagrama da Técnica das Faixas. Depois da primeira rodada é realizado o cálculo do Custo de Correspondência somente em uma linha (imediatamente abaixo) das imagens de entrada, o resultado é armazenado naquela linha que sobrou nas Faixas de Agregação. O processo de Agregação de Evidências agora ignora a primeira linha das Faixas de Agregação, produzindo as Linhas de Seleção de Disparidades e seguindo normalmente o processo de Seleção de Disparidades. Depois da segunda rodada são eliminados os dados da primeira linha das Faixas de Agregação e no lugar são colocados os dados de Custo de Correspondência da linha imediatamente inferior à faixa nas imagens de entrada, e assim por diante até o fim da imagem. Este processo re-aproveita os dados que já haviam sido calculados nas rodadas anteriores, somente remove os desnecessários e adiciona os novos. 4. OPERADOR GRADIENTE Algoritmos de Visão Estéreo geralmente são muito sensíveis a variações na luminosidade, pois utilizam a intensidade das cores para realizar a procura de correspondências, pequenas variações entre as duas fotos podem apresentar resultados bastante distintos no mapa de disparidades. Veja na figura 7 os mapas de disparidade gerados tanto com as intensidades da cores como com o operador gradiente. Para realizar o processamento é utilizado o operador Sobel, através da passagem de dois kernels sobre as imagens de entrada, um para horizontal e outro para a vertical. 6. VISUALIZAÇÃO 3D Uma vez construído o mapa de disparidades é realizada a criação de uma malha 3D aberta, supondo uma malha uniforme com 64 vértices em X, 64 vértices em Y e um mapa de disparidades com 320x200, logo há uma relação entre 64 vértices distribuídos uniformemente pelos 320 pixels horizontais e outros 64 para os 200 pixels verticais. Onde o Z da malha será definido pelo valor máximo da disparidade menos a disparidade do pixel do mapa de disparidades mais próximo do vértice em questão, lembrando que a disparidade é inversamente proporcional a profundidade, veja os resultados deste processo na figura 4. PROCURA 2D A forma tradicional de trabalho com Visão Estéreo vinculada à restrição epipolar esta bem estabelecida e apresenta resultados muito bons no âmbito de performance na construção do mapa de disparidades. Não utilizar a restrição epipolar provoca um aumento da complexidade e Fig. 4. Tela do programa, abaixo temos as imagens de entrada no alto a esquerda a Visualização 3D em tempo real do ambiente reconstruído e no alto à esquerda o mapa de disparidades. A Visualização 3D é feita através de uma janela que utiliza DirectX® da Microsoft para acessar os recursos da placa aceleradora de vídeo. Por fim a geometria 3D obtida é armazenada em um arquivo .WRL (VRML 97), onde estão armazenados os vértices indexados bem como o mapeamento da textura. 7. RESULTADOS 7.1. Técnica das Faixas Utilizando a técnica das faixas para a obtenção do Mapa de Disparidades, com a imagem de 2592 x 1944 necessitamos apenas de 124MB RAM e para 5200 x 3900 , necessitamos de 723MB RAM. Através da técnica tradicional, necessitaríamos respectivamente de 2GB e 16GB RAM (Tabela I), ou seja, haverá um redução drástica de aproximadamente 95% do uso de memória. O gráfico da figura 5 apresenta o consumo de memória da técnica das faixas frente a diversas resoluções, tal qual a figura 2 apresenta para a técnica tradicional. 7.3. Resultados Operador Gradiente O uso do Operador Gradiente reduz a sensibilidade à variação da luminosidade entre as imagens de entrada, auxiliando o uso de câmeras comuns. A figura 7 demonstra na primeira linha o que seria um mapa de disparidades ideal com as imagens originais [1], na linha central temos uma pequena variação de luminosidade entre as imagens de entrada e o mapa de disparidades gerado sem usar o operador gradiente (bem distorcido) e na linha de baixo as mesmas imagens de entrada (com variação de luminosidade) e o mapa de disparidades gerado, o qual é bastante similar ao da primeira linha. 00 00 33 x4 0 00 x3 7 Fig. 7. Efeitos causados pela variação de luminosidade entre as imagens da esquerda e direita. 53 x3 4 00 00 33 33 49 33 x3 1 45 41 33 x2 8 00 00 33 x2 5 37 00 33 x2 2 33 00 x1 9 33 25 29 00 x1 3 x1 6 00 21 0 24 x1 0 80 33 17 0 70 3x 12 93 3x 53 13 3x 10 40 0 Consumo de Memória (GB) 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Re s olução Fig. 5. Consumo de memória para técnica das faixas versus resolução, para busca 1D. 7.2. Procura 2D A procura 2D permite a obtenção do mapa de disparidades mesmo com uma calibração básica, isto é, não exige que uma linha da imagem da esquerda esteja exatamente na mesma linha da imagem da direita. A figura 6 apresenta os mapas de disparidade para imagens de entrada distorcidas, no alto temos uma referência [3] que demonstra o que seria um mapa de disparidades ideal, abaixo temos as imagens de entrada com diferentes tipos de distorções e os mapas de disparidades gerados, tanto para uma busca 1D (distorcido) e 2D bem próximo do obtido na referência. 8. CONCLUSÃO A solução aqui apresentada atua em aspectos importantes da utilização da Visão Estéreo como auxilio à modelagem 3D. A Técnica das Faixas permite uma redução significativa do consumo de memória, o que possibilita o uso de computadores convencionais. A procura 2D flexibiliza a calibração das câmeras e não exige o uso de câmeras precisas e finalmente o uso do Operador Gradiente permite pequenas variações na luminosidade, não afetando a qualidade do mapa de disparidades e não exigindo o ambiente fotografado igualmente iluminado em ambas as fotos. Os resultados apresentados aumentaram em muito a flexibilidade deste sistema de Visão Estéreo em comparação às abordagens tradicionais. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 6. Simulação de distorções e os mapas de disparidades. [1] D. Scharstein, R. Szeliski, “A taxonomy and evaluation of dense two-frame stereo correspondence algorithms.” International Journal of Computer Vision, 47(1/2/3):742, April-June 2002. [2] D. Scharstein, “View Synthesis Using Stereo Vision”, Springer, 1999. [3] D. Scharstein, R. Szeliski, “High-accuracy stereo depth maps using structured light.” IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2003), volume 1, pages 195-202, Madison, WI, June 2003. USO DA REALIDADE AUMENTADA COMO FERRAMENTA DE APOIO AO PROCESSO DE LEITURA DE PESSOAS COM DISLEXIA. Roger Amandio Luz1, Marcos Wagner de Souza Ribeiro 1 ,Alexandre Cardoso2, Edgard Lamounier2, Luciano Vieira Lima2 1 - Grupo de Realidade Virtual de Goiás – GRVG - Instituto Luterano de Ensino Superior de Itumbiara 2 – Grupo de Realidade Virtual – GRV – Universidade Federal de Uberlândia Resumo - Este artigo tem por objetivo contribuir com profissionais da área da psicologia, educadores, pais e outros que convivem com pessoas com dislexia, no desenvolvimento de uma ferramenta baseada em técnicas de Realidade Aumentada para auxilio no processo de leitura dos dislexos, aproveitando as características de sensação de imersão e interação possibilitadas pela Realidade Virtual e a capacidade de inserir objetos virtuais em mundos reais proporcionada pela Realidade Aumentada são discutidos aqui os tópicos fundamentais para prototipação desta ferramenta. Palavras-Chave – Dislexia, Realidade Virtual, Realidade Aumentada, Educação Especial Abstract – This work has for objective to contribute with professionals of the area of psychology, educators, parents and others that coexist people with dislexia through the development of a tool based on techniques of Increased Virtual Reality for assist in the process of reading of these, using to advantage of the characteristics of immersion and interaction made possible by the Virtual Reality and the capacity to inside insert virtual objects of real worlds proportionate for the Increased Reality. 1 Keywords - ArToolKit, Dislexia, Augmented Reality, vrml. 1. INTRODUÇÃO Os métodos tradicionais de tratamento da dislexia associado ao uso de softwares educacionais convencionais muitas vezes não são suficientes para que se obtenha a eficiência do tratamento no aluno com dificuldades de leitura e escrita, fazendo apenas a leitura de telas ou da junção de sílabas que formam palavras, ou seja adestrando o paciente/aluno[3]. Porém através das técnicas de imersão, interação e manipulação proporcionadas pela Realidade Virtual (VR)[12] e sobretudo pela capacidade de trazer o mundo virtual para dentro do mundo real possibilitada pela Realidade Aumentada os resultados podem ser bem mais satisfatórios, deixando de lado o adestramento e despertando a capacidade de interpretação e contextualização em pessoas com dificuldade de leitura, desta forma os psicólogos e pedagogos terão a possibilidade de obterem melhores resultados no processo de ensino da leitura possibilitando com que a pessoa em tratamento entre em estado de imersão e sinta-se interagindo diretamente com o mundo criado virtualmente através de objetos do mundo real, neste escopo os processos de aprendizagem da leitura podem ser melhorados significativamente, visto que o próprio disléxico irá buscar cada vez mais a descoberta de novos mundos e principalmente novas maneiras de interação com os objetos virtuais. Entre os métodos de tratamento da dislexia destacase a criação de uma lista de palavras gatilho[4], que são as que geralmente causam confusão na mente das pessoas com este transtorno. Logo em seguida estas pessoas são incentivadas a associar estas palavras com objetos moldados geralmente com argila, neste artigo as principais palavras gatilho serão modeladas através da utilização de softwares específicos e estas serão projetadas no mundo real através da realidade aumentada. 1.1.Realidade Virtual O termo Realidade Virtual (RV) foi cunhado no final da década de 1980 [1] e consiste em uma interface avançada para aplicações computacionais, que permite ao usuário a movimentação (navegação) e interação em tempo real, em um ambiente tridimensional, podendo fazer uso de dispositivos multisensoriais, para atuação ou feedback. [12] O uso da Realidade Virtual estende-se em várias áreas, uma em destaque é a da Educação, onde é um dos campos mais vastos para a aplicação, segundo [12]. A Realidade Virtual aplicada na Psicologia é de grande relevância se explorado dentro das suas infinitas potencialidades de maneira a apoiar no tratamento de pacientes, visto que muitas vezes é necessário simular possíveis resultados antes de aplicar a técnica no paciente [11]. O campo emergente que constitui a interface entre Psicologia e as ciências da computação envolve tanto a aplicação da informática para auxiliar na solução de problemas específicos da psicologia, como a utilização da psicologia para a compreensão de problemas trazidos pela informática conforme se explica a seguir: a) Na vertente da informática como auxiliar da psicologia, podemos citar a utilização do computador em contexto escolar e clínico para avaliação e (re)habilitação cognitiva e comunicação alternativa para pacientes com distúrbios neurolingüísticos (dislexia, afasia), neuromotores (paralisia cerebral, esclerose lateral amiotrófica) e neurossensoriais (surdez congênita), como em [3]. b) Na vertente da psicologia como ferramenta de interpretação da realidade informatizada, podem-se citar pesquisas e a reflexão psicanalítica sobre os efeitos da crescente informatização da sociedade nos relacionamentos, no auto-entendimento do indivíduo, na subjetividade, na sociabilidade, na cognição, na personalidade[6]. Há sempre a possibilidade de aliar a vertente interpretativa com a aplicada. Assim, por exemplo, pode-se realizar uma pesquisa em psicologia para compreender como os pacientes com dislexia enxergam no mundo real, traçar suas dificuldades e desenvolver um mundo virtual onde possam substituir as palavras que tem dificuldade em ler por modelos do mundo virtual aplicados ao mundo real. 1.2 Realidade Aumentada O avanço da multimídia e da realidade virtual, proporcionado pela maior potência dos computadores, permitiu a integração em tempo real de vídeo, e ambientes virtuais interativos. Ao mesmo tempo o aumento da largura de banda das redes de computadores também vem influenciando positivamente na evolução da multimídia, permitindo a transmissão de imagens e outros fluxos de informação com eficiência. 1.2.Dislexia De acordo com a ABD, Associação Brasileira de Dislexia, a definição vem do grego e do latim: Dis, de distúrbio, vem do latim, e Lexia, do grego, significa linguagem. Ou seja, Dislexia é uma disfunção neurológica que apresenta como conseqüência dificuldades na leitura e escrita.[14] Originalmente, os pesquisadores acreditavam que os disléxicos teria sofrido algum tipo de lesão cerebral ou nervosa, ou seriam portadores de uma disfunção congênita. Em qualquer dos casos, haveria uma interferência nos processos mentais necessários a leitura [4]. A dislexia torna-se evidente na época da alfabetização, embora alguns sintomas já estejam presentes em fases anteriores. Apesar de instrução convencional, adequada inteligência e oportunidade sociocultural e sem distúrbios cognitivos fundamentais, a criança falha no processo da aquisição da linguagem. Isto é, ela independe de causas intelectuais, emocionais ou culturais. Ela é hereditária e a incidência é maior em meninos, numa proporção de 3/1, sendo que a ocorrência é de cerca de 10% da população Mundial, embora freqüências altas de 20% a 30% tenham sido relatadas [13]. Segundo [4] acredita-se que os seres humanos pensam de duas formas diferentes: “conceituação verbal” e “conceituação escrita” – Conceituação verbal indica o pensar com os sons das palavras e conceituação não-verbal indica o pensar com as imagens de conceitos ou idéias. O pensamento verbal é linear no tempo e segue a estrutura da linguagem. Ao utilizá-lo, compomos frases mentalmente, uma palavra de cada vez. Ele é construído, aproximadamente, na mesma velocidade da fala. A fala normal tem uma velocidade aproximadamente de 150 palavras por minuto ou 2,5 palavras por segundo. Ainda [4] escreve que o pensamento não-verbal é evolutivo. A imagem cresce à medida que o processo de pensamento adiciona mais conceitos. É um processo mais rápido, possivelmente milhares de vezes mais rápido. Na verdade, é difícil entender o processo de pensamento não-verbal porque ele acontece tão depressa que não temos consciência dele quando utilizamos: ele é geralmente subliminar ou abaixo do nível da consciência. As pessoas pensam tanto no modo verbal como no nãoverbal mas, sendo humanos, temos a tendência a nos especializarmos. Cada um praticará um dos modos como seu sistema primário de pensamento, e o outro como o secundário. Segundo Davis [4] Durante o período em que o aspecto de transtorno de aprendizagem da dislexia se forma, entre os três e os treze anos de idade, é necessário que o disléxico em potencial seja primariamente um pensador não-verbal – uma pessoa que pense em imagens. A linguagem é composta por símbolos que, por sua vez, são compostos de três partes: 1) o som do símbolo; 2) o significado do símbolo; 3) a aparência do símbolo; Existem diversas maneiras de diagnosticar-se a dislexia, segundo Regenbrecht [8] deve-se inicialmente verificar inicialmente se na história familiar existem casos de dislexia ou de dificuldades de aprendizagem e se na história desenvolvimental da criança ocorreu alguma problemática não normativa. Na leitura notam-se confusões de grafemas cuja correspondência fonética é próxima ou cuja forma é aproximada, bem como surgem freqüentes inversões, omissões, adições e substituições de letras e sílabas. Em nível de leitura de frases, existe uma dificuldade nas pausas e no ritmo, bem como revelam uma análise compreensiva da informação lida muito deficitária (muitas dificuldades em compreender o que lêem). Embora os disléxicos tenham grandes dificuldades para aprender a ler, escrever e soletrar, suas dificuldades não implicam em falta de sucesso no futuro, haja vista o grande número de pessoas disléxicas que obtiveram sucesso, entre elas, Thomas Edison (inventor), Tom Cruise (ator), Walt Disney (fundador dos personagens e estúdios Disney) e Agatha Christie (autora) [15,16] . De fato, alguns pesquisadores acreditam que pessoas disléxicas têm até uma maior probabilidade de serem bem sucedidas; acredita-se que a batalha inicial de disléxicos para aprender de maneira convencional estimula sua criatividade e desenvolve uma habilidade para lidar melhor com problemas e com o stress[16]. 1.3 Sinais e características da Dislexia O primeiro sinal de possível dislexia pode ser detectado quando a criança, apesar de estudar numa boa escola, tem grande dificuldade em assimilar o que é ensinado pelo professor. Crianças cujo desenvolvimento educacional é retardatário podem ser bastante inteligentes, mas sofrer de dislexia[4]. Crianças disléxicas tendem a confundir letras com grande freqüência. Entretanto, esse indicativo não é totalmente confiável, pois muitas crianças, inclusive nãodisléxicas, freqüentemente confundem as letras do alfabeto e as escrevem de lado ao contrário [17]. Ainda [17] ressalta que no Jardim de Infância, crianças disléxicas demonstram dificuldade ao tentar rimar palavras e reconhecer letras e fonemas. Na primeira série, elas não conseguem ler palavras curtas e simples, têm dificuldade em identificar fonemas e reclamam que ler é muito difícil. Da segunda à quinta série, crianças disléxicas têm dificuldade em soletrar, ler em voz alta e memorizar palavras; elas também freqüentemente confundem palavras. Esses são apenas alguns dos muitos sinais que identificam que uma criança sofre de dislexia 1.4 Diagnóstico da Dislexia Segundo[17] a dislexia pode ser identificada em diversas faixas etárias e em diferentes fases escolares identificando-se algumas das características abaixo: Entre 3 a 6 anos Na pré-escola 1. Ele persiste em falar como um bebê?; 2. Freqüentemente pronuncia palavras de forma errada?; 3. Não consegue reconhecer as letras que soletram seu nome? 4. Tem dificuldade em lembrar o nome de letras, números e dias da semana?; 5. Leva muito tempo para aprender novas palavras?; 6. Tem dificuldade em aprender rimas infantis? Entre 6 ou 7 anos Primeira-série 1. Tem dificuldade em dividir palavras em sílabas?; 2. Não consegue ler palavras simples e monossilábicas, tais como “rei” ou “bom”?; 3. Comete erros de leitura que demonstram uma dificuldade em relacionar letras a seus respectivos sons?; 4. Tem dificuldade em reconhecer fonemas?; 5. Reclama que ler é muito difícil?; 6. Freqüentemente comete erros quando escreve e soletra palavras? ; 7. Memoriza textos sem compreendê-los? Entre 7 e 12 anos. 1. Comete erros ao pronunciar palavras longas ou complicadas?; 2. Confunde palavras de sonoridade semelhante, como “tomate” e “tapete”, “loção” e “canção”?; 3. Utiliza excessivamente palavras vagas como “coisa”?; 4. Tem dificuldade para memorizar datas, nomes ou números de telefone?; 5. Pula partes de palavras quando estas têm muitas sílabas?; 6. Costuma substituir palavras difíceis por outras mais simples quando lê em voz alta; por exemplo, lê “carro” invés de “automóvel”?; 7. Comete muitos erros de ortografia?; 8. Escreve de forma confusa?; 9. Não consegue terminar as provas de sala-de-aula?; 10. Sente muito medo de ler em voz alta?; A partir dos 12 anos 1. Comete erros na pronúncia de palavras longas ou complicadas?; 2. Seu nível de leitura está abaixo de seus colegas de sala-de-aula?; 3. Inverte a ordem das letras – “bolo” por “lobo”, “lago” por “logo”?; 4. Tem dificuldades em soletrar palavras? Soletra a mesma palavra de formas diferentes numa mesma página?; 5. Lê muito devagar? 6. Evita ler e escrever ?; 7. Tem dificuldade em resolver problemas de matemática que requeiram leitura?; 8. Tem muita dificuldade em aprender uma língua estrangeira?; consorcio composto por três instituições de ensino superior: Vienna University of Technology, Hagenberg University of Applied Sciences e Graz University of Technology. Figura 1 – Tratamento de Fobias Figura 2 – Industria Automotiva Ribeiro [10] apresenta a possibilidade de comunicação entre ambientes virtuais distintos, apesar de não terem sido utilizadas técnicas de Realidade Aumentada nesta pesquisa ela possibilita futuras discussões e contribuições visando proporcionar ao usuário maior imersão e interação com os diversos ambientes multidisciplinares. A Realidade Aumentada torna-se necessária nesta pesquisa pois ela possibilita que vários objetos virtuais comuniquem-se com o mundo real. 3. ARQUITETURA DO SISTEMA Na Figura 3 é detalhado o desenvolvimento e funcionamento do sistema, onde o software VRML é utilizado na criação de imagens virtuais conforme lista de palavras-chave da dislexia que serão projetadas por meio dos dispositivos (câmera ou Óculos) com o uso do software ArToolkit no mundo real, seja ele o consultório do psicólogo, uma sala de aula, ou qualquer outro lugar do mundo real que possibilite as projeções sobre os marcadores específicos. ArToolK it VRML 1.5 Tratamento a partir de Palavras Gatilhos Conforme descrito em [4] as palavras consideradas gatilhos são aquelas que causam confusão em sua mente. Estas palavras são descritas em uma lista e em seguida o disléxico é incentivado a criar com argila uma imagem que traduza o significado dessa palavra. Palavras Gatilho 2. APLICAÇÕES EM REALIDADE AUMENTADA 2.1 Tratamento de Fobias As pesquisas utilizando técnicas de Realidade Aumentada estão crescendo cada vez mais na medida em que se exploram suas potencialidades nas mais diversas áreas do conhecimento, destacam-se as áreas de educação, medicina, indústria automobilística e aeroespacial. Exemplos como o Tratamento de Fobias [7] ilustrado na figura 1 que foi o trabalho extremamente motivador para esta pesquisa, e na indústria automotiva como descrito em [9] conforme figura 2 ilustra nesta pesquisa estão cada vez mais contribuindo cientificamente e socialmente para o desenvolvimento de novas aplicações utilizado realidade aumentada. Na educação relevam-se ainda The Magic Book[8] e Magic Mouse [5] e no desenvolvimento de jogos o projeto Monkey Bridge [2] um Mundo Real Figura 3 –Arquitetura Proposta pelo Projeto Os marcadores (Alvos) onde serão projetadas as imagens virtuais seguem o mesmo formato das palavras, possibilitando assim associações desta com o objeto que esta representa, conforme ilustrado na Figura 4, onde o marcador tem o nome do objeto que será projetado facilitando assim o entendimento do disléxico. Quando a frase esta sendo lida, a figura do automóvel é projetada no texto, facilitando a associação entre a palavra automóvel escrita no marcador com a imagem o que possibilita que se obtenham associações das diversas “palavras gatilho” com imagens virtuais projetadas no mundo real. 5. AVALIAÇÃO, RESULTADOS E CONCLUSÕES Figura 4 – Exemplo de Marcador 4. ESTUDO DE CASO: APLICAÇÃO DE RA NA LEITURA DO DISLEXICO Na leitura do disléxico devem ser observados uma série de fatores entre eles as chamadas “Palavras Gatilho” , estas são aquelas que mais causam confusão e desorientação quando se esta lendo, escrevendo ou comunicando algo. Elas geram confusão por que: a) a pessoa não tem uma imagem mental do que a palavra significa ou representa; b) muitas dessas palavras possuem múltiplos significados. Suponhamos que a frase que você tem para trabalhar seja: “...há rodas no automóvel verde...” O verbo haver possui inúmeros significados, dentre os quais os dois seguintes: “alcançar, obter, conseguir” e “existir”. Para ter certeza da definição que você precisa utilizar em seu exercício de Domínio dos Símbolos, substitua a palavra “há” na frase por cada uma das definições acima, e obterá: 1) “...alcança/obtém/consegue rodas no automóvel”; 2) ”..existem rodas no automóvel...” A primeira frase não faz sentido, a segunda faz sentido e está correta. Portanto, é o significado de “existir” que é apropriado e o que se deve utilizar para seu exercício de domínio dos símbolos neste caso. A Figura 5 ilustra esse caso. Figura 5 – Frase Correta Este sistema foi apresentado a professores da área de psicologia, educadores e pais que trabalham diretamente com pessoas disléxicas, os primeiros resultados foram animadores visto que em alguns casos alcançou-se o objetivo da fase de tratamento. Estas fases do tratamento estão aquém deste trabalho, pois esta ferramenta visa apenas servir como apoio entre os profissionais da área e as ciências da computação, não foi objetivo desta pesquisa ser a solução para a dislexia. REFERÊNCIAS BIBLIOGRÁFICAS [1] BIOCCA, F.; Levy, M. R. (1995) Communication in the Age of Virtual Reality. Lawrence Erlbaum Associates. Hillsdale, NJ [2] CAPOVILLA, F. C. et al. Estendendo as fronteiras da Psicologia para abarcar a (re)habilitação cognitiva: avaliação e intervenção em desenvolvimento e distúrbios de comunicação e linguagem oral, escrita e de sinais. Revista Brasileira de Psicologia e Informática. São Paulo: PUC-SP, Cogeae, n. 1, Dezembro de 2001 a Junho de 2002. ISSN 1676-384X. [3] DAVIS, Ronald D. O dom da Dislexia: Por que algumas das pessoas mais brilhantes não conseguem ler e como podem aprender. Rio de Janeiro: Rocco, 2004. [4] GILLET, Alexander, SANNER, Michael. STOFFLER, Daniel. OLSON, Arthur. Tangible augmented interfaces for structural molecular biology. Projects in VR. IEEE Computer Graphics an Applications, [S,I] March/April, 2005. [5] JUAN, M. Carmen. ALCAÑIZ, Mariano. MONSERRAT, Carlos. Using augmented reality to treat phobias. Moving Mixed Reality into the Real World. IEEE Computer Graphics an Applications, [S,I]. November/December, 2005. [6] KATO, Hirokazu. BILLINGHURST, Mark. POUPYREV, Ivan. The MagicBook – Moving Seamlessly between Reality an Virtuality. Projects in VR. IEEE Computer Graphics an Applications, [S,I]. May/June, 2001 [7] REGENBRECHT, Holger. WILKE, Wilhelm. BARATOFF, Gregory. Augmented Reality Projects in the Automotive and Aerospace Industries. Moving Mixed Reality into the Real World. IEEE Computer Graphics an Applications, [S,I]. November/December, 2005. [8] RIBEIRO, Marcos Wagner de Souza. Uma arquitetura para ambientes virtuais distribuídos. 2005 105f. Tese (Doutorado em Ciências) Faculdade de Engenharia Elétrica, Universidade Federal de Uberlândia, 2005. [9] SAYEG, Maria Elisa Marchini. Desenvolvimento de um software pedagógico a partir da análise da conversação para utilização por crianças autistas. [10] TORI Romero, KIRNER Claudio, SISCOUTO Robson: Fundamentos e Tecnologia de Realidade Virtual Aumentada: Apostila do Pré-Simpósio. Belém – PA. 2006. [11] Hallahan, D. P. E Kauffman, J. M. Exceptional Learners: Introduction to Special Education Needham Heights, MA: Allyn e Bacon, 2000. [12] Associação Nacional de Dislexia. Em: http://www.andislexia.org.br/hdl6_12.asp . Acesso realizado em 12/12/2006. [13] Estill, C. A. DISLEXIA, as muitas faces de um problema de linguagem. Em: http://www.andislexia.org.br/hdl12_1.asp . Acesso realizado em 12/12/2006. [14] Gorman, C. The New Science of Dislexia. Time – July 20, 2003 In: http:/www.interdys.org/index.jsp. Traduzido e adaptado em http://www.10emtudo.com.br/artigos_1.asp Acesso realizado em: 10/12/2006 [15] Disponível em http:/www.interdys.org/index.jsp. Acesso realizado em 12/12/2006. VISUALIZAÇÃO TRIDIMENSIONAL DE BAIXO CUSTO PARA O DESENVOLVIMENTO DE APLICAÇÕES EM MEDICINA Alysson Diniz dos Santos e Liliane dos Santos Machado Laboratório de Tecnologias para o Ensino Virtual e Estatística Universidade Federal da Paraíba – CCEN [email protected], [email protected] Resumo – Este artigo trata da utilização da estereoscopia baseada no método de anaglifo para visualização em ambientes de Realidade Virtual. Devido aos recursos financeiros e desempenho computacional exigido por alguns métodos de visualização 3D, procurou-se conceber e integrar a um pacote de desenvolvimento de sistemas de simulação e treinamento médico uma classe que permitisse o uso do método de anaglifos coloridos. Dessa forma, o conjunto de bibliotecas ao qual esta classe foi integrada permite desenvolver aplicações de simulação que podem ser executadas em plataformas computacionais populares com visualização tridimensional colorida das imagens. Este artigo também apresenta aspectos de implementação da classe e a análise qualitativa dos resultados obtidos. Palavras-Chave – anaglifo, estereoscopia, realidade virtual. Abstract – This paper presents the anagliph method to create stereoscopic images for visualization of virtual reality environments. The computational performance and cost required by other stereoscopic methods were the main motivations of this work which developed a class to integrate a set of libraries for the development of virtual reality applications for medical training and simulation. The new class implements the color anagliph method which allows the use of stereoscopy even if the final application run on a commodity computer. This paper also presents implementation details and some discussion about the results obtained. Keywords – anaglyph, stereoscopy, virtual reality. 1. INTRODUÇÃO A Realidade Virtual (RV) pode ser definida como “uma interface usuário-máquina de alta qualidade que envolve simulação em tempo real e interação através de múltiplos canais sensoriais” [1]. Em geral, os ambientes criados pelas aplicações de RV são construídos com o intuito de propiciar simulação, treinamento, visualização ou outro tipo de atividade através de técnicas de RV. Em todos esses casos é requisitado que o usuário da aplicação tenha a sensação de estar dentro do ambiente virtual, sentindo-se imerso no mesmo [2]. De acordo com a finalidade da aplicação, o nível ideal de imersão pode ser atingido explorando diferentes sentidos e estimulando variadas sensações no usuário [3,4]. A visualização da área ou região a ser tratada em um atendimento médico é geralmente a principal informação que o médico obtém do paciente. Então, para o desenvolvimento de um ambiente virtual que propicie treinamento em medicina, deve-se permitir ao usuário coletar o máximo possível de informação a partir da visualização oferecida pelo sistema. Por essa razão, a inclusão de uma forma de visualização tridimensional colorida auxilia na obtenção de imersão em ambientes de RV. O CyberMed foi concebido como um conjunto de bibliotecas voltadas para o desenvolvimento de aplicações de simulação baseadas em RV para a área médica [5]. Para tanto, o sistema CyberMed possui classes que permitem a visualização tridimensional de cenas através da utilização do conceito de estereoscopia [6]. Neste contexto, uma aplicação que utiliza o CyberMed pode gerar um par de imagens que, ao serem observadas pelo usuário, oferecerá a sensação de profundidade da cena. A estereoscopia pode ser entendida como a fusão, feita no cérebro, de duas imagens bidimensionais resultantes da projeção planar de uma cena tridimensional [6]. Então, para a criação de uma cena estereoscópica é necessário um conjunto de técnicas que permitirão gerar um par de imagens, denominado par estéreo, da mesma cena. Em seguida, é necessário o uso de equipamentos especiais para a visualização individual de cada imagem deste par para cada um dos olhos. Alguns dos principais dispositivos para visualização estereoscópica são os óculos com filtros coloridos, óculos com filtros polarizados, os head mounted displays (HMD) e os óculos obturadores (shutter glasses). Para cada um desses dispositivos corresponde uma técnica que adapta o par estéreo ao dispositivo escolhido para visualização do sistema [7]. Um dos principais problemas na implantação de estereoscopia em aplicações de RV é o custo financeiro atrelado aos dispositivos de visualização do par estéreo. A técnica que utiliza óculos polarizados exige o uso de dois projetores e filtros para polarizar a luz de forma adequada. Por sua vez, a técnica de luz intermitente demanda um projetor ou monitor de alta freqüência, uma placa de vídeo específica e óculos obturadores (shutter glasses), cujos custos podem tornar pouco viável seu uso em aplicações na qual se deseja baixo custo financeiro. Neste sentido, apesar da existência de HMDs de preços acessíveis, estes são individuais e não permitem o uso em grupos de trabalho. Por esses fatores, uma solução viável para visualização estereoscópica que pudesse ser utilizada em grupos e em plataformas populares é a técnica de anaglifo que utiliza óculos com filtros coloridos. Nesta técnica não são exigidos projetores ou equipamentos especiais, sendo necessário apenas o uso de óculos com filtros coloridos que podem ser confeccionados pelo próprio usuário [7]. O objetivo deste trabalho foi criar uma classe para implementar técnicas que proporcionem ao desenvolvedor de aplicações com o CyberMed a possibilidade de oferecer imersão através da utilização de cenas estereoscópicas, sem a necessidade de utilizar recursos computacionais específicos. O baixo custo computacional e financeiro foi o principal motivo para a escolha do método de visualização estereoscópica por anaglifos. Nesse método, foi utilizada a técnica de anaglifo colorido, visto que a mesma empreende aos anaglifos a menor perda de cores possível. Mostraremos, através da análise dos resultados obtidos, que a classe desenvolvida amplifica a imersão nas cenas do sistema CyberMed, atendendo aos requisitos de baixo custo financeiro e computacional. Por gerar cenas de maior qualidade e viabilizar a popularização do sistema, a inclusão do método expande as funcionalidade e possibilidades de uso do CyberMed [8]. 2. TÉCNICAS DE ESTEREOSCOPIA COM ANAGLIFO Para a observação estereoscópica de uma cena, deve-se primeiro escolher o método de geração do par estéreo. Essa escolha deve ser cuidadosa visto que a utilização de um método inadequado pode ocasionar efeitos indesejados. Na criação do par estéreo, uma imagem da cena precisa ser desenhada duas vezes com uma pequena alteração na posição horizontal do observador. Essa diferença na posição do observador faz com que um único ponto da cena original seja colocado em dois pontos diferentes no par de imagens formado. A diferença na posição desse ponto para as duas imagens, denominada paralaxe, é o que nos vai dar a sensação de profundidade para esse ponto. No entanto, caso a paralaxe seja calculada de forma errada, o observador perderá a visão tridimensional para aquele ponto [1]. O CyberMed utiliza o método off-axis para a geração do par estéreo. Esse método consiste na criação de dois centros de visualização (cada um representando um olho humano) através de deslocamentos do centro de projeção original ao longo do eixo horizontal. Em comparação com os outros métodos existentes - o on-axis(imagens geradas por translações do objeto) ou o das rotações(imagens geradas por rotações do objeto) – o método off-axis é o que gera o par estéreo de forma mais correta, minimizando as perdas de informação e as disparidades que podem ser geradas pela paralaxe. O método off-axis é ainda o que requer mais processamento pelo computador, porém, dado atual nível das máquinas, até um computador pessoal popular pode trabalhar com esse método e obter resultados eficientes [9]. É importante observamos ainda que independente do dispositivo utilizado para a visualização estereoscópica, a criação do par estéreo permanece a mesma, visto que a única função de todos os dispositivos, mesmo que de diferentes formas, é fazer com que cada olho enxergue individualmente as imagens do par estéreo. 2.1 Método Anaglifo No método anaglifo o par de imagens estéreo é exibido simultaneamente e fica a cargo dos óculos coloridos a filtragem adequada da cena. Em virtude desse paralelismo o método de anaglifo pode ser classificada como um método de tempo paralelo [9]. Uma vez que as imagens são exibidas de forma paralela é necessária a utilização de uma técnica para que seja realizada a filtragem do que cada olho do observador deve perceber. O método de anaglifo utiliza a técnica de filtragem por cores, para tal, ele capta apenas as componentes de determinadas cores para as imagens da direita e da esquerda. A captação de certas componentes coloridas é possível com a aplicação de máscaras nas cores adequadas, dessa forma a imagem resultante da fusão do par estéreo terá seus pixels desenhados apenas com as componentes de cor que utilizamos nas máscaras. Após terminado o processo de fusão das imagens do par estéreo, a técnica deixa para os filtros coloridos dos óculos a filtragem adequada da cena [10]. Observamos que, de acordo com a máscara de cores aplicadas nas imagens, o resultado visual da cena final poderá apresentar diferentes características. O primeiro método de anaglifo implementado no CyberMed aplicou uma máscara vermelha na imagem da direita e uma máscara azul na imagem da esquerda. É nesse método, denominado anaglifo verdadeiro, que são observados os melhores resultados no tocante à sensação de profundidade em cenas com visualização estereoscópica geradas por anaglifos, contudo, observando-se o fato de que apenas as componentes de cor azul e vermelha estão disponíveis, a cena gerada tende a ser exibida em um tom magenta [8]. 2.2 Anaglifo Colorido O método de anaglifo colorido utiliza-se da aplicação da máscara vermelha à imagem da esquerda e da máscara ciano (balanceamento proporcional entre azul e verde) à imagem da direita do par estéreo. Esse método é um pouco menos eficiente no tocante à sensação de profundidade em relação ao anaglifo verdadeiro. Porém, com a camada de cor verde sendo utilizada, a imagem resultante da cena permite mais combinações de cores na fusão do par estéreo. Este fato permite que a coloração da cena tridimensional aproxime-se da coloração original da mesma [8]. A integração do método de anaglifo colorido ao sistema CyberMed veio suprir o alto grau de perda de cores gerado pela técnica de anaglifo verdadeiro. Por se tratar de uma aplicação com foco no ensino da medicina, torna-se de vital importância que o usuário possa observar no modo estereoscópico cores próximas às do modelo real. Tal fato facilitará ao usuário reconhecer e distinguir partes diferentes apenas pela observação da aplicação. Além disso, o método de anaglifo colorido torna a visualização acessível, dado o baixo custo do método e dos óculos utilizados, e mantém a qualidade da visualização, proporcionando assim maiores níveis de imersão e aprendizado. Soma-se a esses motivos o fato de qualquer método de anaglifo pode ser impresso o que torna a utilização da classe ainda mais relevante. 3. IMPLEMENTAÇÃO No sistema CyberMed a classe Cyb3DWorld cria uma janela gráfica e prevê métodos que tratam todas as operações da janela gráfica, tais quais redimensionamento, interação por mouse, teclado e iluminação, deixando apenas a visualização do sistema a cargo das suas subclasses [11]. Assim como as outras classes de visualização do CyberMed, a classe para uso de anaglifos coloridos desenvolvida e chamada CybViewColorAnaglyph, herda métodos da Cyb3DWorld, o que faz com que ela tenha acesso a todos os procedimentos necessários para a exibição de uma cena. Além disso, métodos da Cyb3DWorld prevêem a geração do par estéreo pelo método off-axis descrito anteriormente. Uma vez que as definições de como as imagens serão formadas já estão prontas, a classe CybViewColorAnaglyph trata da aplicação das máscaras de cores de forma a obtermos a imagem anaglifo. É importante detalharmos que as cenas geradas pelo sistema são divididas em camadas. Essa divisão permite que seja feita a observação dos resultados em várias áreas, o que possibilita em uma única execução de uma aplicação desenvolvida com o CyberMed a observação dos vários tecidos e sistemas que compõem o corpo humano. Por exemplo, é possível que o usuário observe ao mesmo tempo o tecido epitelial e os sistemas ósseo e digestivo na representação do tórax humano. Assim como na visualização, a coloração da cena também foi dividida em camadas. A cor de cada objeto presente na cena está armazenada na classe CybParameters. A CybParameters é a classe que armazena todos os parâmetros de visualização do sistema. Desses parâmetros, o que é utilizado pela CybViewColorAnaglyph é o parâmetro color. O parâmetro color é um arranjo bidimensional que armazena a cor de cada objeto gráfico criado na cena e a camada em que se encontra esse objeto. A Cyb3DWorld define um apontador para CybParameters, denominado CybCore que será utilizado pela CybViewColorAnaglyph para acessar o arranjo color. Dessa forma, os anaglifos são providos pela CybViewColorAnaglyph, criando as duas imagens através de métodos da Cyb3DWorld, liberando a máscara de cor correta para cada imagem e em seguida acessando, através do apontador cybCore, o arranjo color. É então criado um laço, varrendo cada camada da cena, capturando a cor de cada objeto e redesenhando adequadamente as duas cópias do objeto que formarão o anaglifo. O sistema CyberMed já possuía três classes de visualização integradas: a CybViewMono que exibe cenas monoscópicas, a CybViewShutter que exibe cenas estereoscópicas a serem visualizadas com óculos obturadores e a CybViewAnaglyph que exibe cenas com o método de anaglifo verdadeiro. Conforme dito anteriormente, todas as classes de visualização são subclasses da classe abstrata Cyb3DWorld e podemos observar como são dispostas as classes de visualização do CyberMed na Figura 3.1. 4. RESULTADOS Para a análise dos resultados obtidos pela classe descrita nesse artigo, utilizamos duas classes de visualização já existentes no CyberMed. As visualizações geradas com a utilização das classes CybViewMono e CybViewAnaglyph podem ser comparadas com a cena gerada com o uso da classe CybViewColorAnaglyph. Fig. 3.1 – Diagrama de Classes de Visualização do sistema CyberMed. Para a execução dos testes foi utilizado um conjunto de cinco modelos de estruturas do coração. Inicialmente foi gerada a visualização monoscópica, como pode ser observado na Figura 4.1. Posteriormente, foi utilizada a classe CybViewAnaglyph e a classe CybViewColorAnaglyph para gerar a visualização dos mesmos modelos. A observação a olho nu dos resultados, já permite observar a perda da informação de cor com o método de anaglifo verdadeiro (Figura 4.2), ao passo que o método de anaglifo colorido possibilita a manutenção das cores (Figura 4.3) . Neste caso, a perda das cores torna evidente o comprometimento da compreensão de estruturas anatômicas dentro de uma aplicação na área médica com o método de anaglifo verdadeiro e ressalta a necessidade da preservação das cores na visualização. Fig. 4.1. Visualização não estereoscópica criada pelo sistema CyberMed. Ressalta-se ainda que, uma vez que o método de anaglifo pode ser impresso, a utilização de óculos com filtros coloridos possibilita a observação tridimensional das Figuras 4.2 e 4.3 deste artigo. equipamentos específicos e de maior custo que o método de anaglifo. Tal fato torna-se relevante quando pretende-se que a aplicação final gerada pelo CyberMed possa ser utilizada por grupos de alunos e em instituições diversas. Neste caso, a existência de uma classe que permita o uso de cores no processo de visualização estereoscópica por anaglifo, permite expandir as possibilidade de uso do CyberMed para aplicações em plataformas populares. REFERÊNCIAS BIBLIOGRÁFICAS Fig. 4.2. Visualização estereoscópica utilizando o método anaglifo verdadeiro. Fig. 4.3. Visualização estereoscópica com anaglifo colorido gerado com a classe CybViewColorAnaglyph. 5. CONCLUSÃO Através da análise dos resultados, foi possível comprovar que foi gerada, com a classe descrita nesse artigo, uma visualização tridimensional de qualidade superior à conseguida pela classe de visualização tridimensional com métodos de anaglifo que já existia no CyberMed. Isso foi possível, graças a razoável manutenção de cores da cena tridimensional em relação à cena original e da permanência do baixo custo computacional e financeiro. Apesar de haverem métodos de visualização estéreo que apresentam melhor qualidade, tais métodos exigem o uso de [1] G.C. Burdea e P. Coiffet, “Virtual Reality Technology”, Wiley-Interscience, 2ª Edição, Nova Jersey, 2003. [2] W.R. Sherman, A.B. Craig, “Understanding Virtual Reality : Interface, Application and Design”, Morgan Kaufmann, 1ª Edição, San Francisco, 2003. [3] A. Bowman, R.P. McMahan, “Virtual Reality: How Much Immersion is Enough?”. Computer Innovative Technology for Computer Professionals, vol 40, no. 7, pp. 36-43, Julho 2007. [4] M. Siegel, S. Nagata. “Just Enough Reality: Comfortable 3-D Viewing via Microstereopsis”. IEEE Transactions On Circuits And Systems For Video Technology, vol. 10, no. 3, pp. 387 – 396, Abril 2000. [5] D.F.L. Souza, Í.L.L. Cunha, L.C. Souza, R.M. Moraes, L.S. Machado, “Development of a VR Simulator for Medical Training Using Free Tools: A Case Study”. Proc. of Symposium on Virtual and Augmented Reality (SVR'2007), pp. 100-105, Maio 2007. [6] L.S. Machado, R.M. Moraes, “Cenários 3D Interativos com Software Livre”. Revista de Informática Teórica e Aplicada, Porto Alegre, UFRGS, vol. 12, no. 2, pp. 91112, Outubro 2005. [7] D.F. McAllister, “Stereo and 3-D Display Technologies”. Encyclopedia of Imaging Science and Technology, John Wiley & Sons, pp. 1327-1344, Janeiro 2002. [8] J.M. Zelle, C. Figura, “Simple, Low-Cost Stereographics: VR for Everyone” , ACM SIGCSE Bulletin, Proceedings of the 35th SIGCSE Technichal Symposium on Computer Science Education SIGCSE '04, vol. 36, pp. 348-352, Março 2004. [9] L.F. Hodges, “Tutorial: Time-Multiplexed Stereoscopic Computer Graphics”. IEEE Computer Graphics and Aplications, vol. 12, no. 2, pp. 20-30, Março 1992. [10] M. Woo, J. Neider, T. Davis, D. Shreiner, “OpenGL Programming Guide”. Addison-Wesley, 5ª Edição, Indianapolis, 2005. [11] H. Schildt, “C++: The Complete Reference”, McGrawHill/ Osborne, 4ª Edição, California, 2003. Edições Anteriores WARV (Workshop de Aplicações de Realidade Virtual) WARV'05 - I Workshop de Aplicações de Realidade Virtual Realizado em 22 a 24 de Novembro de 2005 Universidade Federal de Uberlândia – UFU Faculdade de Engenharia Elétrica WARV 2006 - II Workshop de Aplicações de Realidade Virtual Realizado em 21 a 24 de Novembro de 2006 Universidade Federal de Pernambuco – UFPE Centro de Informática WRA (Workshop de Realidade Aumentada) WRA 2004 I Workshop de Realidade Aumentada Realizado na UNIMEP, Piracicaba - São Paulo em 2004 WRA 2005 II Workshop de Realidade Aumentada Realizado na UNIMEP, Piracicaba - São Paulo em 2005 WRA 2006 III Workshop de Realidade Aumentada Realizado na UERJ, Rio de Janeiro em 2006