Vrml - Virtual Reality Modelling Language
-
Upload
milton-design-studio -
Category
Design
-
view
5.532 -
download
8
Embed Size (px)
description
Transcript of Vrml - Virtual Reality Modelling Language

VRMLVirtual Reality Modelling Language
UnicariocaAluno: Milton Ferreira de Andrade FilhoMatr.: 1072160001 Turma: 12223Prof.: Carlos Alberto Pereira Bahiana

Introdução à VRMLA Internet é uma rede de computadores que conecta Universidades, Empresas, Centros de Pesquisa, Lares e Departamentos do Governo. Podese pensar na Internet como a maior rede de computadores do mundo, e como uma poderosa ferramenta de comunicação. Atualmente um dos recursos mais utilizados da Internet é a WWW (World Wide Web), que provê uma forma de acesso e recuperação de informações através de links a documentos, onde um link corresponde a uma conexão entre pontos da rede que permite que sejam feitas referências a outros documentos, outras seções do próprio documento ou figuras nas páginas de um serviço de informações na WWW. Podese caracterizar WWW como um conjunto de informações distribuídas pela Internet, onde o usuário "navega" através dos diversos sites.
VRML (Virtual Reality Modelling Language) é uma linguagem de descrição de cenas ou mundos 3D, usada para criar ambientes tridimensionais que podem ser transmitidos através da Internet. VRML é atualmente o formato de compartilhamento de descrições tridimensionais mais difundido na Internet, assim como o HTML é o formato mais difundido para descrição de páginas hipermídia. Arquivos com extensão *.wrl contêm descrições compactas de mundos virtuais (cenas) que podem ser transferidas através da Web e visualizadas através de navegadores VRML. Ao permitir que objetos em um mundo tridimensional possam referenciar outros mundos e recursos da Web, VRML cria espaços de interação multidimensionais.
Figura 1: Cubo 3D

A VRML não trata de realidade virtual, pois, não modela experiências imersivas em mundos 3D nas quais são usadas, por exemplo, capacetes, luvas e outros sensores, embora nada impeça que aplicações de realidade virtual possam se utilizar de VRML como suporte à descrição de cenas e suas propriedades interativas.
Outro aspecto importante sobre VRML é que ele não é um modelo multiusuário. O esquema de documentos, códigos ou mundos virtuais sob demanda, obtido com o suporte de HTML, Applets Java e VRML, respectivamente, não oferece suporte natural ao compartilhamento simultâneo de um mesmo mundo virtual por várias pessoas. No caso de VRML cada usuário da Web interage individualmente com sua própria cópia isolada do mundo virtual, alheio às explorações empreendidas por outros usuários que podem estar naquele mesmo instante utilizando outra cópia daquele mesmo mundo.
Figura 2: Capacete 3D
Figura 4: Ambiente Multiusuário
Figura 3: Luva 3D

Ambiente Virtual Distribuído – DVEExistem atualmente projetos que intergrado ao VRML permite um ambiente virtual compartilhado ou ambiente virtual distribuído (DVE Distributed Virtual Environment). O DVE é uma simulação em temporeal de um mundo real ou imaginário, onde usuários estão simultaneamente presentes e podem navegar e interagir com objetos e outros usuários.
Um ambiente virtual distribuído (DVE) necessita das seguintes características:
Permitir que um grupo de usuários separados geograficamente possam interagir em tempo real;
Permitir um número elevado de usuários simultaneamente conectados; Precisa ser tridimensional para os olhos e ouvidos. Movimentos no ambiente
mudam a perspectiva visual e auditiva do usuário; Os usuários são representados por avatares (personagens representativos no
mundo virtual); Precisa mudar com a movimentação dos usuários (entrada, saída e movimentação
no ambiente), criando com isso uma dificuldade adicional; Permitir simulações computacionais podendo ir além da imitação com o mundo
real; Permitir comunicação verbal (microfone e fone de ouvido/caixa de som); Possibilidade de ser executado em equipamentos (hardware) acessíveis e redes de
acessos mais populares e com banda suficiente.
Estes itens não são características necessárias para o funcionamento da DVE, mas é necessário para que atinja o grande público, para viabilizar os projetos.
Exemplos de Ambiente Virtual Distribuído – DVEDIVE (Distributed Interactive Virtual Environment), um ambiente desenvolvido pelo Swedish Institute of Computer Science. Tratase de um sistema de realidade virtual multiusuário baseado na Internet onde participantes navegam em um espaço 3D e vêem, encontram e interagem com outros usuários e aplicações.
NPSNET, um ambiente desenvolvido pelo Instituto Naval dos EUA que simula uma batalha.
MASSIVE, sistema desenvolvido pela Universidade de Nottingham. Na versão 3 este sistema incorporou testes para teleconferência.

