• Nenhum resultado encontrado

UTILIZANDO XML PARA RECONFIGURAR AMBIENTES VIRTUAIS.

N/A
N/A
Protected

Academic year: 2021

Share "UTILIZANDO XML PARA RECONFIGURAR AMBIENTES VIRTUAIS."

Copied!
5
0
0

Texto

(1)

UTILIZANDO XML PARA RECONFIGURAR AMBIENTES VIRTUAIS.

(Autores Omitidos para Revisão Cega)

Resumo - Este artigo apresenta o trabalho realizado para o

desenvolvimento de um ambiente virtual reconfigurável a partir do parseamento de dados entre o sistema e estruturas XML. O sistema utiliza os dados armazenados em arquivos XML para configurar os objetos que serão adicionados no Ambiente Virtual.

Palavras-Chave – Realidade Virtual, XML e Ambientes

Reconfiguráveis.

Abstract – This paper presents the realized work for the development of a reconfigurable virtual environment from data parsing between the system and XML structures. The system uses the data stored in XML files to configure the objects that will be added in the Virtual Environment.

Keywords - Virtual Reality, XML, Reconfigurable

Environments.

1 INTRODUÇÃO

A Realidade Virtual (RV) vem se tornando cada vez mais utilizada. Muitas são suas aplicações em várias áreas. É possível citar alguns dos usos mais freqüentes dessa tecnologia em áreas como a Educação, Comércio, Indústria, Entretenimento, Medicina, Treinamento, dentre outras [6] [7].

A criação de interfaces em RV envolve um controle tridimensional altamente interativo de processos computacionais. O usuário entra o Ambiente Virtual (AV) e visualiza, manipula e explora os dados da aplicação em tempo real. A grande vantagem desse tipo de interface é que o conhecimento intuitivo do usuário tem a respeito do mundo físico pode ser transferido para manipular o mundo virtual. [2].

Nesse contexto, a motivação desse artigo é apresentar o trabalho que permite modificar o AV, por meio da alteração dos atributos dos objetos inseridos no ambiente e ou a criação de novos objetos, sem que seja necessário programação adicional e que, de certa forma, também auxilie a criação de um novo ambiente virtual sem que o usuário possua conhecimentos de programação ou detalhes técnicos sobre a implementação de AVs.

A idéia básica é gerar um novo AV ou alterar o existente, por meio da manipulação de registros em um arquivo de configuração XML (Extensible Markup Language) [1], sem a necessidade de se alterar o código fonte da aplicação, assim adaptando o AV as novas necessidades de seus usuários ou modificando-o quando o mesmo se tornar obsoleto ou cansativo, devido a constante uso de um único AV.

A Seção 2 apresenta conceitos básicos de AV. 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 Ambientes Virtuais Reconfiguráveis.

Os AVs permitem simular fenômenos reais (física, química, matemática, dentre outras) ou mesmo outras situações reais, por meio de experiências virtuais. Tais situações e fenômenos necessitam de reconfiguração dos objetos envolvidos, de modo que possam ser feitas diversas experiências aumentando o grau de realismo do AV [8]. Tal reconfiguração de objetos ocorre durante a navegação no ambiente, por meio da alteração das coordenadas e de dimensões dos objetos.

A idéia de Reconfiguração em AV ocorre também quando um periférico é trocado ou o AV é carregado em outra plataforma diferente aquele o qual foi projetado [3].

A inserção ou remoção, bem como a alteração das características dos objetos como dimensões e coordenadas são normalmente utilizados em AV, permitindo uma maior interação com o AV. Tais alterações modificam características individuais de alguns objetos inseridos no AV, o que mantém o AV praticamente com o mesmo cenário. A idéia básica apresentada neste artigo de reconfiguração de AV é gerar um AV que possa modificar todo o seu cenário, sem a necessidade de programação adicional, por meio de alterações de atributos que são carregados de fontes externas. 3 FUNDAMENTOS TECNOLÓGICOS

3.1 Java e API 3D

A linguagem de programação Java é uma linguagem orientada a objetos, que 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) [9].

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 peculiares, desde a implementação em uma variedade de plataformas, até a possibilidade de carregar outros conteúdos 3D, como VRML, OBJ e outras extensões 3D externas, além da construção de diversas formas adicionando comportamento e interagindo com o usuário. Além disso, ela pode ser integrada com outras

