Ministério da Ciência e Tecnologia Instituto Nacional de Pesquisas

Transcrição

Ministério da Ciência e Tecnologia Instituto Nacional de Pesquisas
Ministério da Ciência e Tecnologia
Instituto Nacional de Pesquisas Espaciais
INPE-6389-TDI/605
A REALIDADE VIRTUAL EM APLICAÇÕES CIENTÍFICAS
Liliane dos Santos Machado
Dissertação de Mestrado em Computação Aplicada, orientada pelo
Dr. Luiz Alberto Vieira Dias, aprovada em abril de 1997.
INPE
São José dos Campos
Abril de 1997
1
i
DEDICATÓRIA
Aos meus pais, que me deram tudo que sou hoje.
ii
AGRADECIMENTOS
Ao professor, orientador e amigo Luiz Alberto Vieira Dias pelas suas
valorosas críticas e incentivos; à Ronei Marcos de Moraes pela sua ajuda, apoio e
amizade; ao Instituto Nacional de Pesquisas Espaciais, aos professores do curso de
Computação Aplicada e à CAPES por propiciarem-me a oportunidade de estudar e
crescer intelectualmente ao longo destes três anos.
iii
RESUMO
Com o desenvolvimento tecnológico, a Realidade Virtual tornou-se mais
viável e barata, podendo ser construída e explorada através de um simples computador
pessoal (PC). No entanto, o uso de um computador pessoal não significa
necessariamente uma experiência de RV totalmente desprovida de interação e/ou
recursos de estereoscopia para sua visualização. Este trabalho utiliza um computador
pessoal e o software REND386 para a criação de um mundo virtual, onde é possível
observar o satélie CBERS em atuação no espaço, permitindo verificar a viabilidade e
vantagens da Realidade Virtual quando utilizada em aplicações científicas. Conceitos
referentes à Realidade Virtual, Computação Gráfica e Estereoscopia, dentre outros
necessários para o desenvolvimento do trabalho, são tratados aqui.
iv
THE VIRTUAL REALITY FOR SCIENTIFIC APPLICATIONS
ABSTRACT
The progress of technology turned possible, and economically viable
Virtual Reality (VR) with personal computers (PC). The use of PC’s does not mean a
VR without interaction and/or stereoscopy for its visualization. This work uses a PC and
the REND386 software for the creation of a virtual world, where it is possible to observe
the CBERS satellite in space. This permits to access the advantages of VR when used in
scientific applications. Are presented concepts, concerning to Virtual Reality, Computer
Graphics, and Stereoscopy, among others, that are necessary for the study performed.
v
SUMÁRIO
Pág.
LISTA DE FIGURAS.........................................................................................
xv
INTRODUÇÃO..................................................................................................
1
1 CONCEITOS DE REALIDADE VIRTUAL...................................................
3
1.1 - Histórico.....................................................................................................
3
1.2 - O que é Realidade Virtual (RV)...................................................................
5
1.3 - Formas de Realidade Virtual........................................................................
7
1.3.1 - Realidade Virtual de Simulação................................................................
8
1.3.2 - Realidade Virtual de Projeção...................................................................
8
1.3.3 - Augmented Reality (“Realidade Realçada”)..............................................
9
1.3.4 - Telepresença............................................................................................
9
1.3.5 - Visually Coupled Displays (“Displays Visualmente Casados”).................
9
1.3.6 - Realidade Virtual de Mesa (Desktop VR)..................................................
10
1.4 - Dispositivos de Saída de Dados...................................................................
10
1.4.1 - Dispositivos Visuais.................................................................................
10
1.4.2 - Dispositivos Auditivos..............................................................................
14
1.4.3 - Dispositivos Físicos..................................................................................
14
1.5 - Dispositivos de Entrada de Dados...............................................................
16
1.5.1 - Dispositivos de Interação.........................................................................
16
1.5.2 - Dispositivos de Trajetória.........................................................................
20
2 CONCEITOS DE COMPUTAÇÃO GRÁFICA..............................................
23
2.1 - Visualização do Espaço 3D.........................................................................
23
2.2 - Estereoscopia..............................................................................................
26
2.2.1 - Tipos de Estereoscopia.............................................................................
27
vi
2.2.2 - Paralaxe...................................................................................................
31
2.3 - Graus de Liberdade (DOF - degrees of freedom).........................................
32
3 COMPONDO UM MUNDO VIRTUAL.........................................................
35
3.1 - Software para Criação de Realidade Virtual.................................................
35
3.2 - REND386...................................................................................................
36
3.3 - Modelagem do Mundo Virtual no REND386..............................................
38
3.3.1 - Objetos Virtuais.......................................................................................
39
3.4 - Animação com o REND386........................................................................
40
3.5 - Visualização no REND386..........................................................................
41
4 APLICAÇÕES................................................................................................
43
4.1 - Protótipo I - O satélite CBERS no espaço...................................................
43
4.1.1 - Os arquivos de Polígono (PLG)................................................................
44
4.1.2 - Arquivo de Figura - O satélite CBERS.....................................................
45
4.1.3 - Arquivo de Mundo (WLD) - O Espaço.....................................................
46
4.1.4 - Animação.................................................................................................
47
4.1.5 - Visualização e Interação...........................................................................
49
4.2 - Protótipo II.................................................................................................
51
4.2.1 - Obtendo o par estereoscópico..................................................................
51
4.2.2 - Implementação.........................................................................................
54
4.2.3 - Visualização.............................................................................................
56
5 CONCLUSÕES..............................................................................................
59
GLOSSÁRIO......................................................................................................
61
REFERÊNCIAS BIBLIOGRÁFICAS.................................................................
63
vii
APÊNDICE A - BIBLIOGRAFIA COMPLEMENTAR......................................
65
APÊNDICE B - FIGURAS COMPLEMENTARES............................................
67
APÊNDICE C - SISTEMA DE VISUALIZAÇÃO DOS PROTÓTIPOS.............
75
viii
LISTA DE FIGURAS
Pág.
1.1 - Esquema com os elementos básicos de um sistema de head-coupled display
suspenso.....................................................................................................
12
1.2 - Esquema de uma luva de dados baseada em fibra ótica................................
17
1.3 - Esquema de uma bola isométrica.................................................................
18
1.4 - Diagrama de bloco de um sistema de detecção de trajetória típico...............
20
2.1 - Linha AB e suas projeções A’B’perspectiva e paralela................................
24
2.2 - Projeção perspectiva de um cubo a partir de dois pontos de fuga.................
25
2.3 - Construção de três projeções paralelas ortográficas.....................................
26
2.4 - Estereoscópio..............................................................................................
28
2.5 - Esquema básico de um estereoscópio..........................................................
28
2.6 - Figura estereoscópica formada pelo processo de cores complementares.......
29
2.7 - Polarização linear........................................................................................
30
2.8 - Esquema mostrando as diferentes direções em que um objeto pode moverse no espaço 3D.........................................................................................
33
3.1 - Formato de um arquivo PLG.......................................................................
39
3.2 - Figura humana e associação de suas partes para modelagem num arquivo
de extensão FIG.........................................................................................
40
4.1 - As partes da decomposição do satélite CBERS para modelagem.................
45
4.2 - Estrutura básica do satélite CBERS.............................................................
45
ix
4.3 - Hierarquia das partes que compõem o satélite CBERS................................
46
4.4 - As partes do satélite com seus centros de movimentação.............................
49
4.5 - As projeções off-axis e on-axis....................................................................
52
4.6 - A imagem monoscópica do satélite CBERS.................................................
54
4.7 - Projeção off-axis.........................................................................................
55
4.8 - A imagem projetada em cores complementares vermelho e azul (a) e
imagem
visualizada
através
de
um
filtro
vermelho
(b)..............................................................................................................
56
B.1 - O satélite CBERS.......................................................................................
67
B.2 - O satélite CBERS com os painéis solares semi-abertos................................
68
B.3 - Ambiente gerado no REND386..................................................................
69
B.4 - A Terra com as faces iluminada e sombria...................................................
70
B.5 - O satélite CBERS com os painéis solares se abrindo...................................
71
B.6 - A Terra com o satélite CBERS em órbita ao redor do Sol...........................
72
B.7 - A imagem estereográfica do satélite CBERS...............................................
73
1
INTRODUÇÃO
Apesar de existir há mais de duas décadas, a Realidade Virtual tem
emergido consideravelmente nos últimos anos. Por utilizar sofisticados equipamentos seu
custo permaneceu alto por muito tempo. Entretanto, com o grande avanço tecnológico e
o crescimento da indústria de computadores, a Realidade Virtual deixou de ser viável
apenas para as grandes empresas e instituições de pesquisa. Sendo assim, é possível
encontrar software e hardware de baixo custo para serem utilizados em Realidade
Virtual. Através da Realidade Virtual é possível simular situações reais num computador,
podendo levar o usuário à sensação de “estar em outro lugar”.
Atualmente existe uma série de dispositivos, como luvas de dados e
capacetes de visualização, próprios para serem utilizados em sistemas de Realidade
Virtual. Da mesma forma, existe uma grande quantidade de softwares disponíveis, com
diferentes ferramentas de programação e voltados para os mais diversos tipos de
computador. Sendo assim, um simples computador do tipo PC pode ser utilizado para a
construção e exploração da Realidade Virtual.
Os capítulos iniciais deste trabalho tratam de conceitos como Realidade
Virtual,
Computação
Gráfica,
Estereoscopia
e
outros
necessários
para
o
desenvolvimento de duas aplicações que permitem verificar a viabilidade da Realidade
Virtual em aplicações científicas. O apêndice B contém fotos do sistema desenvolvido.
Liliane dos Santos Machado
[email protected]
2
3
CAPÍTULO 1
CONCEITOS DE REALIDADE VIRTUAL
Diane Ackerman afirma em seu livro A Natural History of the Senses que
70% dos receptores do sentido humano encontram-se nos olhos tornando-os os grandes
“monopolistas dos sentidos” (citado por Jacobson, 1994). A maioria das informações
recebidas pelo ser humano tem a forma de imagens visuais, e estas são interpretadas por
um computador extremamente eficiente: o cérebro. Os computadores digitais, por sua
vez, interpretam informações desde que elas sejam fornecidas através de um dispositivo
de entrada de dados, como por exemplo o teclado. Atualmente, com a Realidade Virtual,
computadores e mente humana entram numa esfera onde ambos podem atuar num nível
cada vez mais íntimo.
1.1 Histórico
A Realidade Virtual começou com a indústria de simulação, com os
simuladores de vôo que a força aérea do Estados Unidos passou a construir logo após a
Segunda Guerra Mundial. A indústria de entretenimento também teve um papel
importante no surgimento da Realidade Virtual através de um simulador chamado
Sensorama. Este simulador combinava filmes 3D, vibrações mecânicas, som estéreo,
aromas e ar movimentado por ventiladores; tudo isso para que o espectador tivesse uma
viagem multisensorial (Pimentel e Teixeira, 1995).
Alguns anos depois, por volta de 1965, Ivan Sutherland apresentou à
comunidade científica a idéia de usar computadores para desenhar projetos diretamente
na tela do computador através do uso de uma caneta ótica - foi o início dos gráficos
computadorizados (computação gráfica). Sutherland tornou-se o precursor da atual
indústria de CAD e desenvolveu o primeiro videocapacete totalmente funcional para
gráficos de computador no projeto “The Ultimate Display”. Com o uso deste
4
videocapacete era possível ao usuário ver, através da movimentação de sua cabeça, os
diferentes lados de uma estrutura de arame na forma de um cubo flutuando no espaço
(Pimentel e Teixeira, 1995).
Na mesma época em que Sutherland criava na Universidade de Utah seu
videocapacete, Myron Krueger experimentava combinar computadores e sistemas de
vídeo, criando Realidade Artificial na Universidade de Wisconsin (Pimentel e Teixeira,
1995). Em 1975 Krueger criou o VIDEOPLACE, onde uma câmera de vídeo capturava
a imagem dos participantes e projetava-a em 2D numa grande tela. Os participantes
podiam interagir uns com os outros e com objetos projetados nessa tela, sendo que seus
movimentos eram constantemente capturados e processados. Essa técnica tornou-se
também conhecida como Realidade Virtual de Projeção (Jacobson, 1994).
Em 1982, Thomas Furness demonstrava para a Força Aérea Americana o
VCASS (Visually Coupled Airborne Systems Simulator), conhecido como “Super
Cockpit” - um simulador que imitava a cabine de um avião através do uso de
computadores e videocapacetes interligados representando um espaço gráfico 3D
(Pimentel e Teixeira, 1995). Os videocapacetes integravam a parte de áudio e vídeo.
Assim, os pilotos podiam aprender a voar e lutar em trajetórias com 6 graus de liberdade
(6DOF) sem decolar verdadeiramente, ficando praticamente isolados do mundo ao seu
redor. O VCASS possuía uma alta qualidade de resolução nas imagens e era bastante
rápido no rendering de imagens complexas. No entanto apresentava um problema:
milhões de dólares eram necessários apenas para o capacete (Pimentel e Teixeira, 1995).
Através do uso de uma nova tecnologia de visores de cristal líquido
(LCD) Michael McGreevy começou a trabalhar no projeto VIVED (Virtual Visual
Environment Display) em
1984
na
NASA,
no
qual
as
imagens
seriam
estereoscópicas (Pimentel e Teixeira, 1995). A resolução das imagens era limitada em
comparação ao VCASS mas o custo era bastante atrativo (Rheingold, 1991). A parte de
áudio e vídeo foi então montada sobre uma máscara de mergulho utilizando dois visores
5
de cristal líquido com pequenos auto-falantes acoplados. Scott Fisher juntou-se a esse
projeto no ano de 1985 com o objetivo de incluir nele: luvas de dados, reconhecimento
de voz, síntese de som 3D, e dispositivos de feedback (resposta) tátil (Pimentel e
Teixeira, 1995).
Em 1985, Thomas Zimmerman e Jaron Lanier fundam a VPL Research
tendo como primeiro produto uma luva de dados, chamada DataGlove, desenvolvida por
Zimmerman e capaz de captar a movimentação e inclinação dos dedos da mão
(Jacobson, 1994). No mesmo ano uma dessas luvas foi comprada para o projeto VIVED.
No final de 1986 a equipe da NASA já possuía um ambiente virtual que
permitia aos usuários ordenar comandos pela voz, escutar fala sintetizada e som 3D, e
manipular objetos virtuais diretamente através do movimento das mãos. O mais
importante é que através deste trabalho foi possível verificar a possibilidade de
comercialização de um conjunto de novas tecnologias, sendo que o preço de aquisição e
desenvolvimento tornava-se mais acessível (Pimentel e Teixeira, 1995).
A conscientização de que os empreendimentos da NASA baseavam-se em
equipamentos comercializáveis deu início a inúmeros programas de pesquisa em
Realidade Virtual no mundo inteiro (Pimentel e Teixeira, 1995). Organizações variando
de firmas de software até grandes corporações de informática começaram a desenvolver
e vender produtos e serviços ligados à Realidade Virtual (Jacobson, 1994).
Em 1989 a AutoDesk apresentou o primeiro sistema de Realidade Virtual
baseado num computador pessoal (PC) (Jacobson, 1994).
1.2 O que é Realidade Virtual (RV)
O termo Realidade Virtual é creditado a Jaron Lanier, que nos anos 80
sentiu a necessidade de um termo para diferenciar as simulações tradicionais por
computação dos mundos digitais que ele tentava criar (Machover e Tice, 1994). O termo
6
é bastante abrangente, e por isto acadêmicos, desenvolvedores de software e
principalmente pesquisadores procuram definir Realidade Virtual baseados em suas
próprias experiências.
Pimentel e Teixeira (1995, p. 15, 17) definem Realidade Virtual como o
uso da alta tecnologia para convencer o usuário de que ele está em outra realidade - um
novo meio de “estar” e “tocar” em informações : “Virtual Reality is the place where
humans and computers make contact”.
Latta e Oberg (1994, p. 23) citam Realidade Virtual como uma avançada
interface homem-máquina que simula um ambiente realístico e permite que participantes
interajam com ele: “Virtual Reality involves the creation and experience of
environments”.
Em geral, o termo Realidade Virtual refere-se a uma experiência imersiva
e interativa baseada em imagens gráficas 3D geradas em tempo-real por computador
(Pimentel e Teixeira, 1995). Machover e Tice (1994, p. 15) afirmam que a qualidade
dessa experiência em RV é crucial, pois deve estimular ao máximo e de forma criativa e
produtiva o usuário - a “realidade” precisa reagir de forma coerente aos movimentos do
participante, tornando a experiência consistente. O principal objetivo desta nova
tecnologia é fazer com que o participante desfrute de uma sensação de presença no
mundo virtual (Jacobson ,1994). Para propiciar esta sensação de presença o sistema de
RV integra sofisticados dispositivos. Estes dispositivos podem ser luvas de dados,
óculos, capacetes, etc.
Atualmente podemos encontrar diferentes termos sendo utilizados por
pesquisadores e estudiosos da área de Realidade Virtual, dentre eles podemos citar:
espaço cibernético, mundo virtual e ambiente virtual.
Espaço Cibernético (cyberspace) foi o termo utilizado por William
Gibson em seu livro Neuromancer (Gibson, 1984) para designar “uma representação
7
gráfica de dados abstraídos dos bancos de dados de todos os computadores do sistema
humano. Uma complexidade impensável. Linhas de luz alinhadas que abrangem o
universo não-espaço da mente; nebulosas e constelações infindáveis de dados. Como
luzes de cidades, retrocedendo”. Gibson descreveu uma rede de computadores universal
contendo todo tipo de informações, na qual seria possível “entrar” e explorar os dados
de forma multisensorial (Pimentel e Teixeira, 1995), e onde pessoas com implantes nos
seus corpos poderiam transmitir informações diretamente para o computador. Na
verdade, o Espaço Cibernético é uma simulação 4D do espaço-tempo controlada pela
interface de RV; é um espaço imaginário (Adams, 1994). Vince (1995, p. 15) afirma que
desde que os sistemas de RV criem o Espaço Cibernético é possível interagir com tudo e
com todos num nível virtual.
Mundo virtual é o nome dado ao mundo digital criado a partir de técnicas
de computação gráfica. Uma vez que se possa interagir e explorar esse mundo através de
dispositivos de entrada e dispositivos de saída, ele se transforma em um ambiente virtual
ou ambiente de Realidade Virtual (Vince, 1995).
Dois fatores tornam-se então bastante importantes em sistemas de RV são
eles: imersão e interatividade. A imersão pelo seu poder de prender a atenção do usuário,
e a interatividade no que diz respeito à comunicação usuário-sistema (Pimentel e
Teixeira, 1995).
1.3 Formas de Realidade Virtual
Os sistemas de RV diferem entre si levando em conta o nível de imersão e
de interatividade proporcionado ao participante. Ambos são determinados de acordo
com os tipos de dispositivos de entrada e saída de dados usados no sistema de RV além
da velocidade e potência do computador que suporta o sistema de RV (Jacobson, 1994).
É claro que tudo vai depender da finalidade do sistema.
8
De acordo com Pimentel e Teixeira (1995) estes estilos de RV poderiam
ser classificados como: RV de Simulação, RV de Projeção, Augmented Reality
(Realidade Realçada), Telepresença, Visually Coupled Displays (“Displays Visualmente
Casados”) e RV de Mesa.
1.3.1 Realidade Virtual de Simulação
A RV de Simulação representa o tipo mais antigo de sistema de RV
porque originou-se com os simuladores de vôo desenvolvidos pelos militares americanos
depois da Segunda Guerra Mundial (Jacobson, 1994).
Um sistema de RV de Simulação basicamente imita o interior de um
carro, avião ou jato, colocando o participante dentro de uma cabine com controles.
Dentro dessa cabine, telas de vídeo e monitores apresentam um mundo virtual que reage
aos comandos do usuário. Uma vez que o sistema de RV de Simulação não processa
imagens em estéreo, as imagens aparecem de forma bastante rápida (Jacobson, 1994).
Em alguns sistemas as cabines são montadas sobre plataformas móveis (Pimentel e
Teixeira, 1995), além de dispor de controles com feedback tátil e auditivo (Jacobson,
1994).
1.3.2 Realidade Virtual de Projeção
Também conhecida como Realidade Artificial, esta categoria de RV foi
criada nos anos 70 por Myron Krueger. Na RV de Projeção o usuário está fora do
mundo virtual, mas pode se comunicar com personagens ou objetos dentro dele
(Jacobson, 1994).
O sistema de RV de Projeção VIDEOPLACE criado por Krueger nesta
época capturava a imagem do(s) usuário(s) e projetava-a numa grande tela que
representava um mundo virtual. Nesse mundo virtual usuários podiam interagir uns com
os outros ou com objetos. Krueger criou o termo Realidade Artificial para descrever o
9
tipo de ambiente criado pelo seu sistema, que poderia ser utilizado sem a necessidade do
participante vestir ou usar dispositivos de entrada de dados (Jacobson, 1994).
10
1.3.3 Augmented Reality (“Realidade Realçada”)
A Augmented Reality utiliza dispositivos visuais transparentes presos à
cabeça nos quais os dados são projetados. Pelo fato desses displays serem transparentes,
o usuário pode ver dados, diagramas, animações e gráficos 3D sem deixar de enxergar o
mundo real, tendo informações sobrepostas ao mundo real. Estes displays transparentes
são chamados heads-up-displays (HUDs) pois permitirem essa visão através das
informações geradas pelo computador. O usuário pode, por exemplo, estar consertando
algo e visualizando nos óculos os dados necessários a esta operação (Pimentel e
Teixeira, 1995).
1.3.4 Telepresença
Este tipo de RV utiliza câmeras de vídeo e microfones remotos para
envolver e projetar o usuário profundamente no mundo virtual. Controle de robôs e
exploração planetária são exemplos de pesquisas em desenvolvimento. No entanto,
existe um grande campo de pesquisa no uso de telepresença em aplicações médicas. Em
intervenções cirúrgicas, médicos já utilizam camêras de vídeo e cabos de fibra óptica
para visualizar os corpos de seus pacientes. Através da RV ele podem literalmente
“entrar” no paciente indo direto ao ponto de interesse e/ou vistoriar a operação feita por
outros (Pimentel e Teixeira, 1995).
1.3.5 Visually Coupled Displays (“Displays Visualmente Casados”)
Esta é a classe de sistemas geralmente mais associada à RV. Nos sistemas
desta classe as imagens são exibidas diretamente ao usuário, sendo que este está olhando
em um dispositivo que deve acompanhar os movimentos de sua cabeça. Este dispositivo
geralmente permite imagens e sons em estéreo, além de conter sensores especiais ligados
a ele que detectam a movimentação da cabeça do usuário, usando esta informação para
realimentação da imagem exibida (Pimentel e Teixeira, 1995).
11
1.3.6 Realidade Virtual de Mesa (Desktop VR)
Pimentel e Teixeira (1995) vêem a RV de Mesa como um subconjunto
dos sistemas tradicionais de RV. Ao invés do uso de head-mounted displays (HMDs),
são utilizados grandes monitores ou algum sistema de projeção para apresentação do
mundo virtual. Alguns sistemas permitem ao usuário ver imagens 3D no monitor através
do uso de óculos obturadores, polarizadores ou com filtros coloridos.
1.4 Dispositivos de Saída de Dados
A maioria das aplicações de RV é baseada no isolamento dos sentidos. O
hardware de RV estimula principalmente a visão e a audição, enquanto o sentido do tato
está apenas começando a ser explorado (Pimentel e Teixeira, 1995).
1.4.1 Dispositivos Visuais
Uma grande porção do cérebro é dedicada ao processamento e
organização dos estímulos visuais. Devido a isto, os dispositivos visuais e o tipo de
imagem gerada influenciam na determinação do nível de imersão de um sistema de RV
(Pimentel e Teixeira, 1995).
Os sistemas de RV podem ser monoscópicos ou estereoscópicos, ou seja,
cada um dos olhos pode visualizar ou não imagens diferentes. No caso de um sistema
monoscópico, a mesma imagem será exibida para os dois olhos: apenas uma imagem
passa pelo processo de rendering e é exibida para os dois olhos. Já no sistema
estereoscópico, cada olho verá uma imagem ligeiramente diferente, sendo necessário um
processo de rendering separado para cada uma das imagens (Pimentel e Teixeira, 1995).
Um outro fator importante quanto à parte visual da RV refere-se ao
número de quadros por segundo que aparecem no vídeo, ou seja, a velocidade da
simulação. Filmes projetados para o cinema apresentam aproximadamente 24 quadros
12
por segundo, enquanto os projetados para TV apresentam aproximadamente 30 quadros
por segundo (Foley et al., 1990). Em RV, busca-se entre 15 e 22 quadros por segundo
(Jacobson, 1994).
Existem duas classes de dispositivos visuais, a primeira é composta pelos
videocapacetes (HMDs) e head-coupled displays (dispositivos que utilizam-se de braços
mecânicos para permanecerem diante do usuário), e a segunda é composta pelos
monitores de computador e sistemas de projeção. O que diferencia estas duas classes é
que na primeira existem sensores para os movimentos do usuário ligados ao dispositivo
visual, enquanto que na segunda isso não ocorre e tudo vai depender dos comandos do
usuário via outro dispositivo de entrada (Pimentel e Teixeira, 1995).
a) Videocapacetes (HMDs)
O videocapacete (HMD) é o dispositivo de saída de dados que mais isola
o usuário do mundo real. Ele é constituído basicamente de duas minúsculas telas de TV e
um conjunto de lentes especiais. As lentes ajudam a focalizar imagens que estão a alguns
milímetros dos olhos do usuário, ajudando também a estender o campo de visão do
vídeo. O videocapacete funciona também como um dispositivo de entrada de dados (ver
1.5) porque contém sensores de rastreamento que medem a posição e orientação da
cabeça transmitindo esses dados para o computador. Conseqüentemente, o computador
gera uma sequência de imagens por quadro, correspondentes às ações e perspectiva do
usuário (Jacobson, 1994).
b) Head-Coupled Display
Este dispositivo basicamente constitui-se de um display montado sobre
um braço mecânico com um contra-peso, fazendo com que o display possua “peso
zero”. Sensores ligados ao braço mecânico mais os controles presentes próximos ao
display permitem movimentos com até 6 graus de liberdade (Pimentel e Teixeira, 1995).
13
O formato do head-coupled display permite uma transição fácil entre a
visualização do mundo virtual e a interação com teclados, monitores e outros
dispositivos que possam estar controlando a simulação. Devido a essa e outras
características, e ao fato do seu preço ser inferior ao dos HMDs, os head-coupled
displays são bastante populares entre a comunidade científica (Rheingold, 1991;
Pimentel e Teixeira, 1995). A Figura 1.1 mostra os componentes básicos de um headcoupled display.
Fig. 1.1 - Esquema com os elementos básicos de um sistema de head-coupled display
suspenso.
FONTE: Pimentel e Teixeira (1995), p.166.
14
c) Monitores e Sistemas de Projeção
Dispositivos visuais baseados em monitores e sistemas de projeção não
costumam oferecer um alto nível de imersão. Além disso o usuário precisa estar
constantemente olhando para a tela e utilizar algum dispositivo de entrada para fazer sua
movimentação pelo mundo virtual (Jacobson, 1994).
Mas isso não quer dizer que as imagens não podem ser vistas em estéreo.
Uma técnica básica utiliza óculos obturadores para filtrar as duplas de imagens geradas
pelo computador. Ou seja, o computador exibe alternadamente as imagens direita e
esquerda sincronizadas com óculos que bloqueiam cada um dos olhos, permitindo que o
usuário visualize uma imagem que “sai” da tela (Jacobson, 1994).
Uma outra técnica existente utiliza filtros coloridos, onde as imagens de
cada olho são exibidas em cores complementares, como vermelho e azul (ou vermelho e
verde). As imagens são observadas por óculos que tem a mesma correspondência de
cores (são os filtros), permitindo a cada olho ver a sua respectiva imagem. No entanto,
estes óculos cansam os olhos após algum tempo de uso, além de só poderem ser usados
com monitores coloridos (Vince, 1995).
Uma vantagem dos óculos na visualização baseada em monitores ou
sistemas de projeção é que eles permitem que várias pessoas participem da experiência
de RV, além do custo ser inferior ao de um HMD (Jacobson, 1994).
Um outro dispositivo utilizado é o chamado “capuz” de visualização: uma
peça plástica anexada à superfície frontal do monitor. Neste sistema o computador exibe
as imagens esquerda e direita ao mesmo tempo e lado a lado no monitor, sendo que o
“capuz” separa e reflete a dupla de imagens de forma que o usuário só percebe um único
objeto flutuando à sua frente (Jacobson, 1994).
15
1.4.2 Dispositivos Auditivos
Os dois ouvidos captam ondas sonoras provenientes de todas as direções.
O formato de concha do ouvido externo capacita-o para o trabalho de coletar ondas
sonoras e direcioná-las para os vários caminhos através do canal auditivo. O cérebro
então recebe e processa as características deste som para determinar ou localizar o local
da fonte sonora. Os sistemas de som 3D duplicam artificialmente os ativadores naturais
que auxiliam o cérebro a localizar o som, além de recriarem eletronicamente esses efeitos
em tempo-real (Jacobson, 1994).
Existem diversas placas de som projetadas para trabalhar com conjuntos
de ferramentas que constróem mundos em RV. Algumas dessas placas permitem
trabalhar com diversas fontes de som simultâneas (Schweber, 1995). Um método
bastantes popular para criar e controlar sons é o MIDI (musical instrument digital
interface) (Pimentel e Teixeira, 1995).
1.4.3 Dispositivos Físicos
Os dispositivos físicos procuram estimular as sensações físicas, como o
tato, tensão muscular e temperatura (Gradecki, 1995). Diferente dos dispositivos de
saída de visão e audição, os dispositivos físicos requerem uma sofisticada interação
eletromecânica com o corpo do usuário. A tecnologia existente atualmente não é capaz
de estimular os sentidos físicos com o nível de realismo que atinge os sentidos visuais e
auditivos: o problema está além da criação de dispositivos de feedback, pois envolve
também a compreensão e simulação das forças apropriadas (Pimentel e Teixeira, 1995).
a) Feedback tátil
Feedback tátil é o nome dado a sistemas que transmitem sensações que
atuam sobre a pele. O feedback tátil deve fornecer não apenas a sensação do toque mas
também permitir ao usuário perceber se está tocando uma superfície lisa ou rugosa
16
(Gradecki, 1995). Existem atualmente duas diferentes formas de fazer essa simulação
tátil: através de pressão de ar e através de vibrações (Pimentel e Teixeira, 1995).
A maioria das pesquisas sobre sensações físicas envolve feedback tátil
(Gradecki, 1995) e já existem projetos que esperam demonstrar a possibilidade de
pessoas tocarem-se no mundo virtual e sentirem essa sensação. Apesar disso, as técnicas
citadas acima ainda estão numa fase primitiva (Pimentel e Teixeira, 1995).
b) Feedback de força
Sistemas que permitem as sensações de pressão ou peso oferecem
feedback de força. Uma maneira de construção de um sistema de feedback de força seria
através de uma espécie de exoesqueleto mecânico que se encaixa no corpo do usuário,
fazendo com que determinados movimentos possam permitir-lhe sentir o peso ou a
resistência do material de um objeto no mundo virtual (Gradecki, 1995).
Alguns sistemas transmitem feedback de força apenas para as mãos e
braços. Através do uso de pistões, por exemplo, é possível controlar a quantidade de
resistência do braço e/ou da mão do usuário (Gradecki, 1995).
c) Feedback térmico
Um tipo de feedback que também pode ser fornecido por um sistema de
RV é o feedback térmico, permitindo ao usuário a sensação de temperatura do mundo
virtual. Este feedback poderia ser fornecido, por exemplo, quando o usuário se
aproximasse de uma fogueira ou de um iceberg no mundo virtual (Gradecki, 1995).
O feedback térmico não é muito utilizado em sistemas de RV devido ao
seu alto custo, mas já existem algumas pesquisas neste campo sendo desenvolvidas. Uma
dessas pesquisas fez uma empresa do Texas desenvolver um sistema que aquece parte do
17
corpo do usuário através de um pequeno dispositivo que reúne um aquecedor, um sensor
de temperatura e um inversor de calor (Gradecki, 1995).
d) Plataformas móveis
As plataformas móveis também são consideradas um dispositivo de
feedback físico, pois fornecem a sensação de movimento. Normalmente são utilizadas em
caros videogames, simuladores de vôo e simuladores de movimento (Pimentel e Teixeira,
1995).
1.5 Dispositivos de Entrada de Dados
O participante da experiência de RV pode “entrar” no mundo virtual
através dos dispositivos de saída de dados. Os dispositivos de entrada de dados, por
outro lado, permitem a movimentação e interação do usuário com o mundo virtual. Sem
o dispositivo de entrada de dados o usuário participa da experiência em RV apenas de
forma passiva (Pimentel e Teixeira, 1995).
Pimentel e Teixeira (1995) dividem estes dispositivos de entrada de dados
em duas categorias: dispositivos de interação e dispositivos de trajetória. Os dispositivos
de interação permitem ao usuário a movimentação e manipulação de objetos no mundo
virtual. Os dispositivos de trajetória, por sua vez, monitoram partes do corpo do usuário,
detectando seus movimentos e criando a sensação de presença no mundo virtual.
1.5.1 Dispositivos de Interação
Existem diferentes dispositivos de interação com diferentes finalidades: é
importante escolher o mais adequado para a aplicação de RV em questão. A escolha do
dispositivo de interação mais adequado leva em conta não apenas a finalidade do sistema,
mas também o software utilizado, pois a eficiência do sistema vai depender da
18
capacidade do software aproveitar as características do dispositivo (Pimentel e Teixeira,
1995).
Existe uma série de dispositivos de interação disponíveis atualmente,
variando desde luvas de dados até dispositivos chamados de sensores biológicos
(Pimentel e Teixeira, 1995).
a) Luvas de dados
Através das luvas de dados o sistema de RV pode reconhecer os
movimentos da mão do usuário que veste a luva (Sturman e Zeltzer, 1994).
Para a determinação dos movimentos dos dedos são utilizados na maioria
dos projetos sensores mecânicos ou de fibra ótica. Os sensores de fibra ótica são
utilizados atualmente nas versões mais populares de luvas de dados. Seu uso consiste em
um fio de fibra ótica com junções. Quando a junta é movida o cabo dobra-se reduzindo a
passagem de luz por ele. Essas variações de luz são resumidas e transmitidas para o
computador (Pimentel e Teixeira, 1995). O esquema básico deste tipo de luva pode ser
visto na Figura 1.2.
19
Fig. 1.2 - Esquema de uma luva de dados baseada em fibra ótica.
FONTE: Pimentel e Teixeira (1995), p.183.
O uso de luvas de dados ajuda a aumentar a sensação de presença no
mundo virtual (Pimentel e Teixeira, 1995). Atualmente existem diversos modelos de
luvas disponíveis no mercado de RV (Sturman e Zeltzer, 1994), e estão sendo utilizados
em sistemas de diferentes finalidades (Pimentel e Teixeira, 1995).
b) Dispositivos com 6 graus de liberdade (6DOF)
Os dispositivos de interação com 6DOF (ver Graus de Liberdade em 2.3)
permitem uma movimentação bastante ampla quando utilizados em sistemas de RV
(Pimentel e Teixeira, 1995).
Os dispositivos chamados isométricos, ou bolas isométricas, são bastante
fáceis de manipular, costumam constituir-se de uma bola sobre uma plataforma com
botões (normalmente um deles é utilizado para o reset (reinicialização) do sistema) que
são configurados via software (Pimentel e Teixeira, 1995; Schweber, 1995). A Figura 1.3
ilustra este tipo de dispositivo.
Fig. 1.3 - Esquema de uma bola isométrica.
FONTE: Pimentel e Teixeira (1995), p.188.
20
Algumas empresas procuram modificar o projeto do mouse padrão para
que este possa funcionar com sensores de trajetória de 6DOF ou 3DOF. Esses mouses (o
plural correto seria mice) passam então a utilizar dispositivos de rastreamento e sua
eficiência fica dependente da qualidade do sistema de rastreamento dos movimentos
(Pimentel e Teixeira, 1995).
c) Dispositivos com 2 graus de liberdade (2DOF)
Interagir com um mundo virtual nem sempre requer o uso de um
complicado e/ou caro dispositivo. Muitas tarefas podem ser executadas com simples
dispositivos com 2DOF, como um mouse ou um joystick. Apesar de limitar as
possibilidades de movimento, estes dispositivos reduzem o tempo de latência e são fáceis
de serem utilizados (Pimentel e Teixeira, 1995).
d) Sensores de Entrada Biológicos
Sensores de entrada biológicos processam atividades chamadas de
indiretas, como comando de voz e sinais elétricos musculares (Pimentel e Teixeira,
1995).
Estudos sobre reconhecimento de voz existem há mais de vinte anos, e em
sistemas de RV o reconhecimento de comandos de voz pode facilitar a execução de
tarefas no mundo virtual, principalmente quando as mãos estiverem ocupadas em outra
tarefa e não possam acessar o teclado (Pimentel e Teixeira, 1995).
Já os dispositivos que utilizam sinais elétricos musculares são utilizados
para, através de eletrodos colocados sobre a pele, detectar a atividade muscular,
permitindo ao usuário movimentar-se pelo mundo virtual através do simples movimento
dos olhos, por exemplo (Pimentel e Teixeira, 1995).
e) Outros dispositivos de interação
21
Existe uma série de diferentes dispositivos de interação além dos citados
acima. Muitos são criados a cada ano, enriquecendo a possibilidade de hardware para
RV (Pimentel e Teixeira, 1995).
É claro que entre tantos dispositivos de entrada de dados o teclado não
pode ser esquecido: ele também é capaz de emitir comandos para um sistema de RV
(Pimentel e Teixeira, 1995).
1.5.2 Dispositivos de Trajetória
Muitos dos dispositivos de interação mencionados acima contam com um
dispositivo responsável pela tarefa de detecção ou rastreamento da trajetória, conhecido
como dispositivo de trajetória ou tracking (Pimentel e Teixeira, 1995).
Os dispositivos de trajetória trabalham baseados na diferença de posição
ou orientação em relação a um ponto ou estado de referência. Basicamente existe uma
fonte que emite o sinal, um sensor que recebe este sinal e uma caixa controladora que
processa o sinal e faz a comunicação com o computador (Pimentel e Teixeira, 1995). A
Figura 1.4 ilustra um sistema de tracking.
22
Fig. 1.4 - Diagrama de bloco de um sistema de detecção de trajetória típico.
FONTE: Pimentel e Teixeira (1995), p.194.
A maioria das aplicações que utilizam detecção de trajetória fazem uso de
pequenos sensores colocados sobre as partes do corpo ou sobre o objeto (se for o caso),
técnica conhecida como tracking ativo. Dispositivos de trajetória de dispositivos de
interação com 6DOF utilizam técnicas eletromagnéticas, ultrassônicas, mecânicas ou
óticas para fazer a medida dos movimentos. Como alternativa, o tracking passivo utiliza
câmeras ou sensores óticos para “observar” o objeto e determinar sua posição e
orientação. Diferente dos dispositivos que utilizam tracking ativo, os dispositivos de
tracking passivo utilizam apenas um sensor para rastrear o objeto (Pimentel e Teixeira,
1995).
23
CAPÍTULO 2
CONCEITOS DE COMPUTAÇÃO GRÁFICA
Levando em conta que a Realidade Virtual procura estimular
principalmente a visão, as imagens utilizadas precisam estar o mais próximas quanto
possível das imagens do mundo real. Para tanto, a computação gráfica passa a ter um
papel fundamental na criação destas imagens.
Este capítulo visa fornecer alguns conceitos ligados à computação gráfica
necessários para a compreensão e desenvolvimento deste trabalho, como visualização do
espaço 3D, estereoscopia e graus de liberdade.
2.1 Visualização do espaço 3D
Uma vez que os dispositivos de visualização são bidimensionais, a
representação gráfica de objetos no espaço tridimensional passa obrigatoriamente por um
processo de mapeamento da imagem 3D para 2D. Essa operação de mapeamento é
chamada de projeção (Tori et al., 1987).
Em geral, projeções transformam pontos de um sistema de coordenadas
n-dimensional em pontos num sistema de coordenadas de dimensão menor que n. A
computação gráfica estuda especialmente a projeção de objetos n-dimensionais em um
espaço bidimensional devido ao fato dos displays de computador serem bidimensionais.
Para este trabalho interessa-nos particularmente as projeções do espaço 3D no espaço
2D.
No processo de visualização 2D simplesmente é escolhida uma “janela”
do mundo 2D que é projetada na superfície de visualização 2D ou display. Já no
processo de visualização de uma imagem ou objeto 3D é necessário especificar um
24
volume de visualização no mundo real, uma projeção sobre o plano 2D (display) e um
campo de visualização sobre este plano (Foley et al., 1990).
A projeção de um objeto 3D é definida através da emanação de raios de
projeção provenientes de um centro de projeção. Estes raios passam por cada ponto do
objeto e interceptam um plano de projeção no qual o objeto será projetado (Foley et al.,
1990). Esta projeção é conhecida como projeção geométrica planar, e pode ser dividida
em duas classes: perspectiva e paralela. A diferença entre as classes está relacionada à
distância entre o centro de projeção e o plano de projeção: caso a distância entre os dois
seja finita a projeção é perspectiva; caso seja infinita, a projeção é paralela. A Figura 2.1
ilustra estas duas classes de projeção.
Fig. 2.1 - Linha AB e suas projeções A’B’perspectiva (a) e paralela (b).
FONTE: Foley et al. (1990), p. 230.
a) Projeção Perspectiva
A projeção perspectiva é aquela em que o centro de projeção é um ponto
próprio no espaço 3D. Ela é obtida através de “pontos de fuga”, pontos através dos
quais a projeção é feita. Utiliza-se até três pontos de fuga (correspondendo ao número
de eixos principais (x,y,z)) dependendo do número de eixos cortados pelo plano de
projeção (Foley et al., 1990).
25
A Figura 2.2 a mostra um exemplo onde são utilizados dois pontos de
fuga. Neste exemplo é possível observar que as linhas paralelas ao eixo y não
convergem, uma vez que este eixo não é cortado pelo plano de projeção.
Fig. 2.2 - Projeção perspectiva de um cubo através de dois pontos de fuga . O plano de
projeção corta os eixos x e z.
FONTE: Foley et al. (1990), p. 232
O efeito visual da projeção perspectiva é similar ao sistema visual
humano, neste caso a pupila é o centro de projeção e a retina o plano de projeção. As
imagens são visualizadas deformadas (e os ângulos distorcidos), ou seja, o tamanho de
um objeto é inversamente proporcional à sua distância do centro de projeção (Tori et
al., 1987).
b) Projeção Paralela
A projeção paralela é obtida quando o centro de projeção é distante o
suficiente para tornar as linhas visuais paralelas, posicionando o centro de projeção no
infinito. Ao invés de centro de projeção, agora utiliza-se o termo direção de projeção. A
posição do plano de projeção em relação à direção de projeção determina alguns tipos de
26
projeção paralela: projeção paralela ortográfica - quando a direção e o plano de projeção
formam um ângulo de 90° entre si - e projeção paralela oblíqua - quando este ângulo é
diferente de 90° (Tori et al., 1987). A Figura 2.3 exemplifica a projeção paralela
ortográfica.
Fig. 2.3 - Construção de três projeções paralelas ortográficas (as linhas de projeção são
perpendiculares aos planos de projeção). Observe que não existe um centro de
projeção e sim uma direção relacionada a cada projeção.
FONTE: Foley et al. (1990), p. 234.
A projeção paralela é menos realística que a projeção perspectiva, mas
bastante utilizada para extração de medidas da imagem devido ao fato de preservar a
proporcionalidade das medidas de lados e ângulos, refletindo as características
geométricas do objeto (Foley et al., 1990; Tori et al., 1987).
2.2 Estereoscopia
Segundo Moffitt e Mikhail (1980, p. 110), estereoscopia é a ciência e arte
que trabalha com imagens para produzir um modelo visual tridimensional com
características análogas às características da mesma imagem quando vista através da
27
visão binocular real. Sendo assim, podemos dizer que a estereoscopia lida com o fato de
que cada um dos olhos (humanos), devido à sua localização na face, vê imagens
ligeiramente diferentes quando olha para algo. O cérebro então, reúne as duas imagens
em uma, sendo que esta passa a ter características de profundidade, distância, posição e
tamanho. Ou seja, a estereoscopia trabalha com a obtenção dessas imagens ligeiramente
diferentes que produzirão a visão estereoscópica ou visão tridimensional.
A estereoscopia tem suas desvantagens. Jacobson (1995, p.85) diz que de
10 a 20 por cento das pessoas não aproveitam os efeitos da estereoscopia, pois seus
cérebros não conseguem fundir as imagens duplicadas de forma correta. No caso da
computação, esta desvantagem está ligada à necessidade de mais processamento, pois é
preciso gerar duas imagens ao invés de uma única.
Na computação, as imagens geradas são visualizadas através de um
dispositivo de saída de dados, normalmente no monitor. Neste caso, a visualização se dá
de forma indireta e para imagens estereoscópicas este processo é chamado de visão
estereoscópica indireta (a visão estereoscópica direta se dá quando os olhos recebem os
raios luminosos refletidos diretamente pelo objeto observado) (Paredes, 1987).
A visão estereoscópica indireta pode ser obtida através de 5 processos
distintos: estereoscopia voluntária, estereoscopia por anaglifo, estereoscopia por
polarização da luz, estereoscopia por luz intermitente e estereoscopia por holografia. No
caso dos quatro primeiros processos cada um dos olhos do observador verá uma imagem
diferente de um mesmo objeto e seu cérebro as fundirá em uma única imagem 3D.
Portanto serão necessárias duas imagens chamadas de par estereoscópico. No processo
por holografia a cena em 3D é registrada numa única imagem não havendo a necessidade
de um par estereoscópico (Paredes, 1987).
2.2.1 Tipos de estereoscopia
a) Estereoscopia Voluntária
28
Neste processo, normalmente utiliza-se um estereoscópio (Figura 2.4)
- instrumento composto por lentes que direcionam uma das imagens
do
par
29
Fig. 2.4 - Estereoscópio.
FONTE: American Society of Photogrammetry (1980), p. 628.
Fig. 2.5 - Esquema básico de um estereoscópio.
FONTE: American Society of Photogrammetry (1980), p. 535
30
estereoscópico para o olho direito e a outra para o olho esquerdo permitindo visualizar a
imagem em 3D.
Essencialmente, o estereoscópio é constituído de um par de lentes
convexas montadas sobre um suporte (Loch e Lapolli, 1985). Seu esquema básico pode
ser observado na Figura 2.5.
b) Estereoscopia por Anaglifo
Anáglifo é o nome dado a figuras planas cujo relevo se obtém por cores
complementares, normalmente vermelho e verde ou vermelho e azul esverdeado. Neste
caso, cada um dos olhos utilizará um filtro diferente para visualizar as imagens do par
estereoscópico: o olho que estiver com o filtro vermelho refletirá apenas a cor vermelha
e o olho que estiver com o filtro verde/azul refletirá apenas a imagem verde/azul (Figura
2.6). Assim, as duas imagens são separadas na observação e fundidas em uma única
imagem 3D preto e branco (Paredes,1987).
Fig. 2.6 - Figura estereoscópica formada pelo processo de cores complementares.
FONTE: Vince (1995), p. 16.
31
c) Estereoscopia por Polarização da Luz
É bastante comum o conceito de luz como energia que se transmite de
forma ondulatória. Sendo assim, pode-se considerar que essas ondas vibram em todas as
direções perpendiculares à direção de deslocamento. No entanto, em certas condições as
ondas de luz podem ser obrigadas a vibrar apenas num plano. Designa-se esta luz de luz
polarizada (Figura 2.7) (Paredes, 1987).
Fig. 2.7 - Polarização linear. Em (a) pode ser observado o conceito de raio de luz nãopolarizada e em (b) a luz polarizada linearmente - neste caso para vibrar
apenas no plano vertical.
FONTE: Paredes (1987), p. 457.
No processo de estereoscopia por polarização da luz são utilizados filtros
polarizadores que fazem com que as imagens do par estereoscópico projetadas sejam
polarizadas em planos ortogonais (por exemplo um plano vertical e um horizontal).
Desta forma, o observador utiliza filtros polaróides ortogonais correspondentes as planos
de projeção e vê com cada olho apenas uma das imagens projetadas. Da fusão das
imagens vistas por cada olho resultará a visão estereoscópica (Loch e Lapolli, 1985).
32
d) Estereoscopia por Luz Intermitente
Este processo baseia-se no fato de que uma imagem observada permanece
no cérebro humano cerca de 1/20 a 1/8 de segundo. Utilizando-se esse dado as imagens
são projetadas alternadamente para cada olho a um intervalo de 1/20 a 1/60 segundos, de
modo que cada olho possa ver apenas uma imagem. Assim, o observador não perceberá
a alternância das imagens e verá uma única imagem 3D (Paredes, 1987). Uma grande
vantagem deste processo sobre o processo por anaglifos é a utilização de imagens
coloridas.
e) Estereoscopia por Holografia
Como citado anteriormente, a estereoscopia por holografia não utiliza-se
de um par de imagens estereoscópicas, pois tal qual a fotografia, a holografia é uma
técnica que registra em filme a informação relativa a um objeto ou cena. A holografia
capta as informações de uma imagem em 3D incluindo profundidade e as grava também
em 3D (Paredes, 1987).
2.2.2 Paralaxe
Nas imagens estereoscópicas geradas por computador, a quantidade de
paralaxe - distância horizontal entre imagens esquerda e direita - determina a distância
aparente dos objetos “virtuais” em relação ao observador (Jacobson, 1994; Gradecki,
1995). A paralaxe é importante porque a quantidade dela nos pares estéreos determinará
a quantidade de disparidade nas retinas, ou seja, a distância horizontal entre quaisquer
dois pontos nas imagens projetadas nas retinas (Gradecki, 1995). Gradecki (1995) cita
quatro tipos básicos de paralaxe: zero, positiva, negativa e divergente.
Quando os pares estéreos possuem paralaxe zero, não há qualquer
intervalo entre as imagens. No entanto, quando as imagens possuem paralaxe positiva
(maior que zero) já é possível notar profundidade na imagem de fusão. Neste caso,
33
quanto maior for a paralaxe, maior será a sensação de distância entre o objeto projetado
e o observador. A paralaxe negativa é o caso mais interessante, ela ocorre quando as
linhas de visão estão cruzadas, ou seja, o olho esquerdo visualiza a imagem da direita e o
olho direito visualiza a imagem da esquerda. Quando isto ocorre, o objeto observado
parece flutuar no espaço entre os olhos do observador e o ponto de projeção. Chamamos
a paralaxe de divergente quando o valor dela é maior que o espaçamento interocular dos
olhos. Esta situação, no entanto, nunca ocorre no mundo real e deve ser evitada nos
pares estéreos devido ao grande desconforto gerado ao observador (Gradecki, 1995).
2.3 Graus de Liberdade (DOF - Degrees Of Freedom)
Os graus de liberdade determinam flexibilidade de movimentação e/ou
observação de algo. O termo “graus de liberdade” é utilizado para descrever a
combinação de posições e orientações ou outro tipo de movimento que pode ser
efetuado sobre um objeto ou imagem (Pimentel e Teixeira, 1995).
Em Realidade Virtual, objetos em mundos virtuais tem a característica de
poderem ser movimentados em “qualquer direção” no espaço. Tipicamente, estes objetos
podem se movimentar em 6 direções diferentes: para frente ou para trás (eixo X), para
cima ou para baixo (eixo Y), para esquerda ou direita (eixo Z), rotação em X (Roll),
rotação em Y (Yaw) e rotação em Z (Pitch) (Pimentel e Teixeira, 1995). Um esquema
destes movimentos pode ser observado na Figura 2.8.
Grande parte dos sistemas de Realidade Virtual utilizam dispositivos de
entrada de dados que permitem movimentos através dessas 6 direções citadas acima, e
portanto são chamados de dispositivos de 6DOF. Estes dispositivos proporcionam uma
maior sensação de imersão no mundo virtual (Jacobson, 1994).
34
Fig. 2.8 - Esquema mostrando as diferentes direções em que um objeto pode mover-se
no espaço 3D: três translações e três rotações.
FONTE: Pimentel e Teixeira (1995) p.186.
35
CAPÍTULO 3
COMPONDO UM MUNDO VIRTUAL
Para a criação de um mundo virtual é necessário criar um ambiente e
habilitá-lo com objetos e características virtuais. O aplicativo de Realidade Virtual é uma
simulação animada que permite definir e exibir um objeto 3D, alterar seu ponto de
referência e campo de visão, manipular e interagir com os objetos, e fazer com que esses
objetos afetem uns aos outros (Jacobson, 1994).
3.1 Software para Criação de Realidade Virtual
O software para criação de Realidade Virtual permite definir objetos com
comportamentos (propriedades físicas) e programá-los para ativar algum tipo de
feedback visual, auditivo ou tátil quando um evento específico acontece, além de
gerenciar toda a seqüência de eventos. A maioria dos sistemas de construção de mundos
virtuais compartilham alguns conceitos básicos que caracterizam o desenvolvimento da
Realidade Virtual e que permitem aos desenvolvedores a criação de uma simulação
bastante realística. Segundo Jacobson (1994), estes conceitos básicos poderiam ser: o
Universo e seus Objetos, técnicas de apresentação e dinâmicas, e feedback.
O Universo representa o lugar onde ocorrerá a experiência de RV, o lugar
a ser modelado. Este Universo contém Objetos que são caracterizados por geometria
(formato do objeto), aparência (tamanho, cor, composição, iluminação e sombreamento
aplicados à geometria do objeto) e comportamento (reações do objeto frente a eventos).
Estes Objetos são vinculados entre si por hierarquias, ou seja, um Objeto complexo do
Universo pode incorporar muitos Objetos. Qualquer objeto é formado por um conjunto
de polígonos e suas técnicas de apresentação envolvem conceitos de computação gráfica.
Alguns desses conceitos são: perspectiva linear (o tamanho do objeto diminui conforme
aumenta a distância do usuário), iluminação (intensidade da luz que incide sobre um
36
objeto), sombreamento (sombra causada pelo posicionamento de um outro objeto entre a
fonte de luz e o objeto) e sobreposição (objetos encobrindo outros objetos ou partes
deles) (Jacobson, 1994).
Além de compartilharem os conceitos acima citados, os softwares para
criação de RV também costumam oferecer recursos para determinados tipos de
dispositivos de interação, permitindo programá-los para ativar algum tipo de feedback
visual, auditivo ou tátil (Jacobson, 1994).
Alguns softwares para criação de aplicativos de RV permitem a
importação e exportação de geometrias tridimensionais, ou seja, é possível utilizar um
programa de modelagem 3D para a criação dos objetos e cenários do mundo virtual e
importá-los para o software que cria a RV. A modelagem normalmente baseia-se em
primitivas chamadas polígonos, sendo que um objeto do mundo virtual é composto de
vários polígonos combinados. Então, os programas de modelagem 3D irão combinar
modelagem (criação dos objetos), representação visual (aplicação de propriedades aos
objetos, como textura e iluminação) e animação (movimentação dos objetos na cena),
tornando a apresentação das cenas e dos objetos o mais próxima do real possível
(Jacobson, 1994).
Existem diversos softwares para o desenvolvimento de RV, alguns
permitem apenas a criação de RV exploratória onde o participante não pode alterar nem
interagir com o cenário e seus componentes; outros permitem a criação de sofisticadas
cenas com recursos de interação através de dispositivos compatíveis (Jacobson, 1994).
3.2 REND386
Uma vez que a Realidade Virtual era bastante cara até algum tempo atrás,
entusiastas “caseiros” adaptavam tecnologias e dispositivos de baixo custo para criar
seus próprios sistemas de RV. Mesmo assim, para estas pessoas o problema recaía
sempre sobre a geração dos gráficos para seus sistemas, uma vez que não dispunham de
37
hardware poderoso ou estações gráficas (Stampe et al., 1993). Pensando nisto, Dave
Stampe e Bernie Roehl da Universidade de Waterloo desenvolveram em 1991 o
REND386, um sistema voltado para computadores pessoais (PCs) que permite a criação
de mundos virtuais.
O REND386 é um sistema que permite criar objetos através de polígonos
e visualizá-los levando em conta perspectiva e posição do observador. A coleção de
objetos criados formará o mundo virtual que poderá ser explorado usando dispositivos
comuns como mouse e teclado (Gradecki, 1994). Uma característica interessante deste
software é que, apesar de gerar imagens em tempo real e possuir recursos de animação,
ele é bastante rápido pelo fato de executar todos os seus cálculos baseado em números
inteiros (Stampe et al., 1993).
Na verdade, o REND386 foi desenvolvido a partir de um conjunto de
bibliotecas para a linguagem C, e exigirá conhecimentos desta linguagem e de geometria
tridimensional por parte do desenvolvedor de RV caso ele queira programar rotinas
específicas. As versões mais novas do sistema oferecem suporte para imagens estéreo,
óculos obturadores e PowerGlove (um tipo de luva de dados) dentre outros. Com o
REND386 é possível desenvolver mundos, definir superfícies e programar animações
que dão a sensação de mundo real.
Uma vez composto o mundo virtual, é possível visualizar cada objeto ou
cena a partir de qualquer direção: o REND386 gera as imagens através de um processo
constante de cálculos. Para determinar o que deve ser exibido, uma vez que o usuário
pode visualizar apenas parte do mundo virtual na tela, o sistema define um volume de
visualização e utiliza passos seqüenciais como: recorte de objetos, remoção de faces
escondidas, projeção perspectiva, iluminação, seleção de profundidade e exibição final na
tela (Stampe et al., 1993). Estes passos são executados sempre que uma nova imagem
deve ser exibida, ou seja, sempre que há alguma movimentação (interação) por parte do
observador, que modifica o ângulo de visão.
38
Uma vez que o REND386 é um software desenvolvido para PCs, não
exige hardware avançado ou dispositivos especiais de interação, e permite uma
visualização e interação razoáveis, ele será adotado no desenvolvimento do primeiro
protótipo deste trabalho (cap. 4).
3.3 Modelagem do Mundo Virtual no REND386
O REND386 permite modelar mundos e seus componentes através de três
arquivos básicos com extensão PLG (polígonos), FIG (figuras) e WLD (mundo).
A modelagem do mundo virtual consiste em definir o raio de visão do
observador, fator de escala para objetos a serem visualizados, posição inicial do sistema,
cores do ambiente e animações correspondentes a objetos específicos, num arquivo
WLD. A partir daí este arquivo irá incorporar as figuras e polígonos definidas a partir
dos arquivos de extensão PLG ou FIG formando os objetos “virtuais”.
No REND386, os objetos do mundo virtual costumam “nascer” de um
modelo wireframe (modelo com contorno básico que contém todas as linhas do objeto)
transparente. Esse modelo passa por um processo que faz a remoção das linhas que
devem ficar ocultas. A partir daí a representação visual manuseia a superfície do objeto
criando efeitos realísticos com a atribuição de cores, iluminação, sombreamento e
textura. O toque final fica por conta da animação, onde os objetos e luzes serão
movimentados conforme os comandos ou movimentos do usuário alterando as cenas
seguintes a serem apresentadas. A animação é feita em tempo real a uma taxa que faz
com que tudo pareça se deslocar com perfeição, numa média de 15 a 22 quadros por
segundo (Jacobson, 1994).
Uma característica interessante dos mundos criados pelo REND386 é que
é possível alterar características como cor, tamanho e iluminação das figuras ou
polígonos definidos previamente em outros arquivos.
39
3.3.1 Objetos Virtuais
Uma vez que a modelagem do mundo virtual envolve a definição dos
objetos através de arquivos independentes, torna-se necessário descrever como isto é
feito.
Os arquivos de extensão PLG são bastante interessantes, pois definem os
polígonos que formarão os objetos virtuais. A partir desses polígonos será possível
compor figuras mais complexas. Basicamente, num arquivo PLG descreve-se o número
de lados e vértices de um polígono e suas cores (Stampe et al., 1993). Observe na Figura
3.1 o formato de um arquivo PLG.
cube 8 6
-500 -500
-500 500
500 500
500 -500
-500 -500
-500 500
500 500
500 -500
# nome, no vértices, no de polígonos
500
# vértice 0
500
# vértice 1
500
# vertice 2
500
# vértice 3
-500
# vértice 4
-500
# vértice 5
-500
# vértice 6
-500
# vértice 7
0x18AF
0x19BF
0x1ACF
0x1BA8
0x1CB8
0x1DC8
4
4
4
4
4
4
0
1
5
0
4
7
1
5
4
3
5
3
2
6
7
7
1
2
3
2
6
4
0
6
# cor, no de vértices e vértices
Fig. 3.1 - Formato de um arquivo PLG que define um cubo e as cores de cada uma de
suas faces.
As figuras, guardadas em arquivos de extensão FIG, serão formadas a
partir dos polígonos (PLG), só que agora será possível concatenar esses polígonos e
associá-los entre si. A associação é bastante útil no caso de uma animação, pois a partir
do movimento de um componente da figura o sistema gerará os movimentos adequados
das partes associadas (Gradecki, 1994). Além disso, existe a facilidade de utilizar um
mesmo polígono em diversas figuras de um mundo virtual, isso porque dentro dos
40
arquivos de figura um polígono pode ter suas características de cor e tamanho alteradas.
Sendo assim, um paralelepípedo (PLG) poderia ser utilizado tanto para representar uma
casa, quanto para representar um pequeno cofre dentro do mesmo mundo virtual, por
exemplo. A Figura 3.2 a seguir ilustra como é feita a associação de polígonos nos
arquivos de figura.
Fig. 3.2 - Figura humana e associação de suas partes para modelagem num arquivo de
extensão FIG.
FONTE: Stampe et al. (1993), p. 268.
3.4 Animação com o REND386
Animações podem variar de simples rotações a movimentos mais
complexos. No REND386 as animações são programas de poucas linhas (por exemplo,
apenas 3 linhas de código para movimentar um objeto) que podem ser incorporados ao
próprio arquivo de extensão WLD ou simplesmente referenciados nele. A linguagem de
controle das animações é basicamente uma máquina de estados que executa uma
operação, toma decisões, e segue caminhos A ou B para novas operações. Ou seja, a
animação de vários objetos pode ser composta por uma ou mais máquinas de estados,
41
sendo possível definir o número de vezes por segundo que se quer que cada animação
aconteça.
Uma característica interessante quanto à animação com o REND386 é a
possibilidade de associar objetos entre si, de forma que o movimento de um afete o
outro. Isto já acontece internamente com as partes de figuras (arquivos de extensão
FIG), onde o movimento de uma parte leva consigo todas as outras ligadas a ela (Stampe
et al., 1993).
A animação no REND386 permite controlar rotações, movimentos,
associar objetos entre si para que se movam em conjunto, redefinir características dos
objetos durante os movimentos, e captar e acionar movimentos em resposta às ações do
usuário (Stampe et al., 1993).
3.5 Visualização no REND386
A visualização é bastante interessante no REND386. Apesar
das
superfícies circulares não possuírem muito boa definição, o usuário pode visualizar
qualquer objeto a partir de qualquer posição dentro do mundo virtual, posicionando-se
com movimentos até 6 graus de liberdade e fazendo uso de 10 câmeras virtuais,
definidas previamente pelo programador do mundo virtual (Stampe et al., 1993).
Este software também dispõe de ferramentas que auxiliam o usuário
durante o processo de visualização: como um compasso onde são exibidos os eixos x, y
e z, e um indicador de valor de posição de x e z que se alteram dependendo dos
movimentos do usuário; um indicador do número de quadros por segundo que está
sendo gerado e exibido; e ferramentas de mensagens como, por exemplo, nome do lugar
no mundo em que o usuário se encontra (Stampe et al., 1993).
Além disso, o sistema dispõe de duas ferramentas para visualização em
estéreo: na primeira o par estereoscópico é gerado automaticamente e posicionado na
42
tela do computador, sendo que as imagens esquerda e direita do par estéreo permanecem
lado a lado na tela e podem ser vistas em 3D com o auxílio de visores chamados fresnel;
a segunda ferramenta necessita do auxílio de óculos obturadores, e gera as imagens
esquerda e direita alternando-as na tela do computador em sincronia com os óculos
obturadores (Stampe et al., 1993).
43
CAPÍTULO 4
APLICAÇÕES
Este capítulo destina-se à descrição dos métodos e ferramentas utilizados
para a geração de dois protótipos que utilizam recursos de realidade virtual.
Os protótipos basearam-se no modelo do satélite CBERS (China-Brazil
Earth Resources Satellite), um satélite de sensoriamento remoto desenvolvido em
cooperação entre o Brasil e a China (Figuras B.1 e B.2) (INPE, 1995). O protótipo I
utiliza um software de realidade virtual para a modelagem de um mundo virtual com a
simulação do satélite abrindo seus painéis solares no espaço. O protótipo II utiliza a
estereoscopia, recurso bastante utilizado em realidade virtual, para a obtenção de uma
imagem do mesmo satélite para ser visualizada em 3D. Ambos os protótipos poderão ser
visualizados através do sistema constante no apêndice C.
4.1 Protótipo I - O Satélite CBERS no Espaço
Este protótipo consiste na modelagem de um mundo virtual que simula
parte do sistema solar com a atuação do satélite CBERS no espaço. O objetivo deste
protótipo é visualizar o movimento de abertura dos painéis solares e a órbita do satélite
de maneira realística.
Para a modelagem do mundo virtual foi utilizado o software REND386.
O ambiente completo é composto de três módulos: arquivos PLG com a definição dos
objetos básicos como o planeta Terra, o Sol e as partes do satélite; um arquivo do tipo
FIG, onde são conectadas as diversas partes componentes do satélite; e um arquivo
WLD que apresenta as características do mundo virtual e referencia os arquivos PLG e
FIG. A seguir será descrito como foi possível a composição do ambiente total através
destes arquivos.
44
4.1.1 Os Arquivos de Polígono (PLG)
Nos arquivos de polígono (PLG) é possível definir as características de
um simples polígono ou de um objeto composto por diversos polígonos. Os vértices são
definidos em termos de coordenadas x,y,z e depois ligados formando os polígonos, que
receberão cores que variam entre opacas, sombreadas (dependentes da posição da fonte
de luz), metálicas ou transparentes.
Estes arquivos de polígono (PLG) foram utilizados para definir o Sol, a
Terra e cada uma das partes que compõe o satélite em questão.
Uma vez que o REND386 trabalha sempre baseado em polígonos, esferas
ou qualquer superfície arredondada passam a ser objetos formados por um conjunto de
polígonos. Sendo assim, a modelagem da Terra e do Sol tornou-se uma tarefa bastante
complexa levando-se em conta os recursos do REND386. Para facilitar este processo, foi
utilizado um software de modelagem que possui ferramentas específicas para o desenho
de superfícies arredondadas, e um tradutor de formato de arquivo. Assim, estes objetos
foram modelados no 3DStudio e posteriormente convertidos para o formato PLG. A
Terra teve a cor de seus polígonos modificada de forma a distinguir os continentes dos
mares e permitir sombra dependendo da posição da fonte de luz no mundo virtual. O
mesmo foi feito com o Sol, que com a alteração das cores parece possuir partes mais
“quentes” quando visualizado.
O satélite, por sua vez, foi dividido em 3 partes principais: corpo, haste e
painéis, conforme pode ser observado na Figura 4.1. O corpo do satélite e a haste foram
definidos em arquivos PLG distintos. O corpo, no formato de um cubo, recebeu uma cor
metálica e a haste uma cor opaca. Para a definição dos painéis solares, também de cor
metálica, foi utilizado apenas um arquivo PLG, sendo que este foi utilizado três vezes
para a formação do conjunto de painéis solares que compõem o satélite. A união de
45
todos estes arquivos PLG foi feita num arquivo FIG, responsável pela hierarquia e
posicionamento de cada uma das partes que formam o satélite.
Fig. 4.1 - As partes da decomposição do satélite CBERS para modelagem: corpo, haste
e painéis solares.
4.1.2 Arquivo de Figura - O satélite CBERS
O modelo real do satélite CBERS é bastante simples: basicamente uma
grande caixa que acomoda os módulos de serviço e de carga útil, e o painel solar (Figura
4.2).
46
Fig. 4.2 - Estrutura básica do satélite CBERS: a e b indicam respectivamente os módulos
de serviço e carga útil, e c o painel solar.
FONTE: INPE, 1995.
O modelo virtual foi gerado a partir de três arquivos tipo PLG conectados
para permitir uma posterior manipulação de cada parte. Para tanto, foi utilizada uma
hierarquia de partes permitida em arquivos FIG (capítulo 3), ficando o modelo conforme
a ilustração 4.3.
Fig. 4.3 - Hierarquia das partes que compõem o satélite CBERS, conforme definido no
arquivo de figura.
Temos então a seguinte hierarquia: o painel 3 do satélite é “filho” do
painel 2, que é “filho” do painel 1, que é “filho” da haste, que é “filha” do corpo. Dessa
forma, no processo de animação torna-se possível movimentar qualquer parte do satélite
com
seu
filho
e
descendentes
seguindo
o
mesmo
movimento.
47
4.1.3 Arquivo de Mundo (WLD) - O Espaço
O arquivo de mundo (WLD) permite a integração de todos os
componentes do sistema, bem como a definição das características do ambiente em que
eles atuarão. Todos os componentes do mundo são posicionados em termos de
coordenadas x,y,z , e será através destes eixos que o usuário poderá movimentar-se.
Durante o processo de codificação deste arquivo WLD foi utilizada uma
iluminação específica para tornar o ambiente o mais realístico possível. Determinou-se
uma iluminação ambiente fraca e ao Sol foi atribuída a função de fonte de luz. Assim,
objetos como a Terra, cuja cor admite sombreamento, terão sua cor alterada conforme
seu posicionamento em relação ao Sol. Isto não ocorrerá com o satélite uma vez que sua
coloração metálica não admite sombreamento.
Para facilitar o processo de visualização foram definidas 10 câmeras
virtuais posicionadas em lugares diferentes do espaço com as quais o usuário pode
rapidamente alterar sua posição utilizando simplesmente as teclas de função de um
teclado comum. Estas câmeras foram posicionadas em locais que facilitam a visualização
de determinados objetos ou seus movimentos. Isto porque o ambiente possui valores de
x,y,z muito espaçados de forma que os objetos são bastante distanciados uns dos outros,
o que torna um pouco lenta a movimentação entre eles. Além disso, o sistema possui um
compasso e um visualizador dos valores de x e z, onde o usuário consegue controlar sua
posição no mundo virtual (Figuras B.3 e B.4)
Visando o processo de animação, também foi feita a associação de
objetos durante a codificação deste arquivo de mundo. Através deste recurso, foi
possível “ligar” objetos entre si tornando um dependente do outro, de forma que quando
um se movimenta, o outro acompanha esse movimento.
48
4.1.4 Animação
Este processo de animação visa fornecer características de movimento aos
objetos, permitindo ao mundo virtual características do mundo real.
A animação deste sistema consiste em 4 partes: os movimentos de rotação
da Terra e do Sol, o movimento de translação da Terra e do satélite ao redor do Sol, a
órbita terrestre do satélite, e o movimento de abertura dos painéis solares do satélite.
A geração dos movimentos é sempre definida em função das coordenadas
x, y e z. Para as rotações, é preciso definir um ponto de referência ao redor do qual ela
acontecerá. Uma particularidade das rotações está no fato dela só ocorrer ao redor de x,
y e z, sendo que a combinação da rotação nestes eixos obedece a ordem de execução y,
x, z (Stampe et al., 1993 p.453). Ou seja, para a execução de uma rotação que não
obedeça a direção dos eixos definidos, é preciso alterar o sistema de eixos do ponto de
referência.
Sendo assim, o ponto de origem dos movimentos de rotação do Sol e da
Terra são os seus pontos centrais, originalmente definidos no arquivo de polígono
(PLG), respectivamente. O Sol gira em função do eixo y. Já a Terra teve a direção de
seus eixos modificada para que seu movimento fosse levemente inclinado em 23o,
aproximadamente sua inclinação real em relação ao plano da sua órbita solar (Pauwels,
1989 p.87 fornece o valor de 23o30’).
Para a órbita da Terra ao redor do Sol, foi utilizada a ferramenta de
associação de objetos descrita em 4.1.3, assim o planeta Terra foi associado ao Sol e
passou a seguir seus movimentos, caracterizando sua órbita.
No caso do satélite, foi necessário utilizar um artifício para a modificação
de seus eixos, uma vez que este obedece a dois movimentos distintos: a sua própria
órbita ao redor da Terra, e o movimento desta ao redor do Sol. Neste caso, foi definido
49
um ponto transparente no espaço localizado no centro da Terra. O satélite foi associado
a este ponto que foi associado ao Sol (da mesma forma que a Terra) permitindo que o
satélite siga a Terra na sua rotação ao redor do Sol. No entanto, o satélite agora possui o
mesmo sistema de coordenadas do ponto, inclinado 8o em z, e portanto, através da
rotação deste ponto, foi possível gerar o movimento de rotação do satélite ao redor da
Terra com uma inclinação de 98o em relação ao equador do planeta. Este valor
aproxima-se consideravelmente do valor real de 98,504o (INPE, 1995) (Figuras B.5 e
B.6).
Por último, a animação da abertura dos painéis solares do satélite foi feita
baseada na hierarquia das partes do objeto definido no arquivo de figura (FIG). O centro
de movimentação de cada parte do objeto foi definido dentro do próprio arquivo de
figura, e mesmo que o satélite tenha tido seu centro de movimentação alterado isto não
afetou a animação das partes do satélite. A Figura 4.4 mostra as partes que compõem o
satélite e o centro e movimentação de cada uma.
Fig. 4.4 - As partes do satélite com seus centros de movimentação a, b, c e d
pertencentes respectivamente à haste, painel 1, painel 2 e painel 3, conforme
definidos no arquivo de figura (FIG).
Além do movimento de abertura, os painéis solares também foram
programados para girarem de acordo com a posição do satélite em relação ao Sol, da
mesma maneira que ocorre com o modelo real. Desta maneira, os painéis solares
mantêm-se sempre voltados para o Sol durante a rotação do satélite ao redor da Terra.
50
4.1.5 Visualização e Interação
Neste protótipo, a visualização do mundo virtual tem como base um
monitor comum de computador. Apesar do REND386 possuir ferramentas que permitam
a visão em estéreo, estas não puderam ser utilizadas pelo fato deste mundo virtual em
particular possuir valores de coordenadas considerados astronômicos, ou seja, os objetos
são de dimensões muito elevadas e estão muito espaçados entre si, tornando a
visualização em estéreo distorcida.
Para a interação do usuário com o sistema, foram programadas funções
para um teclado e mouse comuns. Dessa forma, o usuário pode movimentar-se utilizando
as teclas de navegação do teclado, deslocar-se instantaneamente para outra posição do
espaço através da funções programadas como câmeras virtuais, ativar animações através
da seleção de objetos com o mouse, e obter informações a respeito dos objetos
selecionados com o mouse.
51
4.2 Protótipo II - O Satélite CBERS em 3D
O objetivo deste protótipo consistiu em mostrar os benefícios da
estereoscopia na observação de uma imagem, vantagem esta oferecida pelos sistemas de
realidade virtual.
Sendo assim, foi gerada uma imagem 3D do satélite CBERS a partir de
uma imagem 2D. Esta imagem foi implementada para ser visualizada utilizando-se a
técnica de anaglifos com as cores complementares vermelho e azul, permitindo que
diversos usuários usando óculos com filtros das mesmas cores, pudessem visualizar a
imagem simultaneamente.
4.2.1 Obtendo o Par Estereoscópico
Hodges (1992) descreveu em seu artigo três métodos para a obtenção do
par estereoscópico: projeção off-axis, projeção on-axis e rotação.
Na projeção off-axis assume-se a existência de dois centros de projeção,
sendo que a visão esquerda é produzida baseada no centro de projeção esquerdo e a
visão direita é produzida baseada no centro de projeção direito. Neste caso, ambas são
implementadas juntamente com uma transformação de visualização. Hodges (1992)
implementou o processo de obtenção das imagens do par estereoscópico por projeção
off-axis junto com uma transformação de projeção perspectiva.
Já na projeção on-axis, ao invés de dois centros de projeção, é utilizado
um único centro de projeção em conjunto com translações horizontais dos dados. Neste
caso, a obtenção de cada imagem do par estereoscópico é feita através de três passos:
translação da imagem para a direita ou esquerda (dependendo da imagem do par
estereoscópico a ser gerada), projeção perspectiva, e translação da imagem para o
sentido contrário da primeira translação (Hodges, 1992).
52
Na Figura 4.5 é possível observar a diferença entre as projeções on-axis e
off-axis. Para ambas as projeções, podemos observar três áreas distintas: a área
visualizada apenas pelo olho esquerdo (E), a área visualizada apenas pelo olho direito
(D), e a área que é visualizada por ambos.
Fig. 4.5 - As projeções off-axis e on-axis, onde E e D representam os olhos esquerdo e
direito, respectivamente.
Uma pesquisa feita por Williams e Parrish (citado por Hodges, 1992)
demonstrou que o campo visual, ou o conjunto das áreas visualizadas, difere até 40 por
cento na projeção off-axis sobre a projeção on-axis. Apesar desta desvantagem, a
projeção on-axis apresenta a grande vantagem de estar disponível a partir do hardware
gráfico de diversas estações gráficas, o que aumenta o desempenho geral da máquina
neste tipo de aplicação. A implementação da projeção off-axis, por sua vez, é feita via
software (Hodges, 1992).
53
No caso da rotação para a obtenção do par estereoscópico, observa-se
que esta técnica é bastante rápida computacionalmente, uma vez que as imagens são
obtidas através da simples rotação vertical do centro de projeção (num total de 4 graus,
normalmente). No entanto, isso é bastante utilizado em projeções paralelas de cenas. No
caso de rotação implementada juntamente com projeção perspectiva, existe uma grande
discussão a respeito, uma vez que as imagens obtidas apresentam deficiências, como
paralaxe vertical e distorções, que afetam a qualidade da imagem (Hodges, 1992).
Para este protótipo, no entanto, optou-se por utilizar a projeção off-axis,
uma vez que a rotação, apesar de rápida, não produzia bons resultados e a projeção onaxis pareceu possuir uma implementação mais complexa via software.
a) A Projeção off-axis
Na projeção off-axis implementada juntamente com a projeção
perspectiva (Hodges, 1992), após a transformação de visualização (3D para 2D),
localiza-se o plano a ser visualizado paralelo ao plano x-y e passando pela origem. Um
centro de projeção padrão (para o sistema de visualização monoscópico) é então
localizado no ponto (0,0,-d), onde d é a distância do cento de projeção ao plano de
projeção. Sendo assim, a projeção de um ponto P=(x,y,z) passa a ter as coordenadas
(xp,yp) no plano de projeção, onde:
xp =
xd
d+ z
e
yp =
yd
d+ z
(4.1)
Para a produção das imagens do par estereoscópico, é necessária a
utilização de dois centros de projeção, um centro de projeção para a visão direita (CPD)
e outro para a visão esquerda (CPE) ,alinhados horizontalmente. O CPD é movido
perpendicularmente a z para a posição (e/2,0,-d) e o CPE para (-e/2,0,d), onde “e”
representa a separação total entre os centros de projeção.
54
Temos então, para um ponto arbitrário P=(x,y,z), a projeção para a visão
esquerda PE=(xE,yE), com coordenadas no plano de projeção:
ze
2
xE =
d+ z
xd −
e
yE =
yd
d+ z
(4.2)
E a projeção de P para a visão direita, PD=(xD,yD), tem os valores de
coordenadas no plano de projeção:
ze
2
xD =
d+ z
xd +
e
yD =
yd
d+ z
(4.3)
4.2.2 Implementação
A implementação deste protótipo foi feita em Linguagem C utilizando sua
biblioteca gráfica. A imagem utilizada foi a do satélite CBERS cercado por estrelas
(figura 4.6).
Fig. 4.6 - A imagem monoscópica do satélite CBERS no espaço.
55
Utilizando-se as fórmulas 4.2 e 4.3 aplicadas a cada ponto da imagem
monoscópica, foi possível obter o par estereoscópico. Foi necessário definir os valor de
“e” e “d”, ou seja, a distância entre os centros de projeção esquerdo e direito, e a
distância do observador ao plano de projeção (Figura 4.7). Tomou-se e=6,5cm como
uma distância média para os olhos humanos, e d=60cm como a distância entre o
observador e a tela do computador.
Para a aceleração do processamento na geração do par estéreo, os valores
de y do par estéreo foram calculados uma única vez para cada ponto, servindo para a
imagem esquerda e direita igualmente, uma vez que yD e yE são idênticos (fórmulas 4.2 e
4.3).
Fig. 4.7 - Projeção off-axis.
FONTE: Hodges (1992), p.24.
Optou-se por exibir as imagens em cores complementares vermelho e azul
para obter a estereoscopia por anaglifo.
56
4.2.2 Visualização
A visualização foi feita diretamente sobre o monitor de vídeo do
computador, utilizando-se a técnica de anaglifos para exibir o par estereoscópico. As
imagens esquerda e direita foram projetadas em vermelho e azul, podendo ser separadas
no momento da visualização através do uso de óculos com filtros das mesmas cores.
Uma vez que se desejava o efeito de imagem “saindo” da tela, as linhas de
visualização foram cruzadas, ou seja: o olho direito do observador utiliza filtro azul e
verá a imagem em azul projetada à esquerda na tela, e o olho esquerdo que utiliza filtro
vermelho verá a imagem em vermelho projetada à direita na tela.
É importante deixar claro que a visualização depende da cor de fundo da
cena. Uma vez que o fundo da cena venha a ser branco, o uso de um filtro vermelho,
refletirá a cor vermelha de um objeto vermelho projetado, bem como a cor vermelha
contida no branco (união de todas as cores) de fundo da cena. Neste caso, um objeto em
azul não será refletido, e portanto se sobressairá como um objeto “preto” (sem reflexão)
sobre um fundo “branco” (com reflexão)(Figura 4.8).
Fig. 4.8 - Em (a) a imagem projetada com as cores complementares vermelho e azul
sobre um fundo branco. (b) mostra a imagem visualizada através de um filtro
vermelho.
57
Uma vez que o fundo da tela do monitor está sem cor (preto), a imagem
vermelha projetada pode ser vista quando é utilizado um filtro vermelho, pois a imagem
azul e o fundo não são refletidos. O mesmo acontece com a imagem projetada em azul.
Desta forma, para a obtenção do cruzamento das linhas da visão, buscando o efeito de
imagem “saindo da tela”, a imagem direita do par estereoscópico foi projetada em
vermelho, correspondendo ao filtro vermelho esquerdo do óculos de visualização, e a
imagem esquerda foi projetada em azul, correspondendo ao filtro azul direito dos óculos
(Figura B.7).
58
59
CAPÍTULO 5
CONCLUSÕES
Através do presente trabalho, pudemos observar que a Realidade Virtual
não só é viável, mas também bastante vantajosa quando utilizada em aplicações
científicas. Uma vez que foi possível a visualização de determinado fenômeno num
ambiente semelhante ao real, neste caso um satélite em órbita e abrindo seus painéis
solares no espaço, verificou-se que a Realidade Virtual é uma poderosa ferramenta na
simulação de projetos científicos a um custo reduzido.
Este trabalho, no entanto, contou com o uso de um simples
microcomputador (PC 486) e um software desenvolvido para atuar neste tipo de
máquina. Este software, o REND386, mostrou-se bastante rápido em animações que não
envolvessem superfícies complexas (compostas por muitos polígonos), sendo assim,
superfícies circulares apresentaram uma definição grosseira. Características como
sombreamento, iluminação, uso de câmeras, visualização 3D são algumas das
características encontradas no REND386.
No entanto, softwares mais modernos e poderosos de Realidade Virtual
apresentam ferramentas que permitem a modelagem de um ambiente mais realístico, com
mais recursos de animação, além de serem compatíveis com diversos tipos de hardware
adicional, como: luvas de dados, capacetes de visualização e dispositivos de feedback;
ambos podendo ser utilizados para trabalhos futuros.
O fato dos objetos modelados e das dimensões do mundo virtual serem
muito elevados para o REND386 gerar corretamente o par estereoscópico das imagens,
fez com que fosse gerada uma imagem 3D separadamente. A geração desta imagem
devido às restrições do REND386, novamente fez-nos crer que sistemas de Realidade
Virtual mais poderosos, combinados com hardware específico, e que utilizam rotinas
60
gráficas disponíveis diretamente na máquina, tornam o processo de geração de imagens
estereoscópicas rápido e eficiente.
A imagem gerada pode ser visualizada em 3D através do uso de óculos
com filtros coloridos, permitindo a visualização da imagem por diversos usuários. Apesar
disso, este tipo de óculos é bastante cansativo se utilizado por algum tempo. Como
alternativa, existem óculos obturadores e polarizadores, que apesar de exigirem mais
tecnologia de hardware e software para serem utilizados, também permitem a
visualização de uma imagem por diversos usuários.
61
GLOSSÁRIO
estereoscopia
Ciência que trabalha com imagens para produzir um modelo visual
tridimensional com características análogas às da mesma imagem quando vista
através da visão binocular real (Moffitt e Mikhail, 1980).
feedback Realimentação. Mudança como resposta à manipulação de um dispositivo de
entrada de dados. Dispositivos de saída que oferecem feedback transmitem
pressão, força ou vibração para fornecer ao participante da RV a sensação do
tato. O feedback tátil simula a sensação ligada à pele. O feedback de força
simula peso ou resistência ao movimento (Jacobson, 1994).
HMD (head-mounted display) Óculos ou capacetes com pequenos monitores que
emitem imagens, posicionando cada monitor diante de cada olho do usuário
(Pimentel e Teixeira, 1995).
joystick
Dispositivo de entrada de dados capaz de realizar movimentos em duas
dimensões: para frente, para trás e para os lados.
LCD Display de cristal líquido. O cristal líquido é fixado entre dois pedaços de vidro e
polarizadores, sendo ativado por uma fonte externa. A corrente elétrica alterna
o cristal entre transparente e opaco (Jacobson, 1994).
MIDI Musical Instrument Digital Interface. Uma linguagem simples de computador
que permite que instrumentos de música digital, como sintetizadores,
comuniquem-se com computadores e entre si (Jacobson, 1994).
mundo virtual Mundo digital. “Mundo” criado a partir de técnicas de computação
gráfica. Através de dispositivos de saída de dados que estimulam os sentidos do
participante, este mundo transforma-se num ambiente de RV (Vince, 1995).
62
off-axis, projeção Tipo de projeção que utiliza dois centros de projeção, um para o
olho esquerdo e um para o olho direito, para a geração do par estereoscópico
de uma imagem (Hodges, 1992).
on-axis, projeção Tipo de projeção, utilizado para a geração do par estereoscópico de
uma imagem, que trabalha com um único centro de projeção em conjunto com
translações horizontais da imagem (Hodges, 1992).
tempo de latência Intervalo de tempo entre um movimento executado pelo usuário e o
resultado deste movimento (Pimentel e Teixeira, 1995).
tempo real Pouco ou nenhum atraso no tempo de resposta, dando a impressão de
resposta instantânea (Jacobson, 1994).
rendering Processo de criação de imagens a partir de modelos (Foley et al., 1990).
Utiliza técnicas de computação gráfica para o cálculo e desenho dessas imagens
(Pimentel e Teixeira, 1995).
63
REFERÊNCIAS BIBLIOGRÁFICAS
Adams, L. Windows visualization programming with C/C++. New York,
McGraw-Hill, 1994.
American Society of Photogrammetry (ASP). Manual of photogrammetry. 4.ed.
American Society of Photogrammetry, 1980.
Foley, J.D.;Van Dam, A.; Feiner, S.K.;Hughes, J.F. Computer graphics, principles
and practice. 2.ed. New York, Addison Wesley, 1990.
Gibson, W. Neuromancer. New York, ACE Books, 1984.
Gradecki, J. Kit de montagem da realidade virtual. São Paulo, Berkeley, 1995.
Gradecki, J. Virtual reality programmer’s kit. New York, John Wiley & Sons, 1994.
Hodges, L.F. Tutorial: Time-Multiplexed Stereoscopic Computer Graphics. IEEE
Computer Graphics & Applications, 12(3):20-30, Mar. 1992.
Instituto Nacional de Pesquisas Espaciais. CBERS China-Brazil Earth Resources
Satellite. Um tributo sino-brasileiro aos recursos naturais do nosso planeta. São
José dos Campos, INPE, 1995.
Jacobson, L. Realidade virtual em casa. Rio de Janeiro, Berkeley, 1994.
Latta, J.N.; Oberg, D.J. A Conceptual Virtual Reality Model. IEEE Computer
Graphics & Applications, 14(1):23-29, Jan. 1994.
Loch, C; Lapolli, E.M. Elementos básicos da fotogrametria e sua utilização prática.
Florianópolis, Editora da Universidade Federal de Santa Catarina, 1985.
Machover, C.; Tice, S.E. Virtual Reality. IEEE Computer Graphics & Applications,
14(1):15-16, Jan. 1994.
Moffitt, F.H.; Mikhail, E.M. Photogrammetry. 3.ed. New York, Harper & How
Publishers, 1980.
Paredes, E.A. Introdução à aerofotogrametria para engenheiros. Maringá/PR,
CONCITEC, CNPq, 1987. v. 1.
Pauwels, G.J. Atlas geográfico Melhoramentos. São Paulo, Melhoramentos, 1989.
64
Pimentel, K.; Teixeira, K. Virtual reality - through the new looking glass. 2.ed. New
York, McGraw-Hill, 1995.
Rheingold, H. Virtual reality. New York, Touchstone, 1991.
Schweber, L.; Schweber, E. Realidade Virtual. PC Magazine Brasil, 5(6):51-72, Jun.
1995.
Stampe, D.; Roehl, B.; Eagan, J. Virtual reality creations. Corte Madera/California,
Waite Group Press, 1993.
Sturman, D.J; Zeltzer, D. A Survey of Glove-based Input. IEEE Computer Graphics
& Applications, 14(1):30-39, Jan. 1994.
Tori, R.;Arakaki, R.;Massola, A.M.A.; Filgueiras, L.V.L. Fundamentos de
computação gráfica. Rio de Janeiro; São Paulo, Livros Técnicos e Científicos
Editora, 1987.
Vince, J. Virtual reality systems. Cambridge, Addison-Wesley, 1995.
65
APÊNDICE A
BIBLIOGRAFIA COMPLEMENTAR
Banon, G.J.F. Bases da computação gráfica. Rio de Janeiro, Campus, 1989.
Cor, Teoria da. Enciclopédia Barsa. Rio de Janeiro, Encyclopædia Britannica, 1979,
v.4, p. 439-441.
Hodges, L.F.; McAllister, D.F. Stereo and alternating-pair techniques for display of
computer-generated images. IEEE Computer Graphics & Applications, 5(9):3845, Sep. 1985.
Kalawsky, R.S. The science of virtual reality and virtual environments. New York,
Addison Wesley, 1993.
Machado, L.S. Conceitos de Realidade Virtual. São José dos Campos, Instituto
Nacional de Pesquisas Espaciais, 1995. (INPE-5975-PUD/025).
Terra. Encliclopédia Barsa. Rio de Janeiro, Encyclopædia Britannica, 1979, v.13, p.
232-237.
75
APÊNDICE C
SISTEMA DE VISUALIZAÇÃO DOS PROTÓTIPOS
Os protótipos gerados em 4.1 e 4.2 podem ser visualizados através da
utilização do disquete e óculos anexos a este trabalho, e que encontram-se no final deste
apêndice. Para tanto, o requisito mínimo é um microcomputador 386SX ou superior,
com monitor VGA colorido, um mouse, e o sistema operacional MSDOS.
Para a execução do programa basta digitar “A:\visao” na linha de
comando (ou selecionar EXECUTAR no menu do WINDOWS 3.x ou 95 e digitar
A:\VISAO), sendo que A é a unidade de disquete.
C.1 Visualizando o satélite CBERS em 3D
Primeiramente, aparecerá na tela do monitor a imagem estereoscópica do
satélite CBERS nas cores complementares azul e vermelho. Para a sua visualização é
necessário o uso dos óculos com filtros coloridos azul e vermelho encontrados no final
deste apêndice. A distância média para visualização da imagem é de 60cm do monitor, e
os óculos deverão ter o filtro azul posicionado sobre o olho direito e o filtro vermelho
sobre o olho esquerdo.
É importante notar, que ao inverter-se as lentes vermelha e azul, o relevo
da imagem também ficará invertido, uma vez que as linhas de visão não mais se cruzarão,
e portanto, o olho direito verá a imagem direita e o olho esquerdo verá a imagem
esquerda.
Para a finalização, basta pressionar qualquer tecla. Automaticamente
iniciar-se-á o mundo virtual gerado no REND386.
75
C.2 Visualizando o satélite CBERS no espaço
Para navegar dentro do mundo virtual, deve-se utilizar as setas de
navegação do próprio teclado ou uma das dez câmeras programadas. As teclas ↑ e ↓
permitem a locomoção para frente e para trás, em profundidade. Já as teclas ← e →
permitem um movimento de rotação ao redor do eixo y. Quando combinadas com a tecla
Shift esquerdo do teclado, é possível a movimentação para a esquerda (← ), direita (→ ),
para cima (↑) ou para baixo (↓).
As câmeras programadas nas teclas F1 a F10 permitem uma mudança
instantânea de posição, sendo que as câmeras em F1, F8, F9 e F10 auxiliam na
visualização da órbita da Terra ao redor do Sol; F2, F3 e F4 permitem visualizar as faces
iluminada e sombria da Terra, bem como a órbita do satélite ao redor dela; e F5, F6 e F7
auxiliam na visualização da abertura dos painéis solares do satélite. A utilização das
câmeras não impede a execução de outros movimentos, no entanto para retornar à
posição inicial de determinada câmera deve-se pressionar a tecla HOME.
Para dar início às animações são necessários os seguintes passos:
Para a abertura e fechamento dos painéis solares:
- posicionar-se na câmera 5 (F5)
- deslocar-se para frente (↑)
Obs.: Para parar a animação, permanecendo os painéis solares abertos, deve-se estar na
posição inicial da câmera 5, para isto, basta apertar a tecla HOME.
Para a órbita do satélite ao redor da Terra:
- “clicar” com o mouse sobre a Terra, selecionando-a.
Obs.: Após iniciado, este movimento não pode ser interrompido (*). Após a seleção da
Terra, esta apresentará um contorno ao redor de todos os polígonos que a compõem.
Para retirar esta marcação, basta “clicar” novamente sobre a Terra.
75
Para a órbita da Terra (e satélite) ao redor do Sol:
- “clicar” com o mouse sobre o Sol.
Obs.: Após iniciado, este movimento não pode ser interrompido (*). Após a seleção do
Sol, este apresentará um contorno ao redor de todos os polígonos que o compõem. Para
retirar esta marcação, basta “clicar” novamente sobre o Sol.
(*) todas as animações podem ser interrompidas e reiniciadas a qualquer momento
através da tecla A. No entanto, esta interrupção não acontece individualmente para cada
animação.
Um menu com todos os comandos disponíveis pode ser ativado a partir
da letra H do teclado. Para finalizar o sistema basta pressionar ESC seguido de Y.
75

Documentos relacionados