NICE (Narrativebased, Immersive, Construtivist/Collaborative Environment), é um sistema onde crianças constroem e cultivam ecossistemas virtuais simples, colaboram, via rede, com outras crianças remotamente localizadas e criam histórias a partir de suas interações nos mundos real e virtual. Foi desenvolvido pela Universidade de Illinois e utiliza tecnologia Cave.
HISTORICITY é um ambiente virtual colaborativo distribuído que mostra a história da antiga Cingapura. Esta aplicação utiliza uma arquitetura clienteservidor que particiona o mundo virtual em comunidades, distribui essas comunidades entre um conjunto de servidores e migra os clientes de um servidor para outro à medida que os clientes se movimentam através das comunidades. Essa arquitetura busca reduzir o tráfego entre os servidores.
GORILLA WORLD é um ambiente virtual colaborativo que auxilia no aprendizado e estudo do comportamento dos gorilas que vivem no zoológico de Atlanta.
LRVChat3D, está sendo desenvolvido pela Universidade Federal de Santa Catarina para suporte ao ensino à distância.
RING, um sistema que utiliza algoritmo de visibilidade para determinar potenciais interações visuais entre entidades e com isso reduzir o número de mensagens enviadas.
CMW Collaborative Medical Workbench, um sistema de projeção desenvolvido na Alemanha para planejamento de cirurgias e treinamento.
AVCMV, um ambiente virtual colaborativo multiusuário para a Internet, que dá suporte ao ensino e envolve o desenvolvimento de ferramentas para possibilitar a criação de mundos virtuais por crianças e adolescentes, de maneira colaborativa e de acordo com o modelo construtivista de ensinoaprendizagem. Este ambiente está sendo desenvolvido como parte do Projeto Museu Virtual, por pesquisadores dos Centro de Pesquisas de São Carlos, Fundação Eurípedes de Marília e Universidade Federal de Santa Catarina.
Versões de VRMLA versão 1.0 de VRML, concebida em 1994, apresenta muitas limitações, principalmente no que se refere à modelagem de interação. Diversas empresas que desenvolveram navegadores para VRML 1.0 fizeram extensões proprietárias na linguagem, de modo a contornar estas limitações, o que contribuiu para que as várias versões diferentes de VRML 1.0 se tornassem incompatíveis entre si. Tal fato limitou bastante a disseminação de VRML 1.0 através da Web. A versão de VRML que promete ser mais adotada é VRML

97, que constitui um ligeiro aprimoramento de VRML 2.0 Moving Worlds. VRML 97 é suportada pelo Web3D Consortium (Web3D Consortium, 1999), antes chamado de VRML Consortium. VRML 97 já é um padrão controlado pela ISO International Standards Organization.
VRML 1.0VRML 1.0 suporta basicamente a especificação de um mundo 3D estático. Objetos VRML são chamados de nós, e quando organizados hierarquicamente constituem um grafo de cena. Em VRML 1.0 existem três tipos de nós:
• forma descreve a geometria primitiva de um objeto: cubo, esfera, cilindro ou cone;
• propriedade modifica a geometria original de um nó, acrescentando outras características como textura, luminosidade, etc., ou aplicando transformações como translação, rotação e escala, colocação de luzes direcionais, pointlight e spotlight;
• agrupamento agrupa um conjunto de nós e faz com que propriedades (e transformações) sejam aplicadas a todo o grupo.
VRML 97VRML 97 oferece substancial melhoria ao padrão VRML, capazes de tornála um formato 3D bem sucedido na Web. VRML 97 é uma linguagem dinâmica, apta a incorporar futuras características, cujos principais aspectos inovadores com relação a VRML 1.0 são o suporte à:
Figura 5: Objeto VRML 1

