|
Prof. Dr. Claudio Kirner
Grupo de Pesquisa em Realidade Virtual
Departamento de Computação
Universidade Federal de São Carlos - UFSCar
SUMÁRIO
2. Visão Geral de Realidade Virtual
2.2. Realidade Virtual Imersiva e Não Imersiva
2.3. Tipos de Sistemas com Interfaces Não Convencionais
2.4. Configuração Genérica dos Sistemas com Interfaces Não Convencionais
2.5. Modelos de Interação do Usuário Associados a Ambientes Virtuais
3.2. Demanda Computacional da Realidade Virtual
3.3. Modelagem de Mundos Virtuais
4.2. Plataformas Baseadas em Estações de Trabalho
Realidade Virtual (RV) pode ser definida de uma maneira simplificada como sendo a forma mais avançada de interface do usuário de computador até agora disponível [46]. Com aplicação na maioria das áreas do conhecimento, senão em todas, e com um grande investimento das indústrias na produção de hardware, software e dispositivos de E/S especiais, a realidade virtual vem experimentando um desenvolvimento acelerado nosúltimos anos e indicando perspectivas bastante promissoras para os diversos segmentos vinculados com a área.
Uma definição um pouco mais refinada de realidade virtual é a seguinte : "realidade virtual é uma forma das pessoas visualizarem, manipularem e interagirem com computadores e dados extremamente complexos" [6]. Agrupando algumas outras definições de realidade virtual [21, 57, 60], pode-se dizer que realidade virtual é uma técnica avançada de interface, onde o usuário pode realizar imersão, navegação e interação em um ambiente sintético tridimensional gerado por computador, utilizando canais multi-sensoriais.
A interface com realidade virtual envolve um controle tridimensional altamente interativo de processos computacionais. O usuário entra no espaço virtual das aplicações e visualiza, manipula e explora os dados da aplicação em tempo real, usando seus sentidos, particularmente os movimentos naturais tridimensionais do corpo. A grande vantagem desse tipo de interface é que o conhecimento intuitivo do usuário a respeito do mundo físico pode ser transferido para manipular o mundo virtual. Para suportar esse tipo de interação, o usuário utiliza dispositivos não convencionais como capacete de visualização e controle, luva, e outros. Estes dispositivos dão ao usuário a impressão de que a aplicação está funcionando no ambiente tridimensional real, permitindo a exploração do ambiente e a manipulação natural dos objetos com o uso das mãos, por exemplo, para apontar, pegar, e realizar outras ações.
Um sistema de realidade virtual envolve estudos e recursos
ligados com percepção, hardware, software, interface do usuário, fatores
humanos, e aplicações [16].
Para a elaboração de sistemas de realidade virtual é necessário ter algum
domínio sobre: dispositivos não convencionais de E/S, computadores de alto
desempenho e boa capacidade gráfica, sistemas paralelos e distribuídos,
modelagem geométrica tridimensional, simulação em tempo real, navegação,
detecção de colisão, avaliação, impacto social, projeto de interfaces, e
aplicações simples e distribuídas em diversas áreas.
Este trabalho apresenta a teoria básica sobre realidade virtual,
incluindo sua conceituação, história, modelos, etc., mostra as questões práticas
envolvidas com hardware, software, aplicações, e dispositivos não convencionais
de E/S, analisa algumas plataformas computacionais para realidade virtual,
aborda realidade virtual distribuída e realidade virtual na internet, e
finalmente fornece uma bibliografia e um conjunto de endereços na internet para
facilitar o aprofundamento do assunto por parte do interessados.
2.1. Caracterização
Como foi visto na introdução, há várias definições aceitas para realidade virtual. Isto é devido, em parte, à natureza interdisciplinar da área, e também a sua evolução. De uma maneira ou de outra, os sistemas de realidade virtual acabaram vindo de sistemas computacionais de mesa, simuladores, sistemas de teleoperação, etc.
A realidade virtual também pode ser considerada como a junção de três idéias básicas : imersão, interação e envolvimento [68]. Isoladamente, essas idéias não são exclusivas de realidade virtual, mas aqui elas coexistem.
A idéia de imersão está ligada com o sentimento de se estar dentro do ambiente. Normalmente, um sistema imersivo é obtido com o uso de capacete de visualização, mas existem também sistemas imersivos baseados em salas com projeções das visões nas paredes, teto, e piso [26]. Além do fator visual, os dispositivos ligados com os outros sentidos também são importantes para o sentimento de imersão, como som [12], posicionamento automático da pessoa e dos movimentos da cabeça, controles reativos, etc. A visualização tridimensional através de monitor é considerada não imersiva.
A idéia de interação está ligada com a capacidade do computador detectar as entradas do usuário e modificar instantaneamente o mundo virtual e as ações sobre ele (capacidade reativa). As pessoas gostam de ficar cativadas por uma boa simulação e de ver as cenas mudarem em resposta aos seus comandos. Esta é a característica mais marcante nos video-games.
A idéia de envolvimento, por sua vez, está ligada com o grau de motivação para o engajamento de uma pessoa com determinada atividade. O envolvimento pode ser passivo, como ler um livro ou assistir televisão, ou ativo, ao participar de um jogo com algum parceiro. A realidade virtual tem potencial para os dois tipos de envolvimento ao permitir a exploração de um ambiente virtual e ao propiciar a interação do usuário com um mundo virtual dinâmico.
2.2. Realidade Virtual Imersiva e Não Imersiva
Outra questão importante está ligada ao fato da realidade virtual poder ser imersiva ou não imersiva. Como já foi visto, do ponto de vista da visualização, a realidade virtual imersiva é baseada no uso de capacete ou de salas de projeção nas paredes, enquanto a realidade virtual não imersiva baseia-se no uso de monitores. De qualquer maneira, os dispositivos baseados nos outros sentidos acabam dando algum grau de imersão à realidade virtual com o uso de monitores, mantendo sua caracterização e importância [83].
Embora a realidade virtual com o uso de capacetes tenha evoluído e seja considerada típica, a realidade virtual com monitor apresenta ainda assim alguns pontos positivos como : utilizar plenamente todas as vantagens da evolução da indústria de computadores; evitar as limitações técnicas e problemas decorrentes do uso de capacete; e facilidade de uso. Em alguns casos, como visualização, por exemplo, a realidade virtual com monitor é aceitável, mas com a evolução da tecnologia de realidade virtual a tendência será a utilização de capacetes ou salas de projeção para a grande maioria das aplicações.
2.3. Tipos de Sistemas com Interfaces Não Convencionais
No sentido de definir os sistemas que apresentam interfaces de hardware e software muito bem elaboradas envolvendo dispositivos e abordagens não convencionais, é importante tomar-se como base o relacionamento usuário/ambiente, de acordo com a figura 2.1 [61].
Figura 2.1 - Relacionamento Usuário / Ambiente
Nesse caso, assume-se que o ambiente seja composto pelo espaço
físico, funções, processos, equipamento e conceitos. Ele é responsável por
responder às ações do usuário com os estímulos que vão provocar a sensação. O
ambiente no contexto desse modelo compõe-se dos espaços real e artificial. Em
seguida, são definidos os sistemas de telepresença, realidade virtual, realidade
aumentada e realidade melhorada, que têm em comum o acesso através de interfaces
não convencionais.
2.3.1. Sistema de
Telepresença
Telepresença é uma situação, onde uma pessoa está objetivamente presente num ambiente real que está separado fisicamente da pessoa no espaço [17, 90]. A telepresença que é implementada por mecanismos de teleoperação, consiste de um usuário, uma interface homem-máquina, um telerobô e um ambiente remoto, conforme a figura 2.2 [30, 90].
Figura 2.2 - Sistema de Telepresença
2.3.2. Sistema de Realidade Virtual
Consiste de um usuário, uma interface homem-máquina, e um computador, conforme a figura 2.3. O usuário participa de um mundo virtual gerado no computador, usando dispositivos sensoriais de percepção e controle. Um ambiente virtual pode ser projetado para simular tanto um ambiente imaginário quanto um ambiente real.
Figura 2.3 - Sistema de Ambiente Virtual (Realidade Virtual)
Os sistemas de telepresença e de realidade virtual são semelhantes na parte em que envolvem os usuários e as interfaces muito elaboradas. Eles diferem na atuação sobre o ambiente. Enquanto a telepresença faz com que a interface atue sobre o telerobô que vai atuar sobre o mundo real, o sistema de realidade virtual faz com que a interface atue diretamente sobre o computador que vai atuar sobre um mundo virtual ou um mundo real simulado. Em telepresença e em outros casos, onde possa haver dificuldades de transferência ou tratamento em tempo real de imagens reais complexas, a substituição do mundo real por um mundo virtual equivalente pode resolver o problema, na medida em que as imagens podem ser geradas localmente. As transferências de informações podem ser reduzidas a dados de posicionamento.
2.3.3. Sistema de Realidade Aumentada
É uma combinação da visão do ambiente real com o ambiente virtual [8, 11, 17, 38]. Esse tipo de sistema é obtido mesclando-se sistemas de telepresença e realidade virtual [55], conforme a figura 2.4 [30].
Geralmente, utiliza-se um óculos ou capacete com visor semitransparente, de forma que a visão do ambiente real possa ser sobreposta com a informação do ambiente virtual. Também é possível coletar a imagem real com uma câmera de vídeo e misturá-la com a imagem virtual antes de ser apresentada. Com isso é possível enxergar-se, por exemplo, um objeto real com o seu detalhamento interno gerado por realidade virtual. O ponto crítico desse tipo de sistema é a superposição exata do mundo virtual com o mundo real.
Figura 2.4 - Sistema de Realidade Aumentada
Um sistema típico de realidade aumentada baseado em vídeo é composto de um capacete de visualização com sistema de rastreamento de posição, sobre o qual é disposta uma câmera de vídeo, conforme a figura 2.5 [11]. Nesse caso, a imagem real é obtida pela câmera de vídeo montada sobre o capacete, enquanto que a imagem virtual é gerada por um computador que considera o posicionamento do rastreador. Um misturador combina as duas imagens e mostra o resultado final ao usuário.
2.3.4. Sistema de Realidade Melhorada
É uma variação do sistema de realidade aumentada, onde um sistema de processamento de imagem gera informações adicionais para serem sobrepostas à imagem real. O resultado final pode ser tanto uma melhoria espectral quanto espacial [18], gerando transformações e anotações sobre a imagem. A geração de imagens obtidas através de ampliação do espectro visível do olho humano e a anotação de características específicas dos objetos como distância, tipo, etc., são exemplos de melhoria de uma imagem.
2.4. Configuração Genérica dos Sistemas com Interfaces Não Convencionais
Os vários tipos de sistemas com interfaces não convencionais podem ser agrupados de forma genérica em uma única configuração, conforme a figura 2.6 [30].
Figura 2.5 - Sistema de Realidade Aumentada Baseado em
Vídeo
Figura 2.6 - Configuraço Genérica dos Sistemas com Interfaces não Convencionais
Nesse esquema genérico, podem enquadrar-se os sistemas de telepresença, realidade virtual, realidade aumentada e realidade melhorada. Em todos eles, o usuário é projetado dentro de um ambiente novo e interativo, através de dispositivos eletrônicos não convencionais. Tanto o desempenho, quanto a experiência do usuário no novo ambiente, dependem fortemente da interface homem-máquina e das características de interação com o ambiente real ou virtual. A particularização da configuração pode ser feita através de várias maneiras:
a) Se a primeira parte for desprezada, a segunda parte sozinha poderá transformar-se num robô autônomo, considerando-se que o computador seja utilizado para realizar seu controle;
b) Se a segunda parte for desprezada e o computador for usado para gerar um ambiente virtual, o sistema será visto como um sistema de realidade virtual;
c) Se as duas partes forem consideradas, mas o computador da primeira parte não for usado para gerar ambientes virtuais, limitando-se a repassar os sinais de sensação e controle, o sistema funcionará como um sistema de telepresença;
d) Se as duas partes forem consideradas e o computador da primeira parte for usado para gerar ambientes virtuais e serem misturados com as visões reais, o sistema funcionará como um sistema de realidade aumentada, para ambientes virtuais normais, ou um sistema de realidade melhorada, para ambientes virtuais complementados com sinais de processamento de imagens e anotações.
2.5. Modelos de Interação do Usuário Associados a Ambientes Virtuais
Num cenário composto por um ou mais usuários, um mundo real e um ambiente virtual equivalente, existem várias maneiras do usuário comunicar-se com seus parceiros, com o mundo real e com o ambiente virtual. Restringindo a interação do usuário a uma mediação tecnológica, através do uso de dispositivos não convencionais e do ambiente virtual, pode-se reduzir as possibilidades a dois grupos: um onde o usuário participa isoladamente , e outro, onde há vários usuários interagindo entre si e com o ambiente [16]. De forma genérica, a interação mediada pode ser vista na figura 2.7
Figura 2.7 - Esquema de Interação com Mediação Tecnológica
2.5.1. Interação de um Único Usuário
A interação com mediação tecnológica de um único usuário pode ocorrer de quatro maneiras: como espectador; com participação real; com participação simulada; e sem participação ou possível supervisão, conforme a figura 2.8.
Figura 2.8. - Formas de Interação Mediada de Um Único Usuário
Na maioria dos casos, o ambiente virtual representa o mundo real, a menos da participação simulada, onde o ambiente virtual pode ser imaginário ou representar o mundo real.
No caso do Espectador tem-se, por exemplo, uma situação particular de sistema de telepresença que só faz inspeção; o caso da participação real é um exemplo típico de sistema de telepresença; o caso da participação simulada é um exemplo de sistema de realidade virtual; e o último caso(sem participação) corresponde ao exemplo de um robô com possibilidade de supervisão.
2.5.2. Interação de Vários Usuários
A interação de vários usuários pode ocorrer de três maneiras para: comunicação entre usuários; compartilhar o ambiente virtual; e realizar trabalho cooperativo no mundo real através do ambiente virtual compartilhado, conforme a figura 2.9.
No caso de comunicação, os usuários trocam informações através do ambiente virtual; no caso de compartilhar o ambiente virtual, os usuários interagem entre si através do ambiente virtual; e no último caso, referente ao trabalho colaborativo, os usuários cooperam entre si no mundo real, através de sua representação como um ambiente virtual compartilhado. Também é possível que o trabalho colaborativo ocorra num ambiente virtual imaginário sem vinculação com o mundo real.
2.6. Uma Breve História da Realidade Virtual
A introdução do cinerama e cinemascope, em meados da década de 50 é considerada uma das primeiras experiências em obtenção de realismo artificial [60, 109].
Logo em seguida, em 1956; Morton Heilig (um cineasta) desenvolveu um simulador baseado em vídeo denominado sensorama [ 21, 60, 58], que permitia ao usuário expor-se a uma combinação de visão tridimensional, som estéreo, vibrações, sensações de vento e de aromas num passeio simulado de motocicleta por Nova York. Embora o invento não tenha tido sucesso comercial, ele foi o precursor da imersão do usuário num ambiente sintético.
Em 1961, Comeau e Bryan descreveram o primeiro sistema de circuito fechado de televisão com o visor montado num capacete, produzido pela Philco. O sistema tinha um rastreador de posição no capacete e permitia ao usuário controlar remotamente uma câmera de televisão a partir dos seus movimentos da cabeça [58].
Em 1968, Ivan Sutherland construiu, na Universidade de Harvard, o primeiro capacete de visualização com imagens geradas por computador, incorporando um sistema de rastreamento da posição da cabeça. Esse trabalho é considerado por muitos como o marco inicial da imersão em ambiente virtual e início da realidade virtual.
Em 1977 e 1982 apareceram as primeiras luvas desenvolvidas respectivamente pelo grupo levado por Dan Sandin, Richard Soyre e Thomas Defanti na Universidade de Illinois e por Thomas Zimmerman para serem acoplados a computadores, e, em 1987, a empresa VPL Research Inc, da qual Zimmenam foi um dos fundadores colocou pela primeira vez produtos de realidade virtual no mercado com a comercialização da luva "Data Glove". Em seguida, a empresa também passou a vender um capacete de visualização chamado "Eye Phones".
A partir daí, o avanço das pesquisas, o elevado interesse industrial, o crescimento das aplicações e um número crescente de usuários vêm provocando um crescimento enorme na demanda de componentes e produtos de realidade virtual e uma redução rápida nos preços, movimentando um mercado multi-milionário de crescimento extraordinário.
Figura 2.9 - Interação de Vários Usuários
3. Geração de Ambientes Virtuais por Computador
3.1. Estrutura de um Sistema de Realidade Virtual
A estrutura de um sistema de realidade virtual pode ser mostrada sob diferentes pontos de vista e graus de detalhamento. O diagrama de blocos da figura 3.1 fornece uma visão geral de um sistema de realidade virtual [21].
Figura 3.1 - Diagrama de Blocos de Um Sistema de RV
A interação do usuário com o processador de RV é intermediada pelos dispositivos de E/S. O processador de RV lê primeiramente a entrada do usuário e acessa o banco de dados para calcular as instâncias do mundo que correspondem aos quadros a serem mostrados em seqüência. Como não é possível prever as ações do usuário, os quadros devem ser criados e distribuídos em tempo real. Do ponto de vista de interface, um sistema de realidade virtual imersivo pode ser visto na figura 3.2 [58].
Figura 3.2 - Estrutura de um Sistema de RV Imersivo com Ênfase nas Interfaces
O gerador de ambiente virtual é um sistema de computação de alto desempenho que contém um banco de dados relativo ao mundo virtual. Este banco de dados contém a descrição dos objetos do ambiente virtual junto com a descrição dos movimentos dos objetos, seus comportamentos, efeitos de colisões, etc. Devido a necessidade de acesso e operação em tempo real, é necessário dispor-se da quantidade de memória suficiente, bem usar técnicas de compressão de informação que não prejudiquem as restrições de tempo. As imagens devem ser geradas com um atraso aceitável para não provocar desconforto ao usuário. Da mesma maneira, todas as características sensoriais relacionadas com interfaces deverão ser tratadas em tempo real para que o usuário tenha a impressão de estar imersoe interagindo com o mundo virtual.
De um ponto de vista mais detalhado, a estrutura de um sistema de realidade virtual pode ser vista de acordo com a figura 3.3 [30]. Nessa estrutura, o usuário é conectado ao computador através dos dispositivos multi-sensoriais. Cada modalidade sensorial requer uma simulação preparada especialmente para seu caso específico. Uma atuação unificada é necessária para coordenar as várias modalidades sensoriais e sincronizá-las. Finalmente, as informações devem ser difundidas pela rede de forma a manter a consistência do ambiente simulado distribuído.
Figura 3.3 - Estrutura Detalhada de Um Sistema de RV
3.2. Demanda Computacional da Realidade Virtual
Grande parte da ênfase do projeto de sistemas de realidade virtual tem sido estabelecida pelas restrições de geração da cena visual. Entretanto, muitos dos assuntos envolvidos na modelagem e geração das características de audição e tato/força do sistema são semelhantes ao domínio visual. Os requisitos para interação, navegação e comunicação em um mundo virtual são comuns a várias modalidades sensoriais.
No caso de geração da cena visual, o sistema requer taxas altas de quadros por segundo e respostas rápidas, em função de sua natureza interativa. O conceito de quadros é proveniente da animação baseada em uma sucessão rápida de uma seqüência de fotografias, como acontece em um filme de cinema. A taxa ideal da troca de fotos é de 20 quadros por segundo ou mais, para manter a ilusão de movimento. As taxas de quadros por segundo podem ser examinadas do ponto de vista gráfico, computacional e de acesso aos dados, de forma independente. A taxa mais crítica é a do ponto de vista gráfico, pois está ligada com a sensação de presença ou imersão, sendo o mínimo aceitável da ordem de 8 a 10 quadros por segundo. Nesse caso, a taxa mínima de quadros do ponto de vista computacional e de acesso a dados deverá também ser de 8 a 10 quadros por segundo. para sustentar a taxa de quadros do ponto de vista gráfico.
Para aplicações com controle interativo, são necessários tempos de resposta bem rápidos. Os atrasos também podem ser classificados do ponto de vista gráfico, computacional de acesso a dados e não devem ser inferiores a 0,1 segundo. Quanto maior a freqüência de movimento de algum objeto da cena, maior deverá se manter a taxa de quadros e menor o atraso, para manter-se a sensação confortável de animação. A taxa de quadros do ponto de vista gráfico depende de: complexidade gráfica; iluminação; sombreamento; e textura. Do ponto de vista de acesso aos dados e computacional, a taxa de quadros está relacionada com a complexidade do ambiente e com a quantidade de objetos dinâmicos. Isto vai se refletir no tempo de acesso e no tempo de simulação, definindo os atrasos.
A maneira mais comum de criar-se imagens gráficas tridimensionais por computador baseia-se no uso dos polígonos. Foi estimado que uma cena realista detalhada requer aproximadamente 80 milhões de polígonos[30]. Para mostrar este mundo virtual a 10 quadros por segundo, por exemplo, seria necessário uma taxa de 800 M de polígonos por segundo, o que está longe da capacidade tecnológica atual. Para se ter uma idéia, as taxas recentes de máquinas Silicon Graphics, com aceleradores gráficos avançados estão em torno de 2 M triângulos por segundo e 600k polígonos por segundo. Um microcomputador PC com acelerador gráfico apresenta um desempenho de dezenas de K polígonos por segundo, enquanto que as estações de trabalho estão na faixa de centenas de K polígonos por segundo.
Considerando-se um mundo virtual pouco complexo com cerca de 6000 polígonos e um computador com desempenho de 300.000 polígonos por segundo, então o sistema deverá funcionar com uma taxa de 50 quadros por segundo para mostrar o mundo virtual. Se o mundo virtual for um pouco mais detalhado, com 15.000 polígonos, a taxa cairá para 20 quadros por segundo no mesmo computador. Portanto, para uma taxa mínima de quadros por segundo sempre haverá uma complexidade máxima do mundo virtual. Para realidade virtual estereográfica, haverá a necessidade de 2 cenas (uma para cada olho), o que provocará a queda no desempenho. Mesmo usando-se dois aceleradores( um para cada olho) haverá queda de desempenho devido a sobrecarga de computação e sincronização.
3.3. Modelagem de Mundos Virtuais
A modelagem de mundos virtuais é de fundamental importância num sistema de realidade virtual, definindo as características dos objetos como: forma; aparência; comportamento; restrições; e mapeamento de dispositivos de E/S. Para isto, os sistemas de desenvolvimento de realidade virtual levam em conta os diversos aspectos de modelagem, mapeamento e simulação, conforme a figura 3.4 [21].
Figura 3.4 - Sistema de Desenvolvimento de RV
3.3.1 Modelagem Geométrica
A modelagem
geométrica abrange a descrição da forma dos objetos virtuais através de
polígonos, triângulos ou vértices, e sua aparência, usando textura, reflexão da
superfície, cores, etc.
A forma poligonal dos objetos pode ser criada, usando-se bibliotecas gráficas, como a biblioteca GL, ou usando-se modelos prontos de bancos de dados comerciais ou digitalizadores tridimensionais. Os objetos também podem ser criados por programas CAD, como AutoCAD ou 3-D Studio, ou com o uso de editores de realidade virtual.
A aparência dos objetos esta relacionada principalmente com as características de reflexão da superfície e com sua textura. A reflexão da superfície depende do modelo de iluminação de Phong e sombreamentos do tipo: facetado; por interpolação de Gourad; ou interpolação de Phong [110]. O sombreamento facetado é o mais simples e menos realista, enquanto o de Phong é o mais complexo e mais realista.
A textura dos objetos é obtida a partir do mapeamento de um padrão de textura do espaço bidimensional sobre os objetos tridimensionais. Isto se dá como se um pedaço de plástico com o padrão da textura fosse ajustado e colocado sobre o objeto, fazendo parte integrante dele [110]. A textura oferece várias vantagens para a realidade virtual, uma vez que aumenta o nível de detalhe e de realismo de cena, fornece vários melhor visão de profundidade, e permite a redução substancial do número de polígonos da cena, propiciando o aumento da taxa de quadros por segundo [21].
3.3.2. Modelagem Cinemática
A modelagem geométrica de um objeto não é suficiente para conseguir uma animação. Para isto, deve ser possível agarrar o objeto, alterar sua posição, mudar a escala, detectar colisões e produzir deformações na superfície. A utilização de coordenadas locais dos objetos e de coordenadas gerais, juntamente com matrizes de transformação, permitirão a alteração das posições e as mudanças de escala [84,87]
Para a detecção de colisão entre objetos móveis e outros objetos móveis ou estáticos há diversos métodos. Desde que as colisões devam ser detectadas em tempo real, procura-se normalmente processos eficientes para isso. Uma solução, normalmente adotada, é a abordagem hierárquica: os objetos irregulares ou não são envolvidos por sólidos simples como esferas ou paralelepípedos e faz-se uma análise de interferência ou sobreposição [43]. Se não houver nenhuma sobreposição, não haverá colisão, mas se houver, o risco existirá e outros métodos mais refinados e custosos serão aplicados. Como resultado de uma colisão poderá ocorrer deformação nos corpos envolvidos, ou simplesmente uma explosão, quando tratar-se de veículos ou aeronaves.
3.3.3. Modelagem Física
Visando a obtenção de realismo nos mundos virtuais, os objetos virtuais, incluindo a imagem do usuário precisam comportar-se como se fossem reais. No mínimo, os objetos sólidos não poderão passar um pelo outro e as coisas deverão mover-se de acordo com o esperado, quando puxadas, empurradas, agarradas, etc. Nesse sentido, os objetos virtuais também deverão ser modelados fisicamente pela especificação de suas massas, pesos, inércia, texturas (lisas ou ásperas), deformações (elásticas ou plásticas), etc. Essas características, juntas com a modelagem geométrica e com as leis de comportamento, determinam uma modelagem virtual próxima da realidade. A simulação mecânica do mundo virtual, para ser realista, deverá ser executada de maneira confiável, contínua, automática e em tempo real.
3.3.4. Comportamento do Objeto
As modelagem anteriores limitaram-se à modelagem matemática das propriedades cinemáticas e físicas dos objetos, visando uma resposta realista as ações do usuário. Também é possível modelar o comportamento de objetos independentes do usuário, como relógio, calendário, termômetro e outros agentes inteligentes independentes, acessando quando necessário alguns sensores externos.
3.3.5. Segmentação e Alteração de Detalhes
A modelagem geométrica e física de mundos virtuais com muitos objetos deverá resultar em um modelo muito complexo, difícil e caro de ser mostrado. Normalmente, esses mundos possuem vários espaços específicos, distâncias razoáveis e objetos móveis com velocidades diferentes.
O problema da complexidade pode ser contornado por segmentação do mundo, alteração do nível de detalhe dos objetos, alteração de resolução de imagens, pré-computação, etc.
A segmentação do mundo baseia-se na divisão do mundo geral em mundos menores,de forma que somente os objetos do mundo menor sejam mostrados. É o caso de uma casa com diversas salas, onde cada sala é um mundo menor. Embora o mundo geral seja muito complexo, a visão do usuário sempre será mais simples.
Uma abordagem semelhante é usada para cenas de movimentação. Objetos que estejam movendo-se rapidamente, não conseguem ser vistos claramente. Assim pode-se representar os objetos rápidos de maneira simplificada, conseguindo o mesmo efeito e economizando processamento.
Em alguns casos, une-se também tamanhos diferentes de janela, para cenas onde o usuário esteja parado (janela grande) ou em movimentação (janela pequena), alterando assim a resolução. Usa-se também a pré-computação para mapear previamente texturas complexas, mas isto pode limitar a interação não permitindo a deformação de objetos, por exemplo.
A programação de realidade virtual requer o conhecimento de sistemas em tempo real, orientação a objetos, redes, modelagem geométrica, modelagem física, multitarefas, etc. Para facilitar essa tarefa, diversas empresas e algumas universidades produziram sistemas de desenvolvimento de realidade virtual, conhecidos como "VR ToolKits". Esses sistemas são bibliotecas ampliáveis de funções orientadas a objeto, voltadas para especificações de realidade virtual, onde um objeto simulado passa a ser uma classe e herda seus atributos inerentes (default). Isto simplifica enormemente a tarefa de programar mundos complexos, uma vez que as bibliotecas, sendo ampliáveis, permitem aos projetistas escreverem módulos específicos de aplicações e ainda usar o mesmo núcleo de simulação. Além disso, esses sistema costumam ser independentes de hardware, suportam alguma forma de conexão em rede, importam mundos virtuais de outros softwares como o AutoCAD, possuem drivers de comunicação com dispositivos convencionais e não convencionais de E/S, suportam alguma forma de iluminação, sombreamento, textura, etc.
Uma ferramenta, muito útil para a construção e simulação dos mundos virtuais, é o editor de realidade virtual, que permite ao projetista verificar imediatamente os resultados da criação ou edição de objetos simulados. Uma organização desse tipo de ferramenta consta na figura 3.5 [21].
Durante a simulação, as entradas do usuário, através dos dispositivos de E/S são submetidos como eventos ao programa simulador, devendo ser lidos em tempo real para minimizar a latência. Esses dados são usados para atualizar a posição, forma, velocidade, etc, dos objetos virtuais, e alguns dados de sensores são usados para os objetos independentes. Tanto a cena, quanto as outras saídas (som, tato, força, etc.) são fornecidas durante o ciclo de simulação em tempo real. A figura 3.6 mostra o ciclo de simulação do sistema de desenvolvimento da SENSE 8, denominado World ToolKit [92].
Os sistemas de desenvolvimento de realidade virtual, portanto, ajudam na integração do sistema e no desenvolvimento das aplicações, podendo reduzir substancialmente o tempo de programação.
Figura 3.5 - Uma Estrutura de Sistema de Desenvolvimento de
RV
Figura 3.6 - Ciclo de Simulação do World Tool
3.5. Avaliação de Sistema de Realidade Virtual
A principal característica de um sistema de realidade virtual é o envolvimento humano através da imersão sensorial. Com parâmetros humanos envolvidos no sistema, a sua avaliação torna-se subjetiva, mas essencial em função das questões tecnológicas, da qualidade da aplicação, e do impacto psicológico e social.
A avaliação do sistema de realidade virtual deve ajudar a garantir que :
a) As capacidades e limitações dos seres humanos, bem como as necessidades específicas de determinadas tarefas, estarão sendo consideradas no projeto do sistema;
b) O hardware e o software estarão fornecendo o ambiente virtual com bom índice relacionado com custo e benefício;
c) A aplicação representará uma melhoria significativa na maneira de fazer coisas conhecidas ou permitirá fazer coisas novas que não tenham sido feitas até então.
Embora muitas ferramentas de avaliação possam ser adaptadas para uso em sistemas de realidade virtual, outras ferramentas precisam ser utilizadas, para avaliar as propriedades específicas dessa tecnologia. Dentro desse contexto, a avaliação do sistema de realidade virtual deverá considerar : (1) a atuação dos dispositivos e os fatores ergonômicos gerais; (2) os aspectos gráficos e sua influência na visão; (3) a influência (5) a discriminação das cores visuais; (6) os aspectos visuais; (7) as questões auditivas; (8) as questões de tato e força; (9) o comportamento, o desempenho e as consequências da simulação; e (10) outras características específicas.
3.6. Requisitos de um Sistema de Realidade Virtual
Um sistema de realidade virtual de grande porte é caro e complexo, em função de todos os recursos envolvidos. Para que o projeto do sistema e a elaboração das aplicações sejam bem sucedidos, é necessário que sejam satisfeitos ou perseguidos um conjunto de requisitos.
3.6.1. Requisitos da Interface do Usuário.
De acordo com Cris Shaw [93], existem cinco requisitos e propriedades que um sistema de realidade virtual deve satisfazer para ser utilizável e utilizado com satisfação, ou seja:
a) Um sistema de RV deve gerar imagens estereoscópicas animadas suaves para capacetes de visualização (HMD), visando manter a característica de imersão. Isto significa que a taxa de quadros por segundo deve ser igual ou maior que 10;
b) Um sistema de RV deve reagir rapidamente às ações do usuário. A resposta do sistema deve apresentar atrasos de imagens iguais ou menores que 100ms;
c) Um sistema de RV deve fornecer suporte para distribuir uma aplicação em diversos processadores. Isto visa aplicações distribuídas e complexas, onde a distribuição permite múltiplos usuários e a computação cooperativa.
d) Num sistema distribuído de RV, é necessário um mecanismo eficiente de comunicação de dados. A utilização de dados compartilhados ou remotos deve ser viabilizada com uma comunicação eficiente para assegurar a característica de tempo real do sistema.
e) É necessário algum mecanismo de avaliação de desempenho do sistema de RV. Um sistema do desenvolvimento de RV deve ter mecanismos de monitoração do tempo real e do desempenho geral da aplicação para garantir o sucesso do conjunto. Dentre estes requisitos, os mais importantes para uma interface de realidade virtual são aqueles relacionados com a taxa de quadros por segundo e com o atraso da resposta do sistema, garantindo a imersão no ambiente.
3.6.2. Requisitos de Engenharia de Software
Do ponto de vista da engenharia de software pode-se citar os quatro requisitos [93] a seguir:
a) Portabilidade das aplicações. Normalmente as aplicações de realidade virtual são fortemente ligadas com o ambiente de desenvolvimento. As aplicações deverão ter facilidades para execução em diversas instalações, exigindo no máximo uma recompilação do código;
b) Suporte para uma larga faixa de dispositivos de E/S. Como a tecnologia de hardware de realidade virtual ainda está se expandindo, o sistema deverá ter capacidade de acomodar novos dispositivos;
c) Independência das aplicações com relação à localização física do usuário e de seus dispositivos de E/S. O sistema deverá ajustar-se a diferentes configurações de localização física do usuário (geometria da sala e situação dos rastreadores) e de seus dispositivos de E/S;
d) Flexibilidade de ambiente de desenvolvimento de aplicações de realidade virtual. Muitas vezes a aplicação é desenvolvida num ambiente e executada em outro. O sistema deve ter a flexibilidade para permitir a utilização de ambientes de desenvolvimento diferentes, bem como a execução de testes com outros dispositivos, com o mínimo de alteração do código.
Desta maneira, as características principais de um sistema de realidade virtual estão na portabilidade e na flexibilidade das aplicações.
3.6.3. Requisitos para a Definição de um Sistema de Realidade Virtual
A montagem de um sistema de realidade virtual requer um cuidadoso planejamento, em função da variedade de componentes e preços e da qualidade desejada para o conjunto. Para isto, ela deve satisfazer uma série de requisitos e características numeradas a seguir [42]:
Definição da aplicação;
Caracterização da imersão;
Avaliação dos dispositivos de visualização;
Estabelecimento das capacidades de rastreamento;
Avaliação de outros dispositivos de E/S;
Avaliação do conjunto de recursos e capacidades;
Seleção do sistema de desenvolvimento de realidade virtual:
Criação e edição da geometria;Seleção do hardware:Criação e edição de texturas;
Requisitos de programação;
Caracterização da visão estereoscópica;
Modelagem do comportamento físico;
Suporte a periféricos;
Requisitos do sistema; Portabilidade;
Suporte de rede;
Suporte de distribuição.
Quantidade e características das portas e slots;O estudo e a definição integrada dos vários requisitos e características de um sistema de realidade virtual são elementos fundamentais para a otimização da relação entre o custo e benefício do sistema, contribuindo assim para a obtenção do sucesso na montagem de uma plataforma para desenvolvimento de aplicações de realidade virtual.Características do acelerador gráfico;
Conversores de sinais de vídeo;
Capacete de visualização (HMD);
Monitor externo;
Óculos estereoscópico;
Rastreadores/ posicionadores;
Navegadores 3D;
Luvas e dispositivos de força;
Outros dispositivos especiais.
4. Plataformas para Aplicação de Realidade Virtual
Os avanços das pesquisas em realidade virtual e a oferta de produtos nessa área, envolvendo hardware, software, e dispositivos não convencionais, têm viabilizado a existência de diversos tipos de plataformas para aplicações de realidade virtual. Essas plataformas variam desde sistema baseados em microcomputadores, passando por estações de trabalho e máquinas paralelas, até sistemas distribuídos.
Os requisitos de sistemas de realidade virtual, enumerados no capítulo 3, devem ser satisfeitos nessa plataforma, cuja busca é sempre pela melhor qualidade possível. Isto depende não só do valor do investimento a ser feito, mas também de uma boa escolha do conjunto.
4.1. Plataformas Baseadas em Microcomputadores
Embora inicialmente os equipamentos de realidade virtual fossem muito caros e utilizados em poucos laboratórios de pesquisa, a popularidade dos microcomputadores e a curiosidade de muitos interessados na área fizeram com que as plataformas baseadas em microcomputadores se tornassem realidade.
Figura 4.1 - Configuração Típica de um Sistema de RV Baseado em PC
A adaptação de dispositivos [56] e o desenvolvimento de software adequado às limitações dos microcomputadores propiciaram o surgimento de aplicações para essas plataformas. A indústria, por sua vez, também investiu nesse segmento, de forma que atualmente pode-se montar uma boa plataforma com menos de US$5,000.00. O crescimento acelerado do mercado de realidade virtual vem assegurando cada vez mais o aumento da qualidade da plataforma e das aplicações nessa área.
A configuração típica de um sistema de realidade virtual baseado em microcomputador PC [21,77] consta na figura 4.1.
Além do microcomputador e dos dispositivos, a plataforma deve incluir o software que pode ser um único módulo integrado (tool kit) ou vários módulos separados e compatíveis para a criação do mundo virtual, simulação, e definição da aplicação. Detalhes sobre o software serão dados mais a frente.
4.2. Plataformas Baseadas em Estações de Trabalho
A grande vantagem das estações de trabalho sobre os PCs está na superioridade de características como capacidade computacional, capacidade gráfica, espaço em disco, e velocidade de comunicação. A grande maioria das estações de trabalho são voltadas para as mais variadas aplicações, de forma que, para serem usadas em realidade virtual, devem ser compostas com interfaces e dispositivos adequados.
Há uma grande variação de produtos e preços, envolvendo hardware e software para estações [39], mas é possível montar-se uma boa plataforma com custo abaixo de US$50,000.00, considerando-se, por exemplo, um estação Silicon Graphics Indigo 2 - Impact [95], software World Tool Kit[92], e alguns dispositivos de E/S mais simples [39]. Nesse caso, uma configuração de 64 bits e 250 MHz, 128 Mbytes de memória, 4 Gbytes de disco, características gráficas para dar um desempenho da ordem de 2 M triângulos por segundo e 600 K Polígonos por segundo, e software incluindo GL e Performer. Para trabalhar com taxa de 30 frames por segundo, essa plataforma aceita no máximo cenas com 20k polígonos.
Também é possível montar-se plataformas no valor de centenas de milhares de dólares, envolvendo máquinas paralelas, dispositivos avançados e software sofisticado.[39]
As ferramentas para desenvolvimento de sistema de realidade virtual costumam ser instaladas em plataformas de diversos fabricantes. Dentre as plataformas, citadas pelos fornecedores de ferramentas, tem-se: Silicon Graphics, Sun, DEC, IBM, HP, etc., e microcomputadores com aceleradores gráficos.
4.3. Tipos de Sistemas Distribuídos de Realidade Virtual
Aplicações de realidade virtual podem ser vistas sob um aspecto bastante amplo, variando de uma única pessoa, usando um único computador, até muitos usuários, usando um sistema distribuído. Os sistema de RV multi-usuários em ambiente distribuído vêm crescendo e apresentam elevado potencial de aplicação. Esse tipo de sistema permite que os usuários geograficamente dispersos atuem em mundos virtuais compartilhados, usando a rede para melhorar o desempenho coletivo, através da troca de informações.
4.3.1. Tipos de Sistema de Realidade Virtual Multi-usuários
Um sistema de realidade virtual multi-usuário pode ser centralizado ou distribuído [45], conforme a figura 4.2.
Figura 4.2 - Modelos de Sistema de RV Multi-Usuário
No modelo centralizado, todos os usuários compartilham o mundo virtual, enquanto, no modelo distribuído, o mundo virtual pode ser replicado (para mundos pequenos) ou particionado (para mundos virtuais de grande porte), conforme a figura 4.3.
Figura 4.3 - Acesso ao Mundo Virtual Distribuído
Num sistema replicado com n usuários, quando um usuário fizer qualquer alteração no mundo virtual, isto deverá ser comunicado para todas as (n-1) versões do mundo virtual, onde estão os outros usuários, constituindo a difusão (broadcast).
Num sistema particionado com n usuários, a situação é mais complexa, uma vez que o mundo virtual é dividido em várias partes e cada máquina ficará encarregada de uma delas. Como o usuário pode navegar no mundo virtual, ele poderá penetrar em outras regiões, de forma que sua máquina ou servidor deverá receber uma réplica da região, onde ele se encontra. Assim cada máquina estará cuidando de uma região fora da sua parcela. Se existirem vários usuários em uma mesma região do mundo virtual, esse grupo de usuários receberá uma cópia dessa região. Qualquer alteração no mundo virtual, feita por um membro do grupo, será retransmitida para o restante do grupo, constituindo a retransmissão por grupo (multicast).
Para reduzir o número de conexões e de mensagens na rede são utilizadas as técnicas de difusão, retransmissão por grupo, e dead-reckoning, que serão abordadas em seguida.
4.3.2. Aspectos de um Ambiente Virtual Distribuído
Ambientes virtuais distribuídos figuram entre os sistemas de software mais complexos já construídos [102]. Esses ambientes devem satisfazer uma variedade de características como: (1) resposta rápida a novos requisitos do sistema; (2) capacidade de manutenção; (3) suportar interação em tempo real; (4) fidelidade da inserção do usuário no mundo virtual em relação a uma referência; (5) alta taxa de quadros por segundo, reusabilidade e portabilidade; (6) ajustamento a novas interfaces e dispositivos de visualização;e (7) requisitos para capacidades adicionais.
A elaboração de um sistema de realidade virtual inclui atividades envolvendo: (1) suporte de comunicação em rede; (2) criação de ambientes virtuais; (3) atuação no mundo real; (4) criação de atores gerados por computador; (5) inserção de fenômenos naturais; e (6) uso de simulação tradicional.
O suporte de comunicação em rede fornece os meios para que as unidades computacionais heterogêneas separadas fisicamente sejam unificadas para implementar um único ambiente virtual. Devido à necessidade de comunicação intensiva entre as máquinas do sistema, toda vez que há uma atualização de posição, o sistema utiliza a técnica de dead-reckoning [40, 45, 102] para minimizar a troca de mensagens e suportar atrasos de comunicação. Essa abordagem trabalha com a previsão da posição de um elemento, levando em conta o seu trajeto, velocidade e posição anterior, decorrido um certo tempo. Todas as máquinas fazem o mesmo cálculo de previsão e reposicionam o elemento. Aquele que estiver gerenciando o elemento conseguirá verificar a diferença da trajetória real com a trajetória calculada. Sempre que essa diferença atingir um valor máximo, o valor real da posição será então comunicado às outras máquinas para devida correção. Desta forma, não haverá necessidade de informar continuamente a posição de um elemento para as outras máquinas, o que diminuirá bastante a comunicação pela rede.
A criação de ambientes virtuais está bastante ligada com realismo visual e interação usando os outros sentidos. Assim, assuntos como computação gráfica 3D, modelagem gráfica, e interação homem-máquina constituem uma parte fundamental na elaboração de ambientes virtuais.
Muitas vezes, ambientes virtuais são associados a aplicações de telepresença. Nesses casos, ações do usuário e o comportamento de certas entidades acabam refletindo ações do mundo real.
Em outros casos, há a necessidade de introduzir um grande número de indivíduos no ambiente virtual, criando uma população. Uma maneira de fazer isso é criar atores gerados por computador com comportamento humano, usando técnicas de inteligência artificial e de locomoção.
Outro ponto importante para ambientes virtuais é a introdução de fenômenos físicos como chuva, neblina, nuvens, dia e noite, movimentos do sol e da lua, etc.
Além dos atores controlados por computador e dos atores controlados por usuários, é possível inserir no ambiente grupos de atores manipulados estatisticamente, controlados por simulação tradicional.
4.4. Software de Desenvolvimento de Realidade Virtual
Existem muitos tipos de software para realidade virtual para as mais variadas plataformas e faixas de preço.
Alguns softwares podem ser obtidos via internet gratuitamente como: REND386, VR386, e AVRIL, para microcomputadores, e MRToolKit para estações de trabalho. Os endereços são os seguintes:
· REND386 e AVRIL: ftp "anonymous" para
sunee.uwaterloo.ca/pub/rend386
sunee.uwaterloo.ca/pub/avril· VR386: ftp "anonymous" para
psych.toronto.edu/vr-386· MR: http://www.cs.ualberta.ca/~graphics/MRToolKit.html
Outros softwares são vendidos comercialmente com preços variando de dezenas de dólares a dezenas de milhares de dólares.
Existem alguns endereços na internet, onde podem ser encontradas informações concentradas sobre software e recursos para realidade virtual, contendo também os ponteiros para os fornecedores. Um desses lugares é: Ian’s VR Buying Guide [39], que apresenta uma parte da tabela de software da figura 4.4.
Figura 4.4 - Tabela de Software para Desenvolvimento de Aplicações de RV
4.5. Aplicações de Realidade Virtual
Realidade Virtual pode ser aplicada nas mais variadas áreas do conhecimento e de maneira bastante diversificada. A todo momento surgem novas aplicações , em função da demanda e da capacidade criativa das pessoas. Em muitos casos, a realidade virtual vem revolucionando a forma de interação das pessoas com sistemas complexos tratados com o uso de computadores, propiciando maior desempenho e economizando custos.
Dentre as várias áreas, onde a realidade virtual vem sendo aplicada, pode-se citar as seguintes:
a) Visualização Científica. Inclui: Visualização de superfícies planetárias; Túnel de vento virtual; Síntese molecular; etc.
b) Aplicações Médicas e em Saúde. Inclui: Simulação cirúrgica; Planejamento de radioterapia; Saúde Virtual; Ensino de anatomia; Visualização médica; Tratamento de deficientes; etc.
c) Arquitetura e Projeto. Inclui: CAD; Projeto de artefatos; Planejamento; Decoração; Avaliação acústica; etc.
d) Educação. Inclui: Laboratórios virtuais; Exploração planetária; Educação à distância; Educação de excepcionais; etc.
e) Entretenimento. Inclui: Tênis virtual; Turismo virtual; Passeio ciclístico virtual; Jogos; Cinema virtual; etc.
f) Treinamento. Inclui: Simuladores de vôo; Planejamento de operações militares; Treinamento de astronautas; etc.
g) Artes. Inclui: Pintura; Escultura virtual; Música; Museu virtual; etc.
h) Controle da Informação. Inclui: Visualização financeira; Visualização da informação; Informação virtual; etc.
i)Telepresença e Telerobótica. Inclui: Controle de sistemas remotos; Teleconferência; Professor virtual; Espectador remoto; etc.
5. VRML - A Internet em 3 Dimensões
5.1. Introdução
VRML é a abreviação de Virtual Reality Modeling Language, ou Linguagem para Modelagem em Realidade Virtual. É uma linguagem independente de plataforma que permite a criação de cenários 3D, por onde se pode passear, visualizar objetos por ângulos diferentes e interagir com eles. A linguagem foi concebida para descrever simulações interativas de múltiplos participantes, em mundos virtuais disponibilizados na Internet e ligados com o WWW (World Wide Webe), mas a primeira versão da linguagem não possibilitou muita interação do usuário com o mundo virtual. Nas versões futuras seriam acrescentadas características como animação, movimentos de corpos, som e interação entre múltiplos usuários em tempo real. A última versão é a 2.0 draft #3, chamada Moving Worlds VRML 2.0.
Apresentada pela primeira vez em 1994 na Conferência Mundial sobre World Wide Web, realizada em Genebra na Suiça, a linguagem tem como objetivo dar o suporte necessário para o desenvolvimento de mundos virtuais tridimensionais multi-usuários na Internet, sem precisar de redes de alta velocidade. O código VRML é um subconjunto do formato de arquivo ASCII do Open Inventor, da Silicon Graphics, com características adicionais para navegação na Web. Esta característica é equivalente às âncoras do HTML, ou seja, pode-se criar âncoras em um ambiente virtual que levem a outros ambientes virtuais.
A linguagem, na sua versão 1.0, trabalha com geometria 3D, permitindo a elaboração de objetos baseados em polígonos, possui alguns objetos pré-definidos como cubo, cone, cilindro e esfera, suporta transformações como rotação, translação e escala, permite a aplicação de texturas, luz, sombreamento, etc. Outra característica importante da linguagem é o Nível de Detalhe (LOD, level of detail), que permite o ajustamento da complexidade dos objetos, dependendo da distância do obsevador.
5.2.1 A linguagem
Tudo que se precisa para escrever um código VRML é um editor de textos. Uma vez editados, os arquivos são gravados em formato ASCII com a extensão .wrl. Na verdade, a linguagem apenas descreve como os ambientes tridimensionais devem ser representados. O arquivo não precisa ser compilado. Pode-se, por exemplo, criar um cubo e gravá-lo em um arquivo chamado cubo.wrl. O código VRML para este cubo descreverá as características do ambiente, como coordenadas, luz, cores etc. Também pode-se colocar, em um mundo, objetos que estão localizados remotamente em outros lugares na Internet, além de links que levam a outros homeworlds ou homepages.
Para fins de identificação, um arquivo VRML 1.0 apresenta um cabeçalho : #VRML V1.0 ascii e um arquivo VRML 2.0 é iniciado por: #VRML V2.0 utf8.
O caracter '#' também significa comentário. Toda linha que começa com # será ignorada pelo browser. É recomendável usar comentários no meio do código, pois isso facilita a compreensão e identificação de partes do cenário.
5.2.2 Unidades de Medida
VRML é baseada no sistema cartesiano 3D. A seqüência dos eixos é X, Y, Z, a unidade de medida para distâncias é metros e para ângulos é radianos. Usando uma página na frente do leitor como referência, o eixo-X positivo está para a direita, o eixo-Y positivo está para cima e o eixo-Z positivo está perpendicular aos dois anteriores, saindo da página em direção ao leitor. O sentido de rotação para ângulos positivos é o anti-horário, quando a seta vai em direção ao observador.
5.2.3 - VRML 1.0
VRML é basicamente uma simplificação do Open Inventor, apresentando alguns de seus aspectos mais relevantes como: formas, propriedades de materiais, transformações, visões de câmera, texturas mapeadas, e iluminação. Há pouca possibilidade de interação, mas algumas extensões como Live 3D no Netscape adicionaram outras características de alteração do ambiente, animação e som. Maiores detalhes sobre VRML podem ser obtidos na literatura [ 41, 114, 116-118] ou em tutoriais como: http;//www.dc.ufscar.br/~juliano/vrmltut. Um endereço muito importante para iniciar-se os estudos de VRML é: http://www.sdsc.edu/vrml/ que contem ponteiros para diversos recursos, ferramentas, tutoriais, especificações, etc.
5.2.4 - VRML 2.0
A versão de VRML 1.0 tem como principais características a criação de mundos 3D estáticos e a criação de âncoras para outros ambientes. por outro lado, na versão de VRML 2.0, os objetos do mundo virtual agora podem mover-se e responder a eventos baseados no tempo ou em iniciativas do usuário. Além disso, esta nova versão permite a utilização de objetos multimídia, como sons e filmes em uma cena 3D.
Em resumo, as características de VRML 2.0 podem ser agrupadas em quatro áreas principais: melhoria dos mundos estáticos, interação, animação e comportamento baseado em scripts, e prototipação de novos objetos VRML.
Outros endereços interessantes para os estudos de VRML são: http://vrml.wired.com/; http:// vrml.sgi.com/; e http://vag.vrml.org/.
1. ACKERMAN, M. J. - Accessing the Visible Human Project. http://www.unicamp.br /NIB/visible/dlib.htm
2. AMES, A., NADEAU, D., MORELAND,J. - VRML Sourcebook - http://www.wiley.com /compbooks/k26.html - John Wiley & Sons, Inc. 1995.
3. ARAÚJO, R.B. & KIRNER, C. - Especificação e Análise de um Sistema Distribuído de Realidade Virtual, Anais XIV Simpósio Brasileiro de Redes de Computadores - SBRC, SBC, Fortaleza, CE, Maio, 1996.
4. ARAUJO, R.B. & KIRNER, C. - Network Requirements for Large Virtual Environments, In: RIX,J. et al. - Virtual Prototyping: Virtual Environments and the Product Design Process, Chapman & Hall, London, UK, 1995, pp. 184 - 195.
5. ASCENCION TECNOLOGY CORPORATION. P.O. Box 526, Burlington, VT 05402 e-mail: ascencion@word.std.com
6. AUKSTAKALNIS,S. & BLATNER,D. - Silicon Mirage: The Art and Science of Virtual Reality, Peatchpit Press, Berkeley, CA, 1992.
7. AVVIC/VESIV - http://www.dc.ufscar.br/grv/; http://www.first.gmd.de/ cooperations/
8. AZUMA, R. - Tracking Requirements for Augmented Reality, Communications of the ACM, 36(7):50-51, July 1993.
9. BAINS, S. - Touching the other side - Virtual Reality Special Report - May 96. p. 58
10. BAJURA, M., FUCHS, H., OHBUCHI, R. - Merging Virtual Reality with the Real World: Seeing Ultrasound Imagery within the Patient - Computer Graphics (Proc. Siggraph), ACM Press, 1992, p. 203.
11. BAJURA,M. & NEUMANN,U. - Dynamic Registration Correction in Video-Based Augmented Reality Systems, IEEE Computer Graphics & Applications, 15(5):52-60, Sept. 1995.
12. BEGAULT, D.R. - 3-D Sound for Virtual Reality and Multimedia, Academic Press, Cambridge, MA, 1994.
13. BELL, G., PARISI, A. E PESCE, M. The VRML 1.0 Specification - http://www.hyperreal.com/~mpesce/vrml/vrml.tech/vrml10-3.html - May, 1995.
14. BENFORD, S. et al. -Networked Virtual Reality and Cooperative Work, Presence, 4(4):364-386,1995.
15. BERGER, J.E. et al. - NVR: A System for Network Virtual REALITY, Proc. of the 1994 IEEE Conference on Multimedia Computing Systems, 1994.
16. BISHOP, G. et al. - Reseach Directions in Vu Environments, Computer graphics - ACM, 26(3):153-177, Aug. 1992.
17. BOMAN, D.K. - International Survey: Virtual Environment research, IEEE Computer, 28(6):57-65, June 1995.
18. BOWSKILL, J. & DOWNIE, J. - Extending the Capabilities of the Human Visual System: An Introduction to Enhanced Reality, Computer Graphics - ACM, 29(2):61-65, May 1995.
19. BRICKEN, W. & COCO, G. - The VEOS Project, Presence, 3(2):111-129, 1994.
20. BRILL, LOUIS M. "Virtual Auditoriums - Sharing VR in Small Groups" - Virtual Reality Special Report, Nov. 1995, p. 17
21. BURDEA,G. & COIFFET,P. - Virtual RealityTechnology, John Wiley & Sons, New York, NY, 1994.
22. CALVIN, J. et al. - The SIMNET Virtual World Architecture. Proc. of The IEEE VRAIS’93, IEEE, 1993, pp. 450-455.
23. CARLSON, C. & HAGSAND, O. - DIVE - A Multi-User Virtual Reality System. Proc. of The IEEE VRAIS’93, IEEE, 1993, pp. 394-400.
24. CODDELA, C. et al. - A Toolkit for Developing Multi-User Distributed Virtual Environments. Proc of the IEEE VRAIS’93, 1993, pp. 401-407.
25. CRISTAL RIVER ENGENEERING - http://www.cre.com
26. CRUZ-NEIRA, C. et al. - The CAVE Audio Visual Experience Automatic Virtual Environment, Communication of the ACM, 35(6):64-72,June 1992.
27. CRUZ-NEIRA,C. et al. - The CAVE Audio Visual Experience Automatic Virtual Environment, Communication of the ACM, 35(6):64-72,June 1992.
28. CYBEREVENT GROUP INC - e-mail:vrevents@aol.com
29. DIVISION - http://www.division.com/
30. DURLACH, N.I. & MAVOR, A.S. - Virtual Reality: Scientific and Technological Challenges, National academy Press, Washington, DC, 1995.
31. EGLOWSTEIN, H. - Reach out and touch tour data - BYTE, JUL 90, p. 283
32. ELLIS, S.R. - What are Virtual Environments?, IEEE Computer Graphics & Applications, 14(1):17-22,Jan. 1994.
33. EMERSON, T. - Distributed Virtual Environment Bibliograph, HITL B-96-1, http://www.hitl.washington.edu/projects/knowledge_base/distvr/, April 1996.
34. EMERSON, T. - Information Resources in Virtual Reality (IRVR), HITL B-93-1-update 05/03/96, http://www.hitl.washington.edu/projects/knowledge_base/irvr/, March 1996.
35. ENCARNAÇÃO,J.L. E ROSEUNBLUM, L.- European IEEE Computer Graphics and Application, Vol 14, No.1, Jan. 1994, p. 60.
36. EXOS SYSTEMS INC.- 2A Gill ST.- Woburn, MA 01801 - Email: exos@exos.com. Web: http://www.exos.com
37. FAKE SPACE LAB - 4085 Campbell Avenue, Menlo Park CA 94025 - e-mail:fakespace@well.com
38. FEINER, S. et al. - Knowledge-Based Augmented Reality, Communications of the ACM, 36(7):52-62, July 1993.
39. FELDBERG, I. - Ian’s VR Buying Guide, http://www.cs.jhu.edu/~feldberg/vr/vrbg.html/, May 1996.
40. FISHWICK, P.A. - Simulation Model Design and Execution: Building Digital Worlds, Prentice-Hall, Englewood Cliffs, NJ, 1995.
41. FOX, D. & SHADDOCK , P. - VRML Construction Kit - Waite Group Press - http://www.waite. com/waite
42. GADDIS, T. - Planning your Virtual Reality lab, VR in the Schools, 1(2):12-15, Sept. 1995.
43. GARCIA-ALONSO, A. et al. - Solving the Collision Detection Problem, IEEE Computer Graphics & Applications, 14(3):36-43, May 1994.
44. GILKEY, R.H. & WEISENBERG, J.M. - The Sense of Presence for the Suddenly Deafened Adult: Implications for Virtual Environments, Presence, 4(4):357-363, 1995.
45. GOSSWEILER, R. et al. - An Introductory Tuturial for Developing Multiuser Virtual Environments, Presence, 3(4):255-264, 1994.
46. HANCOCK, D. - Viewpoint: Virtual Realityin Search of Middle Ground, IEEE Spectrum, 32(1):68, Jan 1995.
47. HAND, C., TOWN, J. E., EMERSON, T. - The Power Glove FAQ - http://www.hitl.washington. edu/projects/knowledge_base/virtual-worlds/glove-faq.html
48. HARDENBERGH,J. C. - VRML Frequently Asked Questions, http://www.oki.com /vrml/vrml_FAQ.html/,Feb. 1996.
49. HIGH TECHSPLANTATION, INC. - medical virtual reality - http://www.ht.com
50. HIROTA, K. E HIROSE, MICHITAKA - Providing force feedback in Virtual Environment - IEEE Computer Graphics and Application, Sep. 1995, p. 22
51. HITCHNER, L. - VR Development Software, VR News, 4(1):26-29,Jan/Feb,1995.
52. HOLLANDS, ROBIM - Sourceless trackers. V.R. NEWS, vol. 4, nº 3, Apr. 95
53. HOLMGREN, D.E. & ROBINETT, W. - Scanned Laser Displays for Virtual Reality: A Feasibility Study, Presence, 2(3):171, 1994.
54. HUMAN INTERFACE TECHNOLOGY LAB - http://www.hitl.washington.edu/projects /knowledge_base/virtual-worlds
55. ISDALE, JERRY - "What is Virtual Reality? - A homebrew Introduction and Information Resource List". http://sunee.uwaterloo.ca /pub/vr/documents/WHATISVR.TXT.
56. JACOBSON, L. - Garage Virtual Reality, SAMS Pub., Indianapolis, IN, 1994.
57. JACOBSON, L. - Virtual Reality: A Status Report, AI Expert, pp. 26-33, Aug. 1991.
58. KALAWSKY, R.S. - The Science of Virtual Reality and Virtual Environments, Addison-Wesley, 1993.
59. KAY, KEPPLER E BALCH, DAVID - Providing Health Care Where it’s needed most. Virtual Reality Special Report. May 1996, p. 43.
60. KRUEGER, M.W. - Artificial Reality II, Addison-Wesley, Reading, MA, 1991.
61. LATTA, J. N. & OBERG,D. J. - A Conceptual Virtual Reality, IEEE Computer Graphics & Applications, 14(1):23-29, Jan. 1994
62. LOFTIN, R. B. E KENNY, P.J. - Trainning the Hubble Space Telescope Flight Team - IEEE Computer Graphics & Applications, p.31, Sep. 1995
63. LOFTIN, R.B. et al. - Applying Virtual Reality in Education: A Prototypal Virtual Physics Laboratory, Proc. of the IEEE Symposium on Research Frontiers in Virtual Reality, 1993.
64. MACEDONIA, M. et al. - NPSNET: A NetWork Software Architecture for Large-Scale Virtual Environmentes, Presence, 3(4):265-287,1994.
65. MAMAGHANI, F. - What Makes Virtual Systems a Reality, Computer Graphics - ACM, 28(2):105-109, May 1994.
66. McCORMICK, B. et al. - Visualization in Scientific Computing, Computer Graphics, 1(6), 1987.
67. McDONALD, L. & VINCE, J., ed - Interacting with Virtual Environmentes, John Wiley & Sons, Chichester, England, 1994
68. MORIE, J.F. - Inspiring the Future: Merging Mass Communication, Art, Entertainment and Virtual environments, Computer Graphics, 28(2):135-138, May 1994.
69. MORRISON, J. - The VR-Link Networked Virtual Environment Software Infrastructure, Presence, 4(2):194-208, 1995.
70. MOSHEL, J. et al. - Dynamic Terrain, Simulation, 62(1):29-40, Jan. 1994.
71. MR Tool kit - http://www.cs.ualberta.ca/~graphics/MRToolkit.html/
72. Naval Oceans System Center - NOSC - http://WWW.NOSC.MIL
73. PARADIGM GENESIS-VIRTUAL REALITY SYSTEMS AND COMPONENTS - http://www.garlic.com/vr - email: paradigm@netcom.com
74. PESCE, M. - VRML - Browsing and Building Cyberspace from MacMillan Computer Publishing - New Riders Publishing.http://www.mcp.com/newriders
75. PESCE, M. - WWW-VRML - http://www.eit.com/www.lists/www/lists.2.html, 1994
76. PIMENTEL, K. & BLAU,B. - Teaching Your System to Share, IEEE Computer Graphics & Applications, 14(1): 60-65.
77. PIMENTEL, K. & TEIXEIRA, K. - Virtual Reality Though the New Looking Glass, Intel/WindCrest/McGraw-Hill, New York, NY, 1993.
78. POLHEMUS INC - http://www.polhemus.com ou product-info@polhemus .com
79. POLIS, M.F. et al. - Automating the Construction of Large-Scale Virtual Worlds, IEEE Computer, 28(7):57-65.
80. POWER GLOVE SERIAL INTERFACE FAQ. http://acm.uiuc.edu/pub/psgi/psgi-faq.html
81. RESSLER, SANDY - Applying Virtual Environments to Manufacturing - National Institute of Standards and Technology - http://www.nist.gov/itl/div878/ovrt/people /sressler/mfg /mfgVRpaper.fm.html, 1996.
82. RICHARDSON, D.-A Mágica dos estereogramas no PC. Waite Group Press - Axcel Books, 1995.
83. ROBERTSON, G.G. et al. - Nonimmersive Virtual Reality, IEEE Computer, Feb. 1993, pp. 81-83
84. ROBINETT, W. & HOLLOWAY, R. - Implementation of Flying, Scaling, and Grabbing in Virtual Worlds, Proc. of 1992 Symposium on Interactive 3D Graphics, Cambridge, MA, March 1992,pp. 189-192.
85. ROEHL, B. - A comparison of Low Cost HMDs - Virtual Reality Special Report, Jul 1996, p19.
86. ROEHL, B. - Cyber Gear - The Ring Mouse Rontek. Virtual Reality Special Report, Jan. 1996, p. 63
87. ROGERS, D.F. & ADAMS, J.A. - Mathematical Elements for Computer Graphics, 2nd ed., McGraw-Hill, New York, NY, 1990.
88. ROSENBLUM, L.J. , Bryson, S., Feiner, S. K. - Virtual Reality Unbound - IEEE Computer Graphics and Application - Sep. 1995, p. 19.
89. SARA R. HEDBERG. Virtual Reality at Boeing: Pushing the Envelope. Virtual Reality Special Report, Jan. 1996, pág. 51.
90. SCHLOERB, D.W. - A Quantitative Measure of Telepresence,Presence,4(1):64-80, 1995
91. SENSABLE DEVICES INC - The Phantom Haptic Interface. http://www.tiac.net /users/ sensable/ overview.htm
92. SENSE8 - World Toolkit Technical Overview, Sense8 Corp., Sausalito, CA, 1994. (http://www.sense8.com/)
93. SHAW, C. et al. - Decoupled Simulation in Virtual Reality with MR Toolkit, ACM Transection of Information Systems, 11(3);287-317, July 1993.
94. SiGGRAPH'95 - Course notes http://www.siggraph.org/conferences/siggraph95/ siggraph95.html
95. SILICON GRAPHICS - http://www.sgi.com/Products/Indigo2/IMPACT/.
96. SINGH, G. et al. - BrickNet: A software Toolkit for Network-Based Virtual Worlds, Presence, 3(1):19-34, 1994.
97. SINGH, G. et al., ed. - Virtual Reality Software & Technology, World Scientific, Singapore, 1994
98. SINGHAL, S.K. & CHERITON, D.R. - Exploiting Position History for Efficient Remote Rendering in Networked Virtual Reality, Pesence, 4(2):169-193,1995.
99. SNOWDON, D.N. & WEST, A.J. - AVIARY: Design Issues for Future Large-Scale Virtual Environments, Presence, 3(4):288-308, 1994.
100. STRAYLIGHT CORP - 150, Mt. Bethel Rd., Warren, N.J. 07059.
101. STURMAN, D. E ZELTZER, D. - A Survey of Glove-based Input - IEEE Computer Graphics and Application, Vol 14, No.1, Jan. 1994, P. 30
102. STYTZ, M.R. - Distributed Virtual Environments, IEEE Computer Graphics & Applications, 16 (3) 19-31, May 1996.
103. THE OPEN INVENTOR FAQ - http://www.sgi.com/Technology/Inventor/FAQ.html
104. UNIVERSIDADE DA CAROLINA DO NORTE - http://www.unc.edu
105. Van HENSBERGEN, E. - Distributed VR Mailing List FAQhttp://www.csh.rit.edu/~airwick/dist.html/,1996.
106. VIRTUAL TECHNOLOGIES - 2175 Park Blvd. - Palo Alto, CA 94306 - : http://www.virtex.com/~virtex
107. VIRTUALITY ENTERTAIMENT INC. - e-mail:enquiries@virtuality.com ou http://www.virtuality.com
108. WARWICK, K. et al., ed. - Virtual Reality Engineering, IEE, London, UK, 1993
109. WATKINS, C. & MARENK A., S.R. - Virtual Reality Excursions, Academic Press, Cambridge, MA, 1994.
110. WATT, A. & WATT, M. - Advanced Animation and Rendering Techniques: Theory and Practice, Addison-Wesley/ACM Press, New York, NY, 1992.
111. WENZEL, E. - Localization in Virtual Acoustic Display. Presence, 1(1):80-107, 1992.
112. WLOKA, M.M. - Lag in Multiprocessor Vu Rt, Presence, 4(1):50-63, 1995.
113. ZYDA, M.J. et al. - The Software Required for the Computer generation of Virtual Environments, Presence, 2(2), 1993.
114. AMES, A.L. et al. -The VRML Sourcebook. John Wiley & Sons, 1996.
115. BURDEA, G. - Force and Feedback for Virtual Reality. John Wiley & Sons, 1996.
116. FOX, D. & SHADDOCK, P. - Web Publisher’s Construction Kit with VRML/Live 3D: Creating 3D Web Worlds. Waite Group, 1996.
117. HARTMAN, J. & WERNECKE, J. - The VRML 2.0 Handbook: Buiding Moving World on the Web. Addison-Wesley, 1996.
118. LEMAY, L. et al. - 3D Graphics and VRML 2. Sams Net, 1996.
119. VINCE, J. - Virtual Reality Systems. Addison-Wesley, 1995.