(2)

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 [4].

3.2 XML

XML é uma linguagem de marcação de texto, semelhante ao HTML que está sendo utilizada na WEB como padrão para troca de dados. A grande facilidade da 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 que um único arquivo XML seja utilizado por diversas aplicações, desde que seus nomes de marcações concordem entre si [1].

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 específica. No caso é apresentado um exemplo do registro de um estudante, armazenando seu nome e sua senha.

Figura 1. Exemplo de estrutura XML.

3.3 XML e Java

A linguagem de programação Java disponibiliza um conjunto de APIs 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 tais como: DOM, JAXP,

JAXB, JAXR, JDOM, JOX, JSX, SAX, StAX, XStream, Dessa

gama de opções, a API XStream foi a escolhida.

A XStream é uma biblioteca para serializar objetos para XML, que 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 [5].

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 e quais os resultados obtidos a partir de sua implementação.

4.1 Descrição Geral

Como mencionado, no trabalho foi desenvolvido um ambiente reconfigurável por meio do parseamento de dados entre o sistema e estruturas XML. A Figura 2 apresenta a estrutura do projeto.

Figura 2. Estrutura do Projeto.

O Módulo Aplicação – Ambiente Virtual, consiste na aplicação que utiliza os métodos para inserção ou configuração do AV. O módulo Classes para inserção de objetos consiste nas classes que provêem métodos que configuram o ambiente. Neste módulo são inseridos os objetos no AV. O módulo Classes Objeto Java define os atributos que serão utilizados para configuração dos objetos a serem inseridos no AV. O módulo da Biblioteca XML, por sua vez, tem a finalidade de fazer o parseamento entre o módulo Arquivo XML e a Classe de Objetos Java, ou seja, o módulo Arquivo XML consiste nas estruturas XML que armazenam os atributos que serão usados para configurar o AV.

4.1.1 Desenvolvimento

Como mencionado, os dados de configuração referentes ao AV são armazenados em uma estrutura XML e carregados nos objetos Java. O AV inteiro pode ser remodelado ou recriado, alterando-se coordenadas e valores nos arquivos XML que compõem e configuram o sistema. A cada geração do AV, os dados são lidos alterando os valores dos objetos que são criados. Os arquivos XML podem ser alterados utilizando qualquer editor de textos.

O módulo com as classes de Objetos Java é formada por uma classe que possui os atributos e os métodos utilizados para gravar e recuperar os valores do AV armazenados em arquivos XML (av.xml e avmov.xml). Por meio dessa classe são disponibilizados os valores dos atributos a serem utilizados pela classe que faz a inserção dos objetos no do AV.

Classes para inserção de objetos

Biblioteca XML – Parseamento de dados

Arquivo XML Aplicação - Ambiente Virtual

(3)

O projeto consiste na elaboração de um AV que permite a navegação e a inserção ou remoção de objetos na cena. A inserção ou remoção de objetos durante a navegação ocorre quando um item do menu é selecionado, mudando os objetos que já estão definidos e vinculados a este item do menu. O menu e seus vínculos também são armazenado em uma estrutura XML para a navegação entre novas salas do AV, seguindo o padrão de reconfiguração do ambiente. O AV consiste em objetos fixos e objetos temporários. Os objetos fixos formam o AV e os objetos temporários permitem a interação com o ambiente pelo usuário.

A configuração dos objetos criados é armazenada nos arquivos XML. Atualmente são utilizados quatro arquivos de configuração.

A principal estrutura XML é formada pela estrutura dos itens do menu, que será utilizado para navegação. Este arquivo também contém referências a arquivos externos, que poderão ser utilizados para apresentar multimídia dentro do ambiente. No momento este recurso é apresentado externamente. Os tipos de recursos que podem ser usados no momento são apresentados Tabela 1. O sistema principal de trabalho permite a inserção de menus e referências, criando vários tipos de configurações. Os itens dos menus são interligados permitindo que um menu novo seja gerado a cada item selecionado.

Tabela 1. Tipos de recursos e os formatos disponibilizados no sistema.

Recurso Formato

Texto TXT, DOC e HTML

Imagem JPG, GIF, BMP e PNG

Som MID, WAV e MP3

Vídeo MOV, AVI, JPEG e WMV