• Criação de mundos estáticos mais realistas cenários celestes e de terreno (montanhas, nuvens, nevoeiro), terrenos irregulares, nós geradores de som (grilos na mata, vidros que se quebram), etc.;
• Interação inclusão de sensores de aproximação, sensores de tempo e detectores de colisão;
• animação interpoladores de animação, para criar, por exemplo, objetos que modificam de cor quando se movendo;
• scripting e eventos nós especiais contém scripts que encapsulam e automatizam tratadores de eventos. Eventos são roteados entre complexas estruturas de tratamento de eventos, programadas em Java ou JavaScript ;
• prototipagem permite encapsular grupos de nós como um novo tipo, de modo que possa ser reutilizado em outros mundos.
Do VRML97 ao X3DX3D é o acrônimo para eXtensible 3D. X3D pode ser considerado como a evolução natural do padrão VRML97. Foi concebido para intercâmbio de conteúdo 3D com base na Web, sendo que este conteúdo é expresso como um documento XML (Extensible Markup Language). Com isto se combinam interoperabilidade e flexibilidade para se estabelecer um intercâmbio e executar aplicativos em diferentes plataformas computacionais através da Web.
X3D é um padrão aberto para distribuir conteúdo 3D. O X3D não é uma API de programação, nem tão pouco um formato de arquivo para troca de geometrias. Combina ambos, geometria e descrições de comportamentos instantâneos num simples arquivo que tem vários formatos de arquivos disponíveis para isso, incluindo o Extensible Markup Language (XML).
Figura 6: Cenário VRML 97 Figura 7: Ambiente tridimensional VRML97

O X3D surgiu de uma revisão da especificação ISO VRML97, e incorpora os avanços dos recursos disponíveis nos últimos dispositivos gráficos comerciais e também incorpora melhorias na sua arquitetura. O núcleo da especificação do X3D está em permanente desenvolvimento pelo X3D Specification Working Group (http://www.web3d.org/).
O X3D possui diversos níveis de funcionalidades através das várias definições de perfis. Um desses perfis é chamado de Interchange e é dirigido especificamente para ferramentas de criação de conteúdo digital (DCC) como AutoCAD, 3DMax e Maya.
Quais as principais diferenças entre X3D e o VRMLExistem algumas diferenças entre os dois padrões. O X3D como surgiu do VRML, aproveita o trabalho desenvolvido no VRML apresentando melhorias. Começaram por alterar as premissas básicas que foram desenvolvidas para promover uma maior flexibilidade. Essas mudanças iniciaram pela especificação que sofreu um completo ajuste e que se dividiu em três especificações separadas:
Conceitos Abstratos;
Formato de codificação para arquivos;
Acesso a linguagem de programação.
Outras modificações foram implementadas para incluir a maior precisão com a iluminação e modelo de eventos e a troca de nomes de campos para criar uma maior consistência.
As maiores e mais importantes melhorias foram:
Modelo de programação de aplicações revisto e unificado;
Figura 8: Modelo VRML 97 e X3D

Vários formatos de codificação, para descrever o mesmo modelo abstrato, incluindo o XML;
Arquitetura modular que permite uma variedade de níveis a ser adaptado e suportado por diversos tipos de interesses;
Estrutura da especificação expandida.
O X3D só tem uma interface de programação de aplicações (API), o que difere do VRML que possui uma API de script interna e mais uma API externa. O fato de o X3D ter uma única API resolve diversos problemas que existiam no VRML97, o que leva que X3D tenha uma implementação mais robusta e confiável.
O X3D também suporta vários tipos de codificações de arquivos, incluindo o VRML e o XML. A codificação XML permite uma integração com serviços Web e arquivos de transferência de dados entre plataformas. Cada uma das codificações tem as suas vantagens para diferentes aplicações. Todas as codificações suportam todo o conjunto de características de X3D.
O X3D possui uma arquitetura modular para promover uma maior extensibilidade e flexibilidade. A maioria das aplicações não necessitam de todos os recursos do X3D, e nem todas as plataformas suportam a totalidade das funcionalidades definidas na especificação. Os recursos do X3D são agrupados em componentes que podem ser suportados pela implementação em uma mistura de capacidades para atingir as necessidades de uma plataforma em particular. O X3D também introduz o conceito de perfis um conjunto de componentes que normalmente são encontrados em certos domínios de aplicações, plataformas, ou um cenário de uso, por exemplo, trocas de geometrias entre ferramentas de modelagem.
Diferente do VRML 97, onde é requerido um completo suporte das suas funcionalidades para que esteja em conformidade, o X3D permite vários níveis de suporte do padrão para atingir uma variedade de necessidades.
VRML e o CiberespaçoComo no ambiente virtual distribuído (DVE), alguns fatores que restringem o uso prático das tecnologias de mundos virtuais 3D na Internet são:
Poder computacional. Mesmo considerandose o avanço crescente dos computadores, as plataformas capazes de criar interações 3D em temporeal ainda são dispendiosas e complexas. Por outro lado, experiências focalizadas na solução de problemas mais restritos produzem efeitos satisfatório, como por exemplo, na criação de Shoppings Virtuais.

Fatores humanos. Embora nossos olhos captem uma visão 3D do mundo, a inteligência e cognição humanas criam modelos multidimensionais da realidade, onde se considera as dimensões temporais, a noção de propriedade e comunidade, etc. Esta capacidade humana de tratar multidimensionalidade sugere que o tridimensional, embora atraente aos olhos, não traz necessariamente mudanças qualitativas e quantitativas à interação .
Ausência de ferramentas e ambientes de desenvolvimento adequados. Construções virtuais 3D são complexas de construir e alterar. É difícil possibilitar ao usuário a capacidade de acrescentar contribuições ao mundo 3D que explora. Isto contribui para transformar os mundos virtuais 3D em vitrines dispendiosas que oferecem pouca possibilidade de explorar interações emergentes. O desenvolvimento de projetos baseados na tecnologia Java3D parece oferecer soluções básicas para este problema.
Alguma categorias de aplicações 3D para WEB:
Visualização de Produtos;
Maquetes Virtuais para Arquitetura;
Jogos On Line;
Treinamento à Distância.
Para as utilizações, citadas acima, é preciso algum tipo de player, pois os sistemas operacionais ainda não suportam 3D nativamente variando de plataforma (OpenGL, DirectX, etc.).
PlayersOs players podem ser do tipo ActiveX ou um Applet Java. No caso do Java o sistema já possui suporte para 3D, não sendo necessário na maior parte dos casos instalar o applet.
Geralmente os players baseados em ActiveX rodam em cima do DirectX, enquanto os applets Java utilizam o OpenGL.
Uma vez que todo sistema operacional hoje, vem com alguma versão de OpenGL. Então não faz sentido duplicar funcionalidades se é possível utilizar a API gráfica disponível. Isto vale também para o DirectX. São tantas as funcionalidades que muitos engines estão abandonando as rotinas proprietárias para utilizar as rotinas existentes nas APIs.

Exemplos de projetos em VRML (Java 3D)No exemplo abaixo o usuário pode “manusear” o aparelho de celular e conhecer as suas funcionalidades antes de adquirilo. (http://www.miotech.be/en/gpsnavigationdeviceMioA701overview.htm)
No próximo exemplo é apresentado um conjunto de jóias. É possível intergir com os modelos mudando a cor. Clicandose nas jóias se escolhe o modelo. Clicandose nas esferas se escolhe uma cor. (http://www.monbijou.net/demo.html)
Figura 9: Visão perpectiva do celular Figura 10: Visão do verso do mesmo celular
Figura 11: Visão com todas as jóias com a escolhida em perspectiva
Figura 12: Visão da jóia escolhida com a nova cor

No exemplo abaixo a proposta é a interação total do usuário permitindo construir, virtualmente, a sua mesa de trabalho. Através de opções clicáveis escolhese os elementos prédefinidos que farão parte do projeto final da mobília. A ferramenta permite ainda rotacionar o objeto. Podese observar na imagem os pontos em vermelho mostrando as opções que foram escolhidas. (http://formaspace.com/design_online.php )
Outras engines exclusivas para uso em Web como o VET player da Viewpoint (http://www.viewpoint.com/) e Wirefusion da DeMicron (http://www.demicron.com/gallery/index.html) já possuem ferramentas para o desenvolvimento e a publicação de aplicações 3D para a Web.
Na galeria de exemplos da Demicron (Imagem do tenis abaixo), permite interação (movimentação) do usuário com o produto mudando de vista.

Conclusão
A principal motivação para o desenvolvimento de ambientes 3D multiusuários na Web está na possibilidade de transformar a Web de um espaço basicamente de informação para um lugar social, com informação e com uma comunidade de usuários que compartilham essa informação e interagem entre si. Ainda que apenas um reduzido número de ambientes virtuais colaborativos estejam disponíveis, estes ambientes já mostram um grande potencial.

Bibliografia Utilizada
VRML
http://www.cic.unb.br/~jhcf/MyBooks/ciber/docppthtml/VRML.html
http://www.cic.unb.br/~jhcf/MyBooks/ciber/docppthtml/
http://www.inf.pucrs.br/~manssour/VRML/Intro.html
http://www.uff.br/mestcii/sueli1.htm
http://www.dca.fee.unicamp.br/courses/IA368F/1s1998/Monografias/alberto/
X3D
http://people.ufpr.br/~aberutti/projetos/x3d/x3d.htm
http://lmbg.blogspot.com/2007/03/visualizadorweb3d.html
http://pt.wikipedia.org/wiki/X3D
Ambientes Virtuais Cooperativos e Colaborativos
http://www.inf.ufrgs.br/~nedel/cmp513/12cooperativevrp.pdf
http://www2.dc.ufscar.br/~regina/apresentacoes/LDVEUSP.pdf