Apresentação de Slides PPT e PPS

A configuração dos objetos fixos é armazenada no arquivo av.xml. Este arquivo possui em sua estrutura os atributos que identificam e configuram o objeto a ser inserido no ambiente. Suas coordenadas, tamanho, aparência (cor, transparência, textura) e o tipo de primitiva a ser utilizado para representar o objeto estão definidos neste arquivo.

O ambiente permite a criação de objetos temporários que são inseridos ou removidos conforme a disponibilização dos recursos inseridos na criação do menu. Tais objetos são armazenados no arquivo avmov.xml (Figura 3), que possui a mesma estrutura do arquivo av.xml. Este tipo de objeto está vinculado a apresentação dos recursos, sendo eles apenas apresentados no ambiente se possuírem vínculos com os registros criados para representar os recursos áudio visuais.

Os recursos são apresentados no AV por meio da representação de objetos geométricos. A configuração destes objetos segue o padrão dos arquivos anteriores, adicionando alguns campos para a replicação de tais objetos conforme a quantidade de recursos áudio visuais que se deseja representar, bem como a distância entre eles e para que direção devem ser criados. Estes dados são armazenados no arquivo resconf.xml. Nesta estrutura também é configurado onde será apresentado o menu. Para isso o atributo tipoav

recebe os valores quadromenu e textmenu, que são valores base de coordenadas para apresentação dos itens no menu.

Figura 3. Estrutura XML com dados povoados no arquivo avmov.xml.

Caso o arquivo av.xml seja alterado, o AV será alterado quando carregado, tendo um ambiente 3D reconfigurável. Dessa forma é possível criar qualquer ambiente desde que as coordenadas (tamanho, tipo de objeto, cor e textura), sejam especificadas ou alteradas.

Com a criação de um novo AV, alterando-se os valores do arquivo av.xml, as localizações e dimensões dos objetos temporários, menus e objetos que representam os recursos áudio visuais podem não ser mais compatíveis com o novo ambiente. Para que isso não ocorra deve-se alterar os valores de todos os arquivos XML, conforme as necessidades do novo ambiente.

A Figura 4 apresenta um trecho código utilizado para a inserção dos objetos que irão formar o AV, por meio de dados parseados do arquivo av.xml. Os dados do arquivo são lidos e carregados em uma variável do tipo ArrayList, que será utilizada para enviar os valores de configuração para o método criaobjeto().

Figura 4 – Trecho de código utilizado para inserção dos objetos que formam o AV.

(4)

O método criaobjeto() (Figura 5) tem a finalidade de inserir o objeto na cena. Por meio deste método é feita toda a configuração do objeto a ser apresentado na cena. Conforme apresentado, todos os dados para configuração do objeto são utilizados neste método (tamanho, localização, aparência, mobilidade e o tipo de geometria primitiva que irá ser utilizado como: Colorcube, Box, Cone, Cilinder e Sphere).

Figura 5 – Método criaobjeto().

As Figuras 6 e 7 apresentam exemplos de ambientes gerados a partir da alteração da estrutura XML, onde foram adicionados ou removidos registros ou por meio da alteração dos valores dos atributos existentes.

A Figura 6 apresenta um AV simulando uma sala com vários móveis. Cada objeto criado consta no arquivo XML. Os móveis inseridos no ambiente foram carregados pelo

avmov.xml e sua apresentação está vinculada ao menu. Caso

outra opção do menu seja selecionada, os móveis atuais são removidos e outros são carregados. A sala continua a mesma.

Figura 6 – Exemplo: Sala Virtual.

A Figura 7 consiste de uma área livre composta por uma rua, calçada e iluminação Este ambiente foi criado utilizando

poucos objetos inseridos no arquivo av.xml. Vários outros objetos podem ser inseridos para que sejam apresentados no decorrer do percurso.

Figura 7 – Exemplo: AV de uma área livre. 4.1.2 Resultados Alcançados

A partir da estrutura criada no projeto, é possível criar um AV totalmente reconfigurável por meio do parseamento de informações entre os objetos e a estrutura XML sem a necessidade de alteração direta do código do AV, permitindo a geração de AV adaptáveis as necessidades dos usuários.. 5 CONCLUSÕES E TRABALHOS FUTUROS

Como é possível observar, o AV pode ser alterado totalmente, inclusive com modificação do tema. Atualmente o AV base consiste de uma sala virtual com móveis onde são apresentados recursos áudio visuais.

Com a alteração do AV é possível utilizá-lo para treinamentos, apresentações de projetos e outras áreas que necessitam da mudança de cenários constantemente. Este ambiente pode ser alterado, gerando novos ambientes que podem ser utilizados para receber os recursos, já que todas as coordenadas, tamanhos e geometrias podem ser alteradas, adicionadas ou removidas. Com isto tem-se um sistema reconfigurável, que permite a adequação conforme as necessidades de um grupo de usuários em particular, ou mesmo quando o AV atual já se tornou obsoleto ou mesmo cansativo. Isso é feito sem que sejam necessárias profundas alterações nos códigos que implementam as classes desenvolvidas.

Utilizando XML para armazenar os dados para geração do AV, é possível implementar um editor de AVs, para que, a partir da inserção ou carregamento dos dados dos arquivos XML, novos ambientes possam ser criados de uma forma mais flexível e fácil. Dessa forma, usuários com pouco ou mesmo sem conhecimento em RV podem gerar AVs para esta aplicação ou para novas aplicações que utilizem alguma forma de treinamento ou desenvolvimento de ambientes.

(5)

REFERÊNCIAS BIBLIOGRÁFICAS

[1] 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.

[2] F.A.P. Fialho; E.L.M. Matos. Educação, comunicação e tecnologias: uma nova geometria para os diferentes espaços educativos. Revista Diálogo Educacional, Curitiba, v. 4, n.12, p.143-156, maio/ago, 2004.

[3] G. Reitmayr; D. Schmalstieg. OpenTracker - An Open Software Architecture for Reconfigurable Tracking

based on XML. Virtual Reality, 2001. Proceedings. IEEE

Volume , Issue , 17-17 March 2001 Page(s):285 – 28, Digital Object Identifier 10.1109/VR.2001.913799, 2001.

[4] H.A. Sowizral; D.R. Nadeau. Introduction to

Programming with Java 3D. Sun Microsystems, 1999.

[5] http://xstream.codehaus.org/. acessado em 20/08/07. [6] M. Braga. Realidade Virtual e Educação. Revista de

Biologia e Ciências da Terra, ISSN 1519-5228, Volume 1, Número 1, 2001.

[7] N. Sala. Virtual Reality in the Educational

Environments. IEEE Virtual Reality, 0-473-08801-0/01 ,

2002.

[8] Q.M. SHAHAB; Y. KWON; H. KO. Collaborative virtual experience based on reconfigurable simulation. Proceedings of SPIE, the International Society for Optical Engineering ISSN 0277-786X CODEN PSISDG, 2006.

[9] 7Sun Microsystems. The Java Language: An Overview. http://java.sun.com/docs/overviews/java/java-overview-1.html, acesso em 12/09/2007.

Referências

Documentos relacionados

Diante disto o objetivo deste trabalho foi avaliar a extração de antocianinas a partir do repolho roxo (Brassica oleracea), em diferentes condições de pH, temperatura e

Resultados obtidos nos levantamentos efetuados apontam para a possibilidade de se complementar a metodologia para avaliação de pavimentos atualmente disponível no Brasil através do

Os estudos iniciais em escala de bancada foram realizados com um minério de ferro de baixo teor e mostraram que é possível obter um concentrado com 66% Fe e uma

Mesmo com a maioria dos centenários apresentando elevado percepção qualidade de vida, viu-se que o nível de atividade física e a média de número passo/dia, foram inferiores

A apixaba- na reduziu o risco de AVE e embolismo sistêmico em mais de 50%: houve 51 eventos entre os pacientes do grupo apixabana versus 113 no grupo do AAS

Tendo como parâmetros para análise dos dados, a comparação entre monta natural (MN) e inseminação artificial (IA) em relação ao número de concepções e

Após 96 horas, houve um aumento no consumo, com o aumento de 100 para 160 ninfas, que não diferiu significativamente da densidade 220; com 280 ninfas disponíveis houve um

Quadro 5-8 – Custo incremental em função da energia em períodos de ponta (troços comuns) ...50 Quadro 5-9 – Custo incremental em função da energia ...52 Quadro 5-10