Escolar Documentos
Profissional Documentos
Cultura Documentos
Robson Siscoutto
Rosa Costa
Realidade Virtual e
Aumentada: Uma Abordagem
Tecnológica
Edição
Sociedade Brasileira de Computação – SBC
Promoção
Sociedade Brasileira de Computação – SBC
Laboratório de Tecnologias para o Ensino Virtual e Estatística (LabTEVE)
Livro do Pré-Simpósio
X Symposium on Virtual and Augmented Reality
João Pessoa – PB, 13 de Maio de 2008.
Apresentação
EDITORES
1
P robson@unic.br
PTU
2
P P rcosta@ime.uerj.br
Copyright © 2008 by editors and authors
Todos os direitos reservados pelos respectivos detentores
Figuras e citações referenciadas: direitos reservados aos respectivos detentores
Criação da Capa:
Alexandre Frigeri (Faculdade de Comunicação Social - UNIC)
Bibliografia.
1. Realidade Virtual, Realidade Aumentada I. Siscoutto,
Robson II. Costa, Rosa.
I S B N 85-7669-185-X
Índice para catálogo sistemático:
1. Realidade Virtual e Aumentada: Ciência da Computação 006
Esta livro foi especialmente editada, a partir de conteúdos desenvolvidos para o
curso “Realidade Virtual e Aumentada: Uma Abordagem Tecnológica”
apresentado no pré-simpósio, em 13 de Maio de 2008, associado ao X
Symposium on Virtual and Augmented Reality, realizado em João Pessoal - PB
de 13 a 16 de Maio de 2008, promovido pela Sociedade Brasileira de
Computação e organizado pelo Laboratório de Tecnologias para o Ensino Virtual
e Estatística (LabTEVE).
João Pessoal - PB
2008
Sumário
Apresentação e Prefácio
Robson A. Siscoutto e Rosa M. E. M. Costa – Organizadores
Parte 1 – Conceitos
Parte 3 – Aplicações
CONCEITOS
Pré Simpósio –SVR2008
Capítulo
1
Fundamentos de Realidade Virtual
e Aumentada
Claudio Kirner1,2 e Robson Augusto Siscoutto3
1
Faculdade de Ciências Exatas e da Natureza – Universidade Metodista
de Piracicaba (UNIMEP)
Rodovia do Açúcar, Km 156 – 13400-911 – Piracicaba - SP – Brasil
2
Centro Universitário Adventista de São Paulo (UNASP)
Est. de Itapecerica, 5859 CEP 05858-001 - São Paulo-SP - Brasil
ckirner@unimep.br
3
Faculdade de Ciência e Tecnologia – Universidade de Cuiabá (UNIC)
Av. Beira Rio, 3100 – 78015-480 – Jardim Europa - Cuiabá - MT – Brasil
robson@unic.br
Abstract
Virtual reality and augmented reality are areas related to new user
interface generation, making easy and improving the user
interaction with computational applications. This chapter presents
the concepts of virtual and augmented reality, showing the aspects
of technology, design and application to be addressed in this book.
1
Pré Simpósio –SVR2008
Resumo
1.1. Introdução
Antes do advento do computador eletrônico, com o
desenvolvimento do ENIAC em 1945, as pessoas utilizavam
interfaces naturais para interagir com o mundo no seu dia-a-dia,
usando seus sentidos. Em raras ocasiões, elas necessitavam
interagir com máquinas, apertando botões ou acionando alavancas.
2
Pré Simpósio –SVR2008
3
Pré Simpósio –SVR2008
4
Pré Simpósio –SVR2008
1.2.1. Multimídia
Multimídia consiste na integração, controlada por computador, de
textos gráficos, imagens, vídeo, animações, áudio e outras mídias,
que possam representar, armazenar, transmitir e processar
informações de forma digital [Marshal, 2001].
Aplicações multimídia são potentes e simples de usar, mas
restringem a visualização do usuário à tela do computador (2D).
Esta deficiência pode ser atenuada com o aproveitamento do
espaço da tela do monitor, através de múltiplas janelas sobrepostas
ou espalhadas.
5
Pré Simpósio –SVR2008
6
Pré Simpósio –SVR2008
7
Pré Simpósio –SVR2008
8
Pré Simpósio –SVR2008
9
Pré Simpósio –SVR2008
1.2.4. Hiper-realidade
O próximo passo da evolução das interfaces é incrementar a
combinação do mundo real com o mundo virtual, através de novos
10
Pré Simpósio –SVR2008
11
Pré Simpósio –SVR2008
1.2.5. Rastreamento
O rastreamento, em ambientes de realidade virtual e aumentada,
tem a função de identificar a posição da mão, da cabeça, do próprio
usuário ou de algo atrelado a ele, como uma placa. Com isto, o
sistema permite que o usuário exerça um controle de
posicionamento em ambientes virtuais ou aumentados, podendo,
por exemplo, movimentar-se e tocar, agarrar, mover e soltar
objetos virtuais.
Para uso em aplicações de realidade virtual, muitos
dispositivos de rastreamento foram desenvolvidos, usando
princípios mecânicos, magnéticos, de ultrasom, etc. Cada tipo
apresenta vantagens e desvantagens, mas em geral são caros.
1.2.6. Interação
A interação consiste na capacidade do usuário atuar em ambientes
virtuais e aumentados, promovendo alterações e reações às suas
ações. Esta é a principal característica dos jogos por computador,
sendo o fator determinante para o envolvimento do usuário e o
sucesso da aplicação.
12
Pré Simpósio –SVR2008
13
Pré Simpósio –SVR2008
1.3.3. Ferramentas
O desenvolvimento de aplicações de realidade virtual e aumentada
pode ser facilitado, quando são usadas ferramentas apropriadas
para cada caso, como linguagens, bibliotecas, ambientes visuais de
14
Pré Simpósio –SVR2008
15
Pré Simpósio –SVR2008
16
Pré Simpósio –SVR2008
1.3.9. Visualização
As imagens sempre foram usadas para melhorar as condições de
visualização de informação das pessoas, através de gráficos e
figuras.
Por outro lado, ambientes de realidade virtual e aumentada
amplificam as capacidades das pessoas em avaliarem informações
tridimensionais, na medida em que flexibilizam a atuação no
espaço 3D e permitem o uso de interações multimodais,
possibilitando maior riqueza de detalhes, melhores técnicas de
interação e mais desempenho.
17
Pré Simpósio –SVR2008
1.4. Conclusões
Realidade virtual e realidade aumentada são áreas recentes do
conhecimento que vêm dando, aos usuários, melhores condições de
interação com aplicações computacionais, propiciando a eles
interações naturais e potencialização de suas capacidades.
Para isso, muitos recursos são utilizados, envolvendo
hardware, software, periféricos, redes, tecnologias especiais,
técnicas de projeto e avaliação e o desenvolvimento de aplicações.
18
Pré Simpósio –SVR2008
19
Pré Simpósio –SVR2008
20
Pré Simpósio –SVR2008
Capítulo
2
Dispositivos para Sistemas de
Realidade Virtual
1
Departamento de Informática – Universidade Federal da Paraíba (UFPB)
Cidade Universitária s/n – 58052-900 – João Pessoa – PB – Brasil
liliane@di.ufpb.br
2
Programa de Pós Graduação em Engenharia Elétrica – Universidade
Federal de Uberlândia (UFU)
CEP – 38.400-902 – Uberlândia – MG – Brasil
alexandre@ufu.br
Abstract
Resumo
Pré Simpósio –SVR2008
2.1. Introdução
A utilização de dispositivos específicos para entrada e saída
de informações em um sistema de Realidade Virtual (RV) visa
aumentar os níveis de imersão do usuário com o sistema e prover
modos mais intuitivos de interação.
Pode-se dividir os dispositivos utilizados em um sistema de
RV em duas categorias: dispositivos de entrada e dispositivos de
saída, sendo eles responsáveis por toda comunicação usuário-
sistema. A Figura 2.1 apresenta um esquema com os elementos
chave de um sistema de RV, onde pode ser notada a importância
dos dispositivos de entrada e saída de dados.
Pré Simpósio –SVR2008
23
Pré Simpósio –SVR2008
24
Pré Simpósio –SVR2008
25
Pré Simpósio –SVR2008
26
Pré Simpósio –SVR2008
27
Pré Simpósio –SVR2008
28
Pré Simpósio –SVR2008
29
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
33
Pré Simpósio –SVR2008
a) Vídeo-capacetes (HMDs)
O vídeo-capacete é um dispositivo de saída de dados que
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 vídeocapacete funciona também como um
dispositivo de entrada de dados quando contém sensores de
rastreamento que medem a posição e orientação da cabeça
transmitindo esses dados para o computador. Neste caso, o
computador gera uma seqüência de imagens correspondentes às
ações e perspectiva do usuário. A Figura 2.7 apresenta o esquema
de um HMD.
34
Pré Simpósio –SVR2008
b) Head-Coupled Display
Basicamente, os head-coupled displays constituiem-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 6DOF.
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. Além disso, o fato deste dispositivo
35
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
37
Pré Simpósio –SVR2008
38
Pré Simpósio –SVR2008
39
Pré Simpósio –SVR2008
40
Pré Simpósio –SVR2008
a) Dispositivos Hápticos
Dispositivos hápticos são aqueles que incorporam sensores
e atuadores, permitindo o monitoramento das ações do usuário
fornecendo-lhe sensação tátil e/ou de força. A sensação tátil está
associada à natureza do contato com o objeto, como textura ou
rugosidade, enquanto a sensação de força refere-se ao senso de
posição e movimentação junto com as forças associadas ao
movimento durante a interação com um objeto [Burdea e Coiffet,
2003].
Os dispositivos hápticos que fornecem sensação de força
podem ser divididos em duas categorias básicas: fixos (ground-
based) ou móveis (body-based). Os dispositivos hápticos fixos,
como os joysticks, são aqueles que estão fisicamente atrelados a
uma plataforma ou superfície estável que permite o envio de
reações de força ao usuário. Já os dispositivos hápticos móveis
utilizam um ponto de conexão do próprio dispositivo para fornecer
a reação de força e apresentam a vantagem de poderem ser
41
Pré Simpósio –SVR2008
42
Pré Simpósio –SVR2008
43
Pré Simpósio –SVR2008
c) Plataformas móveis
As plataformas móveis também são consideradas um
dispositivo de resposta física, pois fornecem a sensação de
movimento. Normalmente, elas são utilizadas em videogames,
simuladores de vôo e simuladores de movimento. Atualmente o
treinamento de pilotos da aviação civil é realizado em simuladores
de vôo que permitem a reprodução realista de todas as etapas de um
vôo e permitem simular situações de pouso e decolagem nos
principais aeroportos do mundo, bem como situações de
emergência.
Referências
Burdea, G. e Coiffet P., Virtual Reality Technology. Addison
Wesley, 2003.
44
Pré Simpósio –SVR2008
45
Pré Simpósio –SVR2008
Capítulo
3
Técnicas de Interação para
Ambientes de Realidade Virtual e
Aumentada
Judith Kelner e Veronica Teichrieb
Abstract
Software usability is highly dependent on the supported interaction
at the interface level. A number of techniques have been described
in the literature, and some of those used in the context of virtual
and augmented realities together with implementation aspects are
presented in this chapter.
Resumo
A usabilidade de um software é dependente das técnicas de
interação disponíveis na sua interface. Várias dessas técnicas
encontram-se descritas na literatura, e algumas usadas nos
ambientes de Realidade Virtual e Aumentada, com uma breve
descrição sobre sua implementação, são descritas neste capítulo.
46
Pré Simpósio –SVR2008
3.1. Introdução
A interação entre pessoas existe desde o surgimento das primeiras
civilizações humanas. Diferentes culturas utilizaram diversas
formas para a troca de informações, numa evolução contínua que
teve início com os primeiros desenhos rupestres nas cavernas,
passando pelos sinais de fumaça, os sons dos tambores, as pinturas
nas telas, a imprensa escrita e falada, o telefone, a televisão e,
finalmente, o computador e toda parafernália tecnológica existentes
atualmente.
No contexto de interface homem-máquina, interação é a
maneira com que o usuário se comunica com a aplicação, podendo
esta comunicação ocorrer através de dispositivos ou de forma
simbólica [Schneiderman e Plaisant, 2004].
De acordo com Bowman, “interação é um método que
permite a um usuário realizar uma tarefa através da interface do
usuário. Uma técnica de interação inclui tanto componentes de
hardware (dispositivos de entrada/saída) quanto de software. As
técnicas de interação utilizadas nos componentes de software são
responsáveis por mapear a informação de um dispositivo de entrada
em alguma ação dentro do sistema, e por mapear a saída do sistema
de forma que esta possa ser interpretada pelos dispositivos de
saída” [Bowman et al., 2004].
Existe um dito popular, que não se deve adquirir um livro
apenas pela aparência da sua capa. Isto pode ser válido no contexto
dos livros, mas considerando-se software, a experiência indica que
vários usuários deixam de usar um software sofisticado por causa
de uma interface mal projetada e das dificuldades de interagir
através da mesma.
No início da era computacional, não se deu muita
importância ao processo de interação homem-máquina (HCI). A
prioridade era obter um processamento preciso dos dados. Com a
47
Pré Simpósio –SVR2008
48
Pré Simpósio –SVR2008
49
Pré Simpósio –SVR2008
3.2.1. Manipulação 3D
A efetividade das técnicas de manipulação 3D depende das tarefas
de manipulação para as quais elas são aplicadas. A mesma técnica
pode ser intuitiva e fácil de usar em algumas condições, porém
inadequada em outras. É necessário que a interação seja realista, o
que significa que o usuário, por exemplo, agarra e move o objeto
virtual como manipularia esses objetos no mundo real.
A tarefa de manipulação trata de seleção, ou seja,
especificar um ou mais objetos a partir de um conjunto de objetos,
para algum propósito. Além disto, o usuário especifica
50
Pré Simpósio –SVR2008
51
Pré Simpósio –SVR2008
a b C d
Figura 3.1. DemEditor: técnica Widgets 3D, para
manipulação 3D de objetos em aplicações desktop.
(Imagem cortesia © Grupo de Pesquisa em Realidade
Virtual e Multimídia da Universidade Federal de
Pernambuco, 2006)
53
Pré Simpósio –SVR2008
54
Pré Simpósio –SVR2008
3.2.3. Navegação
É sabido que movimentação física tem uma influência positiva nos
níveis de presença relatados por usuários quando da interação em
ambientes virtuais. É neste contexto que são importantes as
técnicas de interação para navegação. O usuário, ao navegar pelo
ambiente virtual, pode realizar ações como viajar (explorar) pela
cena ou procurar um caminho específico.
Ao viajar (travel), o usuário se movimenta entre dois
lugares, pela definição da posição (e orientação) do seu ponto de
vista. Através desta ação o usuário pode realizar tarefas de
exploração do ambiente virtual, de busca por algum local
específico do ambiente, e de manobra. No caso da busca, a posição
do alvo pode ou não ser conhecida; quando a posição não é
conhecida, a busca é chamada ingênua (naive), e quando é
conhecida e o usuário quer encontrar novamente um local
específico diz-se que é uma busca privilegiada (primed). Esta tarefa
de navegação é amplamente realizada nas aplicações.
A ação conhecida como wayfinding, que permite procurar
um caminho específico, visa o uso e a aquisição por parte do
55
Pré Simpósio –SVR2008
56
Pré Simpósio –SVR2008
57
Pré Simpósio –SVR2008
seria útil, tais como deixar uma carta, uma anotação precisa para o
projetista em um passeio arquitetônico, entrar nomes de arquivos
para operações de abrir/salvar, adicionar nomes a objetos virtuais,
especificar propriedades numéricas (por exemplo, largura e
posição) e especificar parâmetros em uma visualização científica.
Estas aplicações podem ser generalizadas em cenários que
envolvem mundos virtuais imersivos ou mundos aumentados.
Nestes mundos uma técnica comum de entrada de texto/número é
demandada (entrada via teclado, por exemplo), e uma entrada de
voz somente não seria suficiente para o usuário interagir com o
mundo.
Técnicas de entrada simbólica para interfaces 3D são
diferentes de técnicas tradicionais (por exemplo, teclado) pelas
diferenças inerentes entre interfaces 3D (não desktop) e 2D.
Plataformas móveis usam entrada baseada em caneta, na qual o
usuário escreve caracteres, símbolos ou outros gestos com uma
caneta no dispositivo. Algumas dessas técnicas já foram usadas em
interfaces 3D, utilizando este tipo de dispositivo para interação.
As técnicas de interação para entrada simbólica são
Baseadas em Teclado, Baseadas em Caneta, Baseadas em Gestos e
Baseadas na Fala. Estas categorias e suas características são
detalhadamente descritas em Bastos (2006).
A Figura 3.4 ilustra um teclado virtual que aplica a técnica
de interação Teclado Soft para entrada de texto na aplicação
mivaDesk [Teixeira et al., 2007]. O usuário interage com o mesmo
simulando o toque nas teclas de um teclado convencional
colocando o cursor controlado por um tracker sobre a tecla virtual
desejada e fazendo uma postura de seleção com uma luva.
58
Pré Simpósio –SVR2008
59
Pré Simpósio –SVR2008
60
Pré Simpósio –SVR2008
fiduciais.
61
Pré Simpósio –SVR2008
3.2.5.3. Walking
A técnica Walking simplesmente prevê o andar físico através do
mundo 3D, sendo bastante natural para o usuário. Ela é classificada
como uma técnica de interação para navegação em ambientes de
VR, mas mostra-se muito adequada para aplicações móveis de AR.
Um aspecto importante a considerar é o fornecimento de
avisos que auxiliem no equilíbrio do usuário durante a caminhada,
de forma a promover entendimento espacial. O caminhar no mundo
real não é sempre prático ou factível, uma vez que é limitado por
obstáculos espaciais e tecnológicos. Além disto, a margem de
movimentação do usuário é diretamente dependente da tecnologia
de tracking utilizada.
Um exemplo que ilustra o uso desta técnica de interação é
uma aplicação de AR que permite ao usuário visitar a galeria de
arte de um museu virtual. Para isto, o usuário veste um wearable
computer (com um Head Mounted Display translúcido para
visualização e uma luva com tracker para interação) e caminha por
um espaço físico [Teixeira et al., 2007]. Uma vez tendo marcadores
fiduciais no seu campo de visão, a aplicação reconhece os mesmos
62
Pré Simpósio –SVR2008
63
Pré Simpósio –SVR2008
64
Pré Simpósio –SVR2008
65
PARTE 2
Tecnologias de
Desenvolvimento
Pré Simpósio –SVR2008
Capítulo
4
VRML e X3D
Alexandre Cardoso1, Luciano Pereira Soares2 e Marcelo K. Zuffo2
1
Programa de Pós Graduação em Engenharia Elétrica – Universidade
Federal de Uberlândia (UFU)
CEP – 38.400-902 – Uberlândia – MG – Brasil
alexandre@ufu.br
2
Universidade de São Paulo – USP
LSI – Laboratório de Sistemas Integraveis
lsoares@lsi.usp.br, mkzuffo@lsi.usp.br
4.1 Introdução
VRML tem uma história fundamentada na colaboração de
diversos pesquisadores e importantes empresas relacionadas com a
Computação Gráfica e Realidade Virtual.
O Scenario nasce a partir de um projeto, iniciado em 1989,
na Silicon Graphics Inc. por Rikk Carey e Paul Strass,
fundamentada em duas características básicas: capacidade de
66
Pré Simpósio –SVR2008
67
Pré Simpósio –SVR2008
4.1.1 VRML97
Arquivos que simulam ambientes tridimensionais em
VRML, são na verdade uma descrição textual, na forma de textos
ASCii. Por meio de qualquer processador de textos, o
desenvolvedor pode conceber tais arquivos, salvá-los e visualizar
68
Pré Simpósio –SVR2008
• Header – obrigatório;
69
Pré Simpósio –SVR2008
• Comments;
• Nodes;
70
Pré Simpósio –SVR2008
71
Pré Simpósio –SVR2008
4.1.2 X3D
O X3D é um padrão aberto para distribuir conteúdos de
realidade virtual em 3D, em especial pela Internet. Ele combina
tanto dados geométricos como descrições de comportamentos
instantâneos em um simples arquivo que tem inúmeros formatos de
transmissão, sendo que o padrão de codificação ideal é o XML
(Extensible Markup Language). O X3D é a próxima revisão da
especificação ISO VRML97, incorporando os avanços dos recursos
disponíveis nos últimos dispositivos gráficos comerciais tanto
quanto melhoras na sua arquitetura baseado nos anos de retorno da
comunidade de desenvolvimento do VRML97. Este padrão esta
sendo desenvolvido por um consórcio internacional, conhecido
como Web3D, que tem o objetivo de propor e manter o padrão, e
manter ele como um sistema aberto para a comunidade.
O X3D pode ser utilizado para Modelagem e animação,
interação, interoperabilidade com outras tecnologias da web,
treinamento, visualização científica, suporte a vendas, etc.
72
Pré Simpósio –SVR2008
73
Pré Simpósio –SVR2008
74
Pré Simpósio –SVR2008
75
Pré Simpósio –SVR2008
76
Pré Simpósio –SVR2008
77
Pré Simpósio –SVR2008
78
Pré Simpósio –SVR2008
79
Pré Simpósio –SVR2008
4.2.2 Atributos
Os atributos declarados em cada nós podem conter um valor
simples ou múltiplos, isto é definido pelas duas primeiras letras.
Caso o tipo do atributo comece com SF (Single Field) somente
suportará um valor, caso seja MF (Multiple Fields), este suportara
vários valores. Estes também podém se referenciar outros nós com
o tipo abstrato básico SFNode and MFNode.
Dentre os tipos básicos de atributos temos:
Bool - para valores booleanos
Color - para a descrição de RGB de uma dada cor
ColorRGBA- para a descrição de RGBA de uma dada
cor
Double – para valores reais com altíssima precisão
Image – para imagem
Int32 - para valores inteiros
FLoat - para valores reais
Node - para a descrição de um nó
Rotation – para os valores de uma rotação
String – para um texto
Time – para um valor de tempo
Vec2d, Vec2f – para um vetor de 2 elementos de alta e
menor precisão
80
Pré Simpósio –SVR2008
}
Figura 4-3 — Nó Caixa.
Cone : X3DGeometryNode {
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFBool [] bottom TRUE
SFFloat [] bottomRadius 1 (0,∞ )
SFFloat [] height 2 (0,∞ )
SFBool [] side TRUE
SFBool [] solid TRUE
}
81
Pré Simpósio –SVR2008
82
Pré Simpósio –SVR2008
}
Figura 4-5 – Nó Cilindro
ElevationGrid : X3DGeometryNode {
MFFloat [in] set_height
SFNode [in,out] color NULL [X3DColorNode]
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFNode [in,out] normal NULL [X3DNormalNode]
SFNode [in,out] texCoord NULL [X3DTextureCoordinateNode]
SFBool [] ccw TRUE
SFBool [] colorPerVertex TRUE
SFFloat [] creaseAngle 0 [0,∞ )
MFFloat [] height [] (-∞ ,∞ )
SFBool [] normalPerVertex TRUE
SFBool [] solid TRUE
SFInt32 [] xDimension 0 [0,∞ )
SFFloat [] xSpacing 1.0 (0,∞ )
SFInt32 [] zDimension 0 [0,∞ )
SFFloat [] zSpacing 1.0 (0,∞ )
83
Pré Simpósio –SVR2008
}
Figura 4-6 – Nó ElevationGrid
Extrusion : X3DGeometryNode {
MFVec2f [in] set_crossSection
MFRotation [in] set_orientation
MFVec2f [in] set_scale
MFVec3f [in] set_spine
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFBool [] beginCap TRUE
SFBool [] ccw TRUE
SFBool [] convex TRUE
SFFloat [] creaseAngle 0 [0,∞ )
MFVec2f [] crossSection [1 1 1 -1 -1 -1 -1 1 1 1] (-∞ ,∞ )
SFBool [] endCap TRUE
MFRotation [] orientation 0 0 1 0 [-1,1] or (-∞ ,∞ )
MFVec2f [] scale 11 (0,∞ )
SFBool [] solid TRUE
MFVec3f [] spine [0 0 0 0 1 0] (-∞ ,∞ )
}
IndexedFaceSet : X3DComposedGeometryNode {
MFInt32 [in] set_colorIndex
MFInt32 [in] set_coordIndex
MFInt32 [in] set_normalIndex
84
Pré Simpósio –SVR2008
85
Pré Simpósio –SVR2008
Sphere : X3DGeometryNode {
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFFloat [] radius 1 (0,∞ )
SFBool [] solid TRUE
}
86
Pré Simpósio –SVR2008
Transform : X3DGroupingNode {
MFNode [in] addChildren [X3DChildNode]
MFNode [in] removeChildren [X3DChildNode]
SFVec3f [in,out] center 000 (-∞ ,∞ )
MFNode [in,out] children [] [X3DChildNode]
SFNode [in,out] metadata NULL [X3DMetadataObject]
87
Pré Simpósio –SVR2008
Shape : X3DShapeNode {
SFNode [in,out] appearance NULL [X3DAppearanceNode]
SFNode [in,out] geometry NULL [X3DGeometryNode]
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec3f [] bboxCenter 0 0 0 (-∞ ,∞ )
SFVec3f [] bboxSize -1 -1 -1 [0,∞ ) or − 1 − 1 − 1
}
Appearance : X3DAppearanceNode {
SFNode [in,out] fillProperties NULL [FillProperties]
SFNode [in,out] lineProperties NULL [LineProperties]
SFNode [in,out] material NULL [X3DMaterialNode]
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFNode [in,out] texture NULL [X3DTextureNode]
SFNode [in,out] textureTransform NULL [X3DTextureTransformNode]
}
Material : X3DMaterialNode {
SFFloat [in,out] ambientIntensity 0.2 [0,1]
SFColor [in,out] diffuseColor 0.8 0.8 0.8 [0,1]
SFColor [in,out] emissiveColor 000 [0,1]
SFNode [in,out] metadata NULL [X3DMetadataObject]
88
Pré Simpósio –SVR2008
Background : X3DBackgroundNode {
SFBool [in] set_bind
MFFloat [in,out] groundAngle [] [0,π/2]
MFColor [in,out] groundColor [] [0,1]
MFString [in,out] backUrl [] [urn]
MFString [in,out] bottomUrl [] [urn]
MFString [in,out] frontUrl [] [urn]
MFString [in,out] leftUrl [] [urn]
SFNode [in,out] metadata NULL [X3DMetadataObject]
MFString [in,out] rightUrl [] [urn]
MFString [in,out] topUrl [] [urn]
MFFloat [in,out] skyAngle [] [0,π]
MFColor [in,out] skyColor 0 0 0 [0,1]
SFTime [out] bindTime
SFBool [out] isBound
}
89
Pré Simpósio –SVR2008
DirectionalLight : X3DLightNode {
SFFloat [in,out] ambientIntensity 0 [0,1]
SFColor [in,out] color 1 1 1 [0,1]
SFVec3f [in,out] direction 0 0 -1 (-∞ ,∞ )
SFFloat [in,out] intensity 1 [0,1]
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFBool [in,out] on TRUE
}
PointLight : X3DLightNode {
SFFloat [in,out] ambientIntensity 0 [0,1]
SFVec3f [in,out] attenuation 1 0 0 [0,∞ )
SFColor [in,out] color 1 1 1 [0,1]
SFFloat [in,out] intensity 1 [0,1]
SFVec3f [in,out] location 0 0 0 (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFBool [in,out] on TRUE
SFFloat [in,out] radius 100 [0,∞ )
}
SpotLight : X3DLightNode {
SFFloat [in,out] ambientIntensity 0 [0,1]
SFVec3f [in,out] attenuation 100 [0,∞ )
SFFloat [in,out] beamWidth π/2 (0,π/2]
SFColor [in,out] color 111 [0,1]
SFFloat [in,out] cutOffAngle π/4 (0,π/2]
SFVec3f [in,out] direction 0 0 -1 (-∞ ,∞ )
SFFloat [in,out] intensity 1 [0,1]
SFVec3f [in,out] location 000 (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
90
Pré Simpósio –SVR2008
LOD : X3DGroupingNode {
MFNode [in] addChildren [X3DChildNode]
MFNode [in] removeChildren [X3DChildNode]
MFNode [in,out] children [] [X3DChildNode]
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec3f [] bboxCenter 000 (-∞ ,∞ )
SFVec3f [] bboxSize -1 -1 -1 [0,∞ ) or − 1 − 1 − 1
SFVec3f [] center 000 (-∞ ,∞ )
MFFloat [] range [] [0,∞ ) or -1
}
91
Pré Simpósio –SVR2008
Sound : X3DSoundNode {
SFVec3f [in,out] direction 0 0 1 (-∞ ,∞ )
SFFloat [in,out] intensity 1 [0,1]
SFVec3f [in,out] location 0 0 0 (-∞ ,∞ )
SFFloat [in,out] maxBack 10 [0,∞ )
SFFloat [in,out] maxFront 10 [0,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFFloat [in,out] minBack 1 [0,∞ )
SFFloat [in,out] minFront 1 [0,∞ )
SFFloat [in,out] priority 0 [0,1]
SFNode [in,out] source NULL [X3DSoundSourceNode]
SFBool [] spatialize TRUE
}
Os elementos do nó Sound podem ser vistos na Figura 4-11 - Elementos do nó
Sound.
92
Pré Simpósio –SVR2008
ImageTexture : X3DTexture2DNode {
SFNode [in,out] metadata NULL [X3DMetadataObject]
MFString [in,out] url [] [urn]
SFBool [] repeatS TRUE
SFBool [] repeatT TRUE
}
93
Pré Simpósio –SVR2008
94
Pré Simpósio –SVR2008
PositionInterpolator : X3DInterpolatorNode {
SFFloat [in] set_fraction (-∞ ,∞ )
MFFloat [in,out] key [] (-∞ ,∞ )
MFVec3f [in,out] keyValue [] (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec3f [out] value_changed
}
OrientationInterpolator : X3DInterpolatorNode {
SFFloat [in] set_fraction (-∞ ,∞ )
MFFloat [in,out] key [] (-∞ ,∞ )
MFRotation [in,out] keyValue [] [-1,1] or (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFRotation [out] value_changed
}
ScalarInterpolator : X3DInterpolatorNode {
SFFloat [in] set_fraction (-∞ ,∞ )
MFFloat [in,out] key [] (-∞ ,∞ )
MFFloat [in,out] keyValue [] (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFFloat [out] value_changed
}
NavigationInfo : X3DBindableNode {
SFBool [in] set_bind
MFFloat [in,out] avatarSize [0.25 1.6 0.75] [0,∞ )
SFBool [in,out] headlight TRUE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFFloat [in,out] speed 1.0 [0,∞ )
95
Pré Simpósio –SVR2008
Viewpoint : X3DBindableNode {
SFBool [in] set_bind
SFVec3f [in,out] centerOfRotation 0 0 0 (-∞ ,∞ )
SFString [in,out] description ""
SFFloat [in,out] fieldOfView π/4 (0,π)
SFBool [in,out] jump TRUE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFRotation [in,out] orientation 0 0 1 0 [-1,1],(-∞ ,∞ )
SFVec3f [in,out] position 0 0 10 (-∞ ,∞ )
SFTime [out] bindTime
SFBool [out] isBound
}
PlaneSensor : X3DDragSensorNode {
SFBool [in,out] autoOffset TRUE
SFString [in,out] description ""
SFBool [in,out] enabled TRUE
SFVec2f [in,out] maxPosition -1 -1 (-∞ ,∞ )
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec2f [in,out] minPosition 0 0 (-∞ ,∞ )
SFVec3f [in,out] offset 0 0 0 (-∞ ,∞ )
SFBool [out] isActive
96
Pré Simpósio –SVR2008
SphereSensor : X3DDragSensorNode {
SFBool [in,out] autoOffset TRUE
SFString [in,out] description ""
SFBool [in,out] enabled TRUE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFRotation [in,out] offset 0 1 0 0 [-1,1],(-∞ ,∞ )
SFBool [out] isActive
SFBool [out] isOver
SFRotation [out] rotation_changed
SFVec3f [out] trackPoint_changed
}
TouchSensor : X3DTouchSensorNode {
SFString [in,out] description ""
SFBool [in,out] enabled TRUE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec3f [out] hitNormal_changed
SFVec3f [out] hitPoint_changed
SFVec2f [out] hitTexCoord_changed
SFBool [out] isActive
SFBool [out] isOver
SFTime [out] touchTime
}
VisibilitySensor : X3DEnvironmentalSensorNode {
97
Pré Simpósio –SVR2008
ProximitySensor : X3DEnvironmentalSensorNode {
SFVec3f [in,out] center 0 0 0 (-∞ ,∞ )
SFBool [in,out] enabled TRUE
SFNode [in,out] metadata NULL [X3DMetadataObject]
SFVec3f [in,out] size 0 0 0 [0,∞ )
SFTime [out] enterTime
SFTime [out] exitTime
SFVec3f [out] centerOfRotation_changed
SFBool [out] isActive
SFRotation [out] orientation_changed
SFVec3f [out] position_changed
}
98
Pré Simpósio –SVR2008
Anchor : X3DGroupingNode {
MFNode [in] addChildren
MFNode [in] removeChildren
MFNode [in,out] children [] [X3DChildNode]
SFString [in,out] description ""
SFNode [in,out] metadata NULL [X3DMetadataObject]
MFString [in,out] parameter []
MFString [in,out] url [] [url or urn]
SFVec3f [] bboxCenter 000 (-∞ ,∞ )
SFVec3f [] bboxSize -1 -1 -1 [0,∞ ) or − 1 − 1 − 1
}
99
Pré Simpósio –SVR2008
appearance Appearance {}
geometry Cone {
height 2.0
bottomRadius 1.0 }}
Observe que não foram feitas quaisquer definições de
aparência, levando a forma gerada, de acordo com o texto acima, a
ter aparência branca.
Para gerar o Cilindro, os elementos de geometria seriam os
apresentado na Figura 4-5.
A definição, em VRML, do nó Cylinder pode ser dada por:
Shape {
appearance Appearance {}
geometry Cylinder {
bottom TRUE
top TRUE
radius 2.0
height 3.0
}
}
Visando a construção da chaminé, temos de deslocar o
cone, de forma que sua base coincida com o topo do cilindro. Tal
deslocamento refere-se a uma translação da forma "Cone" no eixo
Y, do valor da metade da altura do cilindro (height/2) mais a
metade da altura do Cone (height_cone/2), uma vez que, conforme
ilustra a Figura 4-5, teríamos metade do cilindro acima e metade do
cilindro abaixo do eixo 'x' (o mesmo vale para o Cone).
100
Pré Simpósio –SVR2008
4.3.2 Textos
É possível inserir textos nos ambientes 3D concebidos
através do nó Text, cuja sintaxe foi apresentada no grafo de cena.
A apresentação do texto pode ser formatada com uso do nó
FontStyle, que permite definir a fonte que será utilizada, seu
tamanho, espaçamento de caracteres, como o texto será justificado
etc.
O trecho de código abaixo, relativo à geometria, gera um
texto simples como exemplo.
geometry Text {
string ["SVR 04 - Curso de VRML e X3D"]
fontStyle FontStyle {
size 0.9
justify "MIDDLE"
spacing 0.3
style "BOLD"
family "SERIF"
}
}
Figura 4-13 - Exemplo de texto – linhas de código
101
Pré Simpósio –SVR2008
102
Pré Simpósio –SVR2008
appearance Appearance {}
geometry Cylinder {
bottom TRUE
top TRUE
radius 1.0
height 3.0
}
}
]
}
103
Pré Simpósio –SVR2008
104
Pré Simpósio –SVR2008
diffuseColor .8 0 .13
specularColor .77 .77 .77
emissiveColor .1 0 .02
ambientIntensity .0767
}
}
106
Pré Simpósio –SVR2008
Transform {
scale 1.0 1.0 1.0
translation 0.0 3 0.0
rotation 0.0 0.0 0.0 0.0
children [
Shape {
appearance Appearance {
material Material {
diffuseColor .8 0 .13
specularColor .77 .77 .77
emissiveColor .1 0 .02
ambientIntensity .0767
}
texture ImageTexture {
url "brick.jpg"}
}
geometry Cone {
height 3.0
bottomRadius 1.5 }
}]}
107
Pré Simpósio –SVR2008
108
Pré Simpósio –SVR2008
109
Pré Simpósio –SVR2008
material Material { }
}
geometry Cylinder {
radius 0.3
height 6.0
}
}
},
# Coluna da Direita:
DEF ColDireita Transform {
translation 2.0 3.0 0.0
children USE Coluna
},
# Coluna Superior
DEF Superior Transform {
translation 0.0 6.0 0.0
rotation 0.0 0.0 1.0 1.57
children Shape{
appearance USE White
geometry Cylinder {
radius 0.3
height 4.6
} }
}
]}
110
Pré Simpósio –SVR2008
111
Pré Simpósio –SVR2008
112
Pré Simpósio –SVR2008
113
Pré Simpósio –SVR2008
3, 7, 4, 0
]
}
}
Background {
skyColor [
114
Pré Simpósio –SVR2008
115
Pré Simpósio –SVR2008
4.3.8 Iluminação
VRML provê diversos nós para uma iluminação adequada
de cenário. Todos estes nós apresentam os seguintes campos: color,
ambientIntensity e intensity. As funções dos nós podem ser:
116
Pré Simpósio –SVR2008
NavigationInfo {
headlight FALSE
}
4.3.8.1 DirectionalLight
A sintaxe do nó DirectionalLight é dada por:
DirectionalLight{
on TRUE
intensity 1.0
ambientIntensity 0.0
117
Pré Simpósio –SVR2008
4.3.8.2 PointLight
A sintaxe do nó PointLight foi apresentada no grafo de
cena.
O pincel de luz puntiforme tem a localização no ambiente
3D dada pelo campo locaion, o raio da esfera de iluminação dado
pelo campos radius, a intensidade definida em intensity. Os
118
Pré Simpósio –SVR2008
119
Pré Simpósio –SVR2008
4.3.8.3 SpotLight
A sintaxe do nó SpotLight é dada por:
MOVI GRAFO CENAA Figura 4-25 apresenta o mesmo
conjunto de esferas iluminado por uma SpotLight
120
Pré Simpósio –SVR2008
121
Pré Simpósio –SVR2008
Group{
children[
Shape { geometry Box{}}
Transform {
translation 3 0 0
children[
Shape { geometry Sphere { }}
Transform{
translation 3 0 0
children Shape { geometry Cone {}}}]}]}
# Segundo Nivel
Group {
children[
Shape { geometry Box {}}
Transform{
translation 3 0 0
children Shape { geometry Sphere{}}}]}
#Terceiro nível
Shape { geometry Box{}}
]
}
122
Pré Simpósio –SVR2008
123
Pré Simpósio –SVR2008
124
Pré Simpósio –SVR2008
125
Pré Simpósio –SVR2008
}
DEF forma Shape{
appearance Appearance {
material Material {
diffuseColor .55 .09 .2
specularColor .29 .31 .05
emissiveColor .21 .03 .08
ambientIntensity .03
shininess .19
}
}
geometry Box{
size 0.3 0.5 0.8}
}
]
}
ROUTE cont_tempo.fraction_changed TO cont_or.set_fraction
ROUTE cont_or.value_changed TO elemento.set_rotation
126
Pré Simpósio –SVR2008
127
Pré Simpósio –SVR2008
128
Pré Simpósio –SVR2008
129
Pré Simpósio –SVR2008
130
Pré Simpósio –SVR2008
radius 0.8}
}
]
}
ROUTE sensor_pos.translation_changed TO elemento.translation
131
Pré Simpósio –SVR2008
]
}
ROUTE sensor_esf.rotation_changed TO elemento.rotation
132
Pré Simpósio –SVR2008
emissiveColor .3 .12 0
ambientIntensity 0
shininess .15
}
}
geometry Box {
size 2.0 3.0 5.0}
}
]
}
ROUTE sensor_esf.rotation_changed TO elemento.rotation
133
Pré Simpósio –SVR2008
134
Pré Simpósio –SVR2008
135
Pré Simpósio –SVR2008
Sound {
minFront 10
minBack 10
maxFront 50
maxBack 50
source DEF SOUND AudioClip {
loop TRUE
url "pop.wav"
startTime -1
}
}
Group {
children [
Shape {
appearance Appearance {
material Material {
emissiveColor .1 .1 0
diffuseColor .75 .75 0
specularColor .86 .86 .86
ambientIntensity .127
shininess .38
}
}
geometry Box { size 0.8 0.5 0.1}
}
Transform {
translation 0.0 0.0 0.12
children
Shape {
136
Pré Simpósio –SVR2008
appearance Appearance {
material Material {
diffuseColor .9 .05 .5
specularColor .1 .1 .1
emissiveColor .1 0 .05
ambientIntensity .12
shininess .08
}
}
geometry Text {
string "Alerta"
fontStyle FontStyle {
size 0.27
justify "MIDDLE"
}
}
}
}
]}
137
Pré Simpósio –SVR2008
138
Pré Simpósio –SVR2008
Anchor {
# inserção do link para onde se deseja ir:
url [ "http://www.compgraf.ufu.br/alexandre"]
description "Homepage do Autor"
# nós que ativarão o link:
children [
Transform {
translation 2.0 0.0 0.0
children [ Shape {
appearance Appearance {
material Material {
diffuseColor .03 .03 .18
specularColor .18 .27 .69
emissiveColor .03 .03 .17
ambientIntensity .0367
shininess .03
}
}
geometry USE Door
}
Transform {
translation 0.0 0.0 0.2
children Shape {
appearance Appearance {
material Material {
diffuseColor .6 .55 .24
specularColor .5 .46 .2
emissiveColor .3 .27 .12
ambientIntensity 0
shininess .14
}
139
Pré Simpósio –SVR2008
}
# inserção de um texto para identificar o link:
geometry Text {
string "Autor"
fontStyle FontStyle {
size 0.4
justify "MIDDLE"}
}
}
}
]
}
]
}
4.3.15.1 Introdução
Os nós já apresentados para animação, tais como
TouchSensor, TimeSensor, PlaneSensor etc são muito limitados
quando se desejam animações mais complexas ou controle de
elementos de cena a partir de equações (matemáticas, físicas,
químicas etc). Em tais situações é imperativa a necessidade de uso
dos nós Script, que associam VRML com JavaScript ou Java.
Um nó Script pode ser entendido como uma forma
particular de controle ou de sensor. Como qualquer nó de controle
ou de sensor, este nó requer uma lista de campos (field) , eventos
de entrada (eventIns) e eventos de saída (eventOuts). A descrição
do nó deve complementar a definição destes campos, dando a eles
140
Pré Simpósio –SVR2008
141
Pré Simpósio –SVR2008
4.3.15.2 Exemplos
Como exemplo, a função abaixo representa um Script capaz
de inserir um novo elemento, no caso, uma esfera em uma área de
um mundo virtual:
DEF Criador Script {
eventIn SFTime sphere_touchTime
field SFNode nopai USE TOP
field SFFloat x 0.0
eventOut MFNode new_child
url "javascript:
function sphere_touchTime(value,time) {
newVRML = 'Group {';
newVRML += ' children [';
newVRML += ' DEF SENSOR PlaneSensor {';
newVRML += ' maxPosition 0.45 0.45';
newVRML += ' minPosition -0.45 -0.45'
newVRML += ' }';
newVRML += ' DEF OBJECT Transform {';
newVRML += 'translation '
newVRML += x;
newVRML += ' 0.0 ';
newVRML += ' 0.0';
newVRML += ' children [';
newVRML += ' Shape {';
newVRML += ' appearance Appearance {';
newVRML += ' material Material {';
newVRML += ' diffuseColor 0 1 1';
newVRML += ' }';
newVRML += ' }';
newVRML += ' geometry Sphere {';
newVRML += ' radius 0.05';
142
Pré Simpósio –SVR2008
143
Pré Simpósio –SVR2008
x2 = x2 + 1.0;
str_sphere[0] = String(x2);
str_sphere_out[0] = str_sphere[0];
A rota combinada seria do tipo:
ROUTE Criador.str_sphere_out TO textoS.string
Onde textoS é um campo de texto pertencente a um nó
Shape.
144
Pré Simpósio –SVR2008
145
Pré Simpósio –SVR2008
146
Pré Simpósio –SVR2008
NavigationInfo {
type [ "ANY" ]
}
Transform {
children [
Shape {
appearance Appearance {
material Material {
diffuseColor 1.0 1.0 1.0
}
}
geometry Sphere {}
}
]
}
147
Pré Simpósio –SVR2008
</X3D>
148
Pré Simpósio –SVR2008
149
Pré Simpósio –SVR2008
Profile Immersive
Existe agora a necessidade de se definir o profile para que o
navegador saiba o grau de recursos a serem utilizados, uma outra
diferença é a forma de se chamar scripts no X3D. No VRML97 as
chamadas eram feitas com 'javascript' ou 'vrmlscript'. O X3D usar o
chamado 'ecmascript'. ECMAScript é a versão padronizada do
JavaScript.
Existem diversas ferramentas disponíveis que podem fazer a
conversão entre VRML97 e X3D. Se você tem um arquivo
relativamente simples que não contem scripts ou externprotos então
você pode editar manualmente o texto para trocar o cabeçalho e
inserir a nova declaração PROFILE que você estará com o
documento pronto. Qualquer coisa mais complexa vai requerer uma
ferramenta e idealmente um razoável trabalho de conhecimento
com a nova especificação (diversas áreas funcionais foram
mudadas para serem mais rigorosas ou apenas são simplesmente
diferentes).
Existem algumas ferramentas para a conversão de conteúdo,
uma delas é o X3D-Edit, porém é possível também a utilização de
algumas ferramentas por linha de código. Usualmente basta um
programa capaz de converter os nós de um formato de codificação
para outro.
150
Pré Simpósio –SVR2008
externo ao arquivo X3D. Eles não podem ser usados para prover
mecanismos de extensão para o navegador. A forma de prover
extensões específicas para o navegador é através de componentes
(components) adaptados.
151
Pré Simpósio –SVR2008
definidos.
152
Pré Simpósio –SVR2008
.x3dvz,
Clássico VRML .x3dv model/x3d+vrml
.x3dv.gz
XML .x3d .x3dz, .x3d.gz model/x3d+xml
.x3dbz,
Binário .x3db model/x3d+binary
.x3db.gz
* os tipos MIME ainda estão sendo aprovados
153
Pré Simpósio –SVR2008
154
Pré Simpósio –SVR2008
155
Pré Simpósio –SVR2008
156
Pré Simpósio –SVR2008
3D-Studio
O 3D-Studio assim como o Maya apresenta uma série de
vantagens para a modelagem. E da mesma forma apresenta uma
ferramenta para exportar os dados para arquivos VRML97.
Cosmo
O Cosmo foi um dos primeiros navegadores desenvolvidos
para visualizar arquivos VRML, contudo não sofreu grandes
avanços desde então. Assim apresenta alguns limites.
157
Pré Simpósio –SVR2008
Xj3D
Existe uma implementação código aberto (Open Source)
escrita em Java chamada de Xj3D. Uma aplicação funcional está
disponível hoje e tem sido testada sobre Linux, Solaris e Win32. O
Xj3D é baseado em Java3D, logo necessita o Java3D para rodar,
como o Java3D necessita o Java 2, uma grande quantidade de
dados deve ser instalado para a utilização do Xj3D. O navegador
Xj3Dé uma boas fonte para implementação.
JINX
O sistema JINX é um navegados estritamente X3D, que
pode ser utilizado em ambientes de aglomerados de computadores
e sistemas de projeções mais variados, desde simples monitores até
avançados sistema de projeção cúbica como Cavernas e Domos.
Este projeto ainda esta em desenvolvimento.
158
Pré Simpósio –SVR2008
159
Pré Simpósio –SVR2008
160
Pré Simpósio –SVR2008
161
Pré Simpósio –SVR2008
Capítulo
5
Java 3D
1,2 1,2
José Remo Ferreira Brega , Antônio Carlos Sementille , Ildeberto
1
Aparecido Rodello
1
UNIVEM Centro Universitário Eurípides de Marília Marília – SP
2
UNESP – Universidade Estadual Paulista – Campus de Bauru – SP
{remo, semente, rodello}@univem.edu.br
Abstract
This Chapter presents the API Java 3D, starts with the basic
structure of a program, until the more complex and elaborated
environment implementation. Its classes and methods are presented
for the creation of forms and support for diverse devices of
entrance and exit, illustrating the form of implementation by means
of examples.
Resumo
Pré Simpósio –SVR2008
5.1. Introdução
Java 3D é um conjunto de classes desenvolvido pela Sun
Microsystems (SUN, 2002) com o objetivo de ser uma interface
para o desenvolvimento e apresentação de programas em Java com
conteúdo tridimensional, otimizando renderizações.
Java 3D segue o paradigma de escreva uma vez e rode em
qualquer lugar (Write once, run anywhere), fornecendo suporte
para várias plataformas, vários dispositivos de visualização e vários
dispositivos de entrada.
163
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
166
Pré Simpósio –SVR2008
167
Pré Simpósio –SVR2008
168
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
5.6. Interações
Em Java 3D, interações e animações são determinadas com
objetos da classe Behavior. A classe Behavior é uma classe
abstrata, que fornece mecanismos para mudar o grafo de cena.
O propósito de um objeto Behavior em um grafo de cena é
alterá-lo, ou alterar seus objetos, em resposta a alguns estímulos.
Um estímulo pode ser o pressionar de uma tecla, um movimento de
mouse, a colisão de objetos, a passagem do tempo, algum outro
evento, ou uma combinação de todos esses, entre outros. As
alterações produzidas podem ser: adição ou remoção de objetos ao
grafo de cena, mudança dos atributos desses objetos e rearranjo
deles. Estas possibilidades são limitadas apenas pelas permissões
dos objetos do grafo.
A Tabela 5.1 abrange algumas das possibilidades de
Behavior (um estímulo resulta em uma mudança).
Por meio de behaviors, Java 3D fornece suporte aos
dispositivos convencionais (mouse, teclado) e não convencionais
(joysticks, luvas). Java 3D provê acesso a teclado e mouse usando a
API padrão para suporte a esses dispositivos por meio dos
171
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
5.7. Picking
É comum em ambientes virtuais, existir mais de um objeto visual
173
Pré Simpósio –SVR2008
174
Pré Simpósio –SVR2008
5.9. Exemplo
Para os mundos mais simples, e que não requerem o tratamento
com os valores de coordenadas, existe a possibilidade de utilização
da classe SimpleUniverse [PALMER, 2001]. Ela permite uma
construção mais simples e rápida com a fusão de alguns nós a
serem criados no caso do VirtualUniverse. Na Figura 5.3 a classe
ConeTest, e o resultado da sua interpretação na Figura 5.4.
175
Pré Simpósio –SVR2008
Referências
Bouvier, J. D. (2002), “Getting Started with the Java 3D™ API -A
Tutorial for Beginners”,
http://java.sun.com/products/java-media/3D/collateral/index.htm
l.
Palmer, I. (2001) “Essential Java 3D Fast: Developing 3D Graphics
Applications in Java”, Springer.
Rodello, I. A.; Brega, J. R. F.; Sementille, A. C. (2003) “Interação
com dispositivos de entrada não convencionais em ambientes
virtuais desenvolvidos com Java 3D”, Proccedings SVR 2003 –
VI Symposium on Virtual Reality. 15-18 October. Ribeirão
176
Pré Simpósio –SVR2008
Preto, SP – Brasil.
Selman, D. (2002) “Java 3D Programming”, Manning Publications
Co..
Sun (2006) Sun Microsystems Inc. Disponível em
<http://www.sun.com.br> . Acesso em 13 de Maio de 2006.
177
Pré Simpósio –SVR2008
Capítulo
6
ARToolkit: Conceitos e
Ferramenta de Autoria
Colaborativa
Rafael Santin1, Claudio Kirner2
1
Faculdade Anhanguera de Piracicaba
rasantin@gmail.com
2
Universidade Metodista de Piracicaba - UNIMEP
ckirner@gmail.com
Resumo
178
Pré Simpósio –SVR2008
6.1. Introdução
O ARToolKit (ARToolKit, 2007) é uma biblioteca de desenvolvimento de
aplicações de Realidade Aumentada (RA), bastante popular na
comunidade de RA. Isto acontece pelo fato da biblioteca fornecer
soluções de rastreamento 3D, em tempo real, com baixo custo
computacional (LEPETIT, 2005). Além disso, o ARToolKit é amplamente
utilizado por ser distribuído livremente para fins não comerciais,
incentivando a liberdade para os usuários executarem, estudarem e
modificarem os códigos disponíveis na biblioteca de acordo com as suas
necessidades.
6.2. Artoolkit
O ARToolKit é uma biblioteca de programação multi-plataforma,
considerada um kit de ferramenta de RA, sendo bastante utilizada e
discutida por desenvolvedores e pesquisadores da comunidade de
Realidade Aumentada. O ARToolKit possui o seu código livre para
modificações e uso no desenvolvimento de aplicações não comerciais
sob licença GPL (GNU, 2007), enquanto que a versão proprietária para a
179
Pré Simpósio –SVR2008
180
Pré Simpósio –SVR2008
6.2.1.1 Marcadores
181
Pré Simpósio –SVR2008
(a) (b)
Figura 6.2. Utilidade da moldura branca do marcador.
6.2.1.2 Rastreamento
182
Pré Simpósio –SVR2008
183
Pré Simpósio –SVR2008
184
Pré Simpósio –SVR2008
185
Pré Simpósio –SVR2008
Passos Função
186
Pré Simpósio –SVR2008
a) (b) (c)
Figura 6.5. Etapas envolvidas no funcionamento de uma aplicação de RA :
a) imagem da cena com o marcador, b) a imagem limiarizada e c) objeto
virtual sobrepondo o marcador.
A Figura 6.6 mostra um diagrama, detalhando as principais
etapas realizadas no funcionamento da aplicação.
187
Pré Simpósio –SVR2008
6.2.2.1 Instalação
188
Pré Simpósio –SVR2008
189
Pré Simpósio –SVR2008
190
Pré Simpósio –SVR2008
191
Pré Simpósio –SVR2008
- Teste de Colisão
(a) (b)
Figura 6.10. Execução da aplicação “collideTest”: a) cubos desenhados
sobre os marcadores distantes e b) esferas desenhadas sobre marcadores
próximos.
192
Pré Simpósio –SVR2008
- Uso da Pá
193
Pré Simpósio –SVR2008
- simpleVRML
194
Pré Simpósio –SVR2008
195
Pré Simpósio –SVR2008
196
Pré Simpósio –SVR2008
(a) (b)
Figura 6.14. Resultado da execução de exemplos do osgART: a) Exemplo
osgARTsimpleNPR e b) Exemplo osgARTvideoPlane.
197
Pré Simpósio –SVR2008
198
Pré Simpósio –SVR2008
199
Pré Simpósio –SVR2008
200
Pré Simpósio –SVR2008
6.3.2 Desenvolvimento
O SACRA foi desenvolvido com base na biblioteca ARToolKit, nas
versões 2.65 e 2.72.1 ambas com suporte a VRML, e nos módulos do
NetARToolKit, para a interação remota entre os usuários.
6.3.2.1 NetARToolKit
201
Pré Simpósio –SVR2008
202
Pré Simpósio –SVR2008
set_translation Transladar
set_rotation Rotacionar
203
Pré Simpósio –SVR2008
204
Pré Simpósio –SVR2008
205
Pré Simpósio –SVR2008
206
Pré Simpósio –SVR2008
207
Pré Simpósio –SVR2008
208
Pré Simpósio –SVR2008
209
Pré Simpósio –SVR2008
210
Pré Simpósio –SVR2008
211
Pré Simpósio –SVR2008
212
Pré Simpósio –SVR2008
213
Pré Simpósio –SVR2008
214
Pré Simpósio –SVR2008
- Inspector
215
Pré Simpósio –SVR2008
- Control
- Copy
216
Pré Simpósio –SVR2008
- Transport
- Eraser
217
Pré Simpósio –SVR2008
- Status
218
Pré Simpósio –SVR2008
- Path
219
Pré Simpósio –SVR2008
- Lock
220
Pré Simpósio –SVR2008
221
Pré Simpósio –SVR2008
222
Pré Simpósio –SVR2008
223
Pré Simpósio –SVR2008
do objeto
224
Pré Simpósio –SVR2008
6.4.1 Introdução
O sistema de autoria colaborativa de realidade aumentada, SACRA,
permite a interação com objetos virtuais no espaço real do usuário,
utilizando técnicas específicas de interação com marcadores. Esse
sistema busca facilitar a construção de ambientes virtuais no ambiente
real, de forma colaborativa ou não, utilizando marcadores com funções
especializadas denominados marcadores de ação.
225
Pré Simpósio –SVR2008
Conecte a câmera.
6.4.3 Cadastramento
226
Pré Simpósio –SVR2008
número Marcador
1 inspeção
2 controle
3 cópia
4 transporte
227
Pré Simpósio –SVR2008
5 apagador
6 status
7 rastro
8 bloqueio
9 ref1_remota
10 ref_local
Figura 6.30. Ordem de cadastramento dos marcadores.
228
Pré Simpósio –SVR2008
229
Pré Simpósio –SVR2008
230
Pré Simpósio –SVR2008
231
Pré Simpósio –SVR2008
232
Pré Simpósio –SVR2008
(a) (b)
Figura 6.36. Posicionamento do marcador de inspeção. a) Inserção do
marcador de inspeção sobre as linhas indicativas. b) Marcador de inspeção
posicionado na posição indicada na folha.
233
Pré Simpósio –SVR2008
Figura 6.37. Associação de pontos aos arquivos com dados sobre objetos
virtuais; a) mensagem para digitar o nome do arquivo, b) Inserção do
caminho e nome do arquivo, c) Confirmação da leitura dos objetos
referenciados no arquivo digitado e o salvamento das informações do
ponto.
234
Pré Simpósio –SVR2008
235
Pré Simpósio –SVR2008
236
Pré Simpósio –SVR2008
237
Pré Simpósio –SVR2008
ações dos usuários, como apagar e mover, sobre os objetos que foram
previamente bloqueados.
238
Pré Simpósio –SVR2008
6.4.7.1 Inspeção
239
Pré Simpósio –SVR2008
6.4.7.2 Controle
240
Pré Simpósio –SVR2008
6.4.7.3 Cópia
241
Pré Simpósio –SVR2008
242
Pré Simpósio –SVR2008
6.4.7.4 Transporte
243
Pré Simpósio –SVR2008
6.4.7.5 Apagamento
244
Pré Simpósio –SVR2008
6.4.7.6 Status
245
Pré Simpósio –SVR2008
6.4.7.7 Rastro
246
Pré Simpósio –SVR2008
(a) (b)
Figura 6.49. Movimentação da peça orientada pelo rastro: a) visualização do
movimento pelo usuário1 e b) ponto de vista do usuário2.
6.4.7.8 Bloqueio
247
Pré Simpósio –SVR2008
Tecla Função
‘d’ Difusão
248
Pré Simpósio –SVR2008
249
Pré Simpósio –SVR2008
Volume 1, 2005.
141-183.
Universidade de Washington.
251
Pré Simpósio –SVR2008
22-38.
Trends in Computer Graphics and Vision, Vol.1, N.1, pp. 1-89, Out
2005.
2006. v. 3. p. 31-34.
252
Pré Simpósio –SVR2008
6.6. ANEXOS
DSVideoLib-0.0.8b-win32
GLUT
253
Pré Simpósio –SVR2008
6. Compilar os projetos.
254
Pré Simpósio –SVR2008
DSVideoLib,<http://sourceforge.net/project/showfiles.php?group_id
=75107&package_id=75491> acesso em fev, 2007.
255
Pré Simpósio –SVR2008
256
Pré Simpósio –SVR2008
257
Pré Simpósio –SVR2008
258
Pré Simpósio –SVR2008
6.6.2.2.1. Preparação
Para a execução da aplicação "simpleVRML.exe", será necessário
realizar os seguintes passos:
259
Pré Simpósio –SVR2008
b) Conectar a câmera.
6.6.2.2.2. Funcionamento
Coloque uma placa no campo de visão da webcam, fazendo com que
apareça um objeto virtual sobre a placa.
Tome cuidado para não obstruir a placa ou parte dela, de forma que ela
apareça inteira no vídeo. A Figura A.3 mostra algumas visões da janela
de visualização e da janela de acompanhamento da execução.
260
Pré Simpósio –SVR2008
261
Pré Simpósio –SVR2008
262
Pré Simpósio –SVR2008
263
Pré Simpósio –SVR2008
264
Pré Simpósio –SVR2008
265
Pré Simpósio –SVR2008
#pattern 1
80.0
0.0 0.0
#pattern 2
80.0
0.0 0.0
266
Pré Simpósio –SVR2008
267
Pré Simpósio –SVR2008
90.0 1.0 0.0 0.0 # Rotation angle + axis, eg 90.0 1.0 0.0 0.0
111 #escala
268
Pré Simpósio –SVR2008
Agora, você está pronto para criar novas placas e associá-las com outros
objetos virtuais, dispondo-os no seu espaço físico, em frente à webcam.
269
Pré Simpósio –SVR2008
270
Pré Simpósio –SVR2008
271
Pré Simpósio –SVR2008
272
Pré Simpósio –SVR2008
273
Pré Simpósio –SVR2008
274
Pré Simpósio –SVR2008
275
Pré Simpósio –SVR2008
276
PARTE 3
APLICAÇÕES
Pré Simpósio –SVR2008
Capítulo
7
Jogos e Entretenimento com
Realidade Virtual e Aumentada
Romero Tori, Ricardo Nakamura, João Luiz Bernardes Jr, Roberto
Cezar Bianchini, Eduardo Costa Jacober, Daniel Calife e Alexandre
Nascimento Tomoyose
Abstract
7.1. Introdução
Jogos Eletrônicos (JE) e Realidade Virtual (RV) são áreas que têm
sua origem no início da década de 1960, e que acabaram se
desenvolvendo de forma independente. Algum tempo após o
surgimento desses dois campos, a área de Realidade Aumentada
(RA) também se juntou às outras duas e às muitas outras que
estudam a forma como se pode representar e simular situações e
ambientes em computadores. A Computação Gráfica (CG) é a
principal tecnologia por trás de JE, RV e RA. Dessa forma a
evolução da CG impacta as outras três áreas, assim como demandas
provenientes de cada uma delas influenciam a indústria e pesquisas
de CG. Devido ao grande avanço ocorrido no hardware gráfico e
na diminuição do seu custo, pesquisas que englobam JE, RV e RA
tendem a produzir resultados cada vez mais interessantes que
aumentam o grau de interatividade homem-computador. A
gigantesca indústria de jogos impulsiona a criação de ferramentas,
dispositivos de interação e game engines que podem ser
aproveitados também para o desenvolvimento de protótipos e/ou
aplicações finais de RV e RA. Dessa forma, conhecer a tecnologia
de desenvolvimento de jogos é interessante para profissionais,
estudantes e pesquisadores da área de RV e RA, mesmo que esses
só pretendam desenvolver aplicações “sérias”.
278
Pré Simpósio –SVR2008
7.2. Conceitos
Esta seção trata da conceituação e discussão sobre a aplicação das
tecnologias de JE, RV e RA no entretenimento digital, com maior
ênfase na realidade aumentada, por se tratar de tecnologia mais
recente e ainda pouco explorada pela indústria do entretenimento.
Serão também discutidas semelhanças e diferenças entre técnicas e
tecnologias de RV e JE.
279
Pré Simpósio –SVR2008
280
Pré Simpósio –SVR2008
281
Pré Simpósio –SVR2008
• Simuladores de vôo;
284
Pré Simpósio –SVR2008
285
Pré Simpósio –SVR2008
287
Pré Simpósio –SVR2008
289
Pré Simpósio –SVR2008
290
Pré Simpósio –SVR2008
291
Pré Simpósio –SVR2008
293
Pré Simpósio –SVR2008
294
Pré Simpósio –SVR2008
295
Pré Simpósio –SVR2008
296
Pré Simpósio –SVR2008
297
Pré Simpósio –SVR2008
ambiente
Kick Ass Kung
Projeção Não-tangível
Fu/Hamalainen Visão computacional
simples/vídeo (oponente)
et al. (2005)
Sensores magnéticos
Touch Space/ e visão Gamepad, posição e
Cheok et al. HMD/vídeo computacional co-localização,
(2002) (marcadores tangível (caixas)
fiduciais)
AR PushPush/ Visão computacional
Kim et al. HMD/vídeo (marcadores Gestos
(2005) fiduciais)
Outros
ARHockey/
Projeção Sensores
Vieira et al. Tangível (batedores)
simples/ótica infravermelhos
(2006)
Câmera
Gestos (posição
Kombat/ Paula Monitor/vídeo Visão computacional
corporal)
et al. (2006)
Invisible Train/ Visão computacional
Monitor
Wagner et al. (marcadores Touchscreen
(PDA)/vídeo
(2005) fiduciais)
Glass
Xylophone Projeção Visão computacional
Tangível (baquetas)
/Kim et al simples/vídeo (infravermelho)
(2004)
Interactive
Projeção Gestos, não-tangível
Storytelling/ Visão computacional
simples/vídeo e interpretação de
Charles et al. (features)
(cromaqui) linguagem natural
(2004)
Tabela 7.1 - Jogos em Áreas Limitadas
298
Pré Simpósio –SVR2008
7.5. Tendências
Uma tendência tanto para JE quanto RV é o aparecimento de
ambientes virtuais tridimensionais genéricos, acessíveis por
microcomputadores padrão pela internet, como o “Second Life”
[Second Life, 2006]. Tais ambientes genéricos não têm um objetivo
específico, fica a cargo de seus inúmeros partipantes (“habitantes”)
decidir se utilizarão sua infra-estrutura para fins de comunicação
(como pontos de encontro, propaganda, etc), fins de entretenimento
(como jogos, exibições, etc), comerciais (venda de conteúdo ou
serviços dentro do ambiente) ou de aprendizado (museus virtuais,
ensino a distância, etc). Assim como os game engines, podem ser
adotados como base para as aplicações científicas de RV e, da
mesma forma, essa prática deve ser analisada com cautela, devido
às suas características e restrições.
299
Pré Simpósio –SVR2008
7.6. Conclusão
Este capítulo apresentou os principais conceitos relacionados à
tecnologia de jogos eletrônicos, com destaque para game engines e
interfaces tangíveis. Foi analisada a interação entre as áreas de RV
e RA com a de jogos eletrônicos, tendo-se apresentado o estado da
arte dos jogos baseados em tecnologia de RA. Finalmente foram
discutidas algumas das principais tendências da indústria e
pesquisa de jogos eletrônicos e suas relações com RV e RA. Para o
300
Pré Simpósio –SVR2008
301
Pré Simpósio –SVR2008
302
Pré Simpósio –SVR2008
303
Pré Simpósio –SVR2008
304
Pré Simpósio –SVR2008
305
Pré Simpósio –SVR2008
306
Pré Simpósio –SVR2008
Thomas, B.; Close, B.; Donoghue, J.; Squires, J.; De Bondi, P.;
Piekarski, W. “First Person Indoor/Outdoor Augmented Reality
Application: ARQuake”. In: Personal and Ubiquitous
Computing, n. 6, p. 75-86, 2002.
TMG “MIT Media Lab - Tangible Media Group”. [sítio web]
Disponível em: <http://tangible.media.mit.edu/>, acessado em
Fevereiro de 2007.
Ulbricht, C.; Schmalstieg, D. “Tangible Augmented Reality for
Computer Games”. In: THE IASTED INTERNATIONAL
CONFERENCE ON VISUALIZATION, IMAGING AND
IMAGE PROCESSING, 2003. Anais... IASTED, 2003. p. 950-
954.
Underkoffler, J.; Ishii, H. (1998). “Illuminating light: an optical
design tool with a luminous-tangible interface”, In: Proceedings
of the SIGCHI conference on Human factors in computing
systems, 542-549.
Vieira, B.; Theodoro, C.; Trias, L.; Miranda, F.; Tori, R.
“ARHockey: Um jogo de Realidade Aumentada Baseada em
Projetores”, In: Anais SBGames 2006.
Wagner, D.; Barakonyi, I. “Augmented Reality Kanji Learning”.
In: IEEE AND ACM INTERNATIONAL SYMPOSIUM ON
MIXED AND AUGMENTED REALITY, 2, 2003. Anais...
ACM, 2003.
Wagner, D.; Pintaric, T.; Ledermann, F. ; Schmalstieg, D. Towards
“Massively Multi-User Augmented Reality on Handheld
Devices”. In: INTERNATIONAL CONFERENCE ON
PERVASIVE COMPUTING, 3, 2005. Anais 2005.
Walther, B. K.; “Playing and Gaming: Reflections and
Classifications”. In: GAME STUDIES – THE
INTERNATIONAL JOURNAL OF COMPUTER GAME
RESEARCH, vol. 3, issue 1, May 2003. Disponível em:
307
Pré Simpósio –SVR2008
<http://www.gamestudies.org/0301/walther>. Acesso em
Março, 2007.
Woodward, C.; Honkamaa, P.; Jäppinen, J.; Pyökkimies, E.
“CamBall – Augmented Networked Table Tennis Played with
Real Rackets”. In: ACM SIGCHI ADVANCES IN
COMPUTER ENTERTAINMENT, 2004. Anais... ACM, 2004.
p. 275-276.
Wittgenstein, L. “Philosophical Investigations”. 1953.
Zhou, Z.; Cheok, A.D.; Chan, T.; Li, Y. “Jumanji Singapore: An
Interactive 3D Board Game Turning Hollywood Fantasy into
Reality”. In: ACM SIGCHI ADVANCES IN COMPUTER
ENTERTAINMENT, 2004. Anais ACM, 2004. p. 362-363.
308
Pré Simpósio –SVR2008
Capítulo
8
Aplicações Médicas usando
Realidade Virtual e Realidade
Aumentada
1 2
Fátima L. S. Nunes , Rosa M. E. M. Costa , Ana Cláudia M. T. G.
1 1 1 1
Oliveira , Sérgio R. Delfino , Larissa Pavarini , Ildeberto A. Rodello ,
1 1
José Remo F. Brega , Antônio C. Sementille
1
Programa de PósGraduação em Ciência da Computação
Centro Universitário Eurípides de Marília (UNIVEM)
Avenida Hygino Muzzi Filho, 529 CEP 17525901, Marília –
SP, Brasil
2
Universidade do Estado do Rio de Janeiro
IME – Dept de Informática e Ciência da Computação Rua São Francisco
o
Xavier 5246 Bl. B, CEP 20550013 Rio de Janeiro RJ Brasil
{fatima,lpavarini,rodello,remo,semente}@univem.edu.br,
rcosta@ime.uerj.br, {anatiessi, srdelfino}@gmail.com
Abstract
Pré Simpósio –SVR2008
Resumo
8.1. Introdução
Os computadores e tecnologias de comunicação vêm sendo
utilizados de maneira crescente em diferentes áreas do
conhecimento, sendo que, na última década estes equipamentos se
disseminaram fortemente na área médica.
A tecnologia de Realidade Virtual (RV) vem despertando grande
interesse neste domínio, pois amplia as possibilidades de estudo e
prática de variadas técnicas e procedimentos médicos. Por outro
lado, a difusão das redes favorece as aplicações de telemedicina,
310
Pré Simpósio –SVR2008
311
Pré Simpósio –SVR2008
312
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
8.5. Deformação
Um AV pode ser composto de objetos estáticos, os quais mantêm a
mesma forma durante toda sua existência e dinâmicos, que mudam
de posição, forma ou aparência devido a alguma interação ocorrida.
Para que um AV seja realístico, é necessário planejá-lo da forma
mais próxima ao cotidiano, definindo suas ações e reações. A
deformação é uma das reações a serem analisadas, sendo que o
comportamento dos objetos deformados é representado por uma
simulação geométrica, física ou híbrida.
Choi et al. (2002) definem a simulação geométrica como aquela
baseada em manipulações de dados geométricos como vértices e
pontos. Usa artifícios matemáticos para obter resultados
visualmente convincentes que permitem mudança na estrutura do
objeto.
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
8.6. Estereoscopia
319
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
324
Pré Simpósio –SVR2008
(a) (b)
Figura 8.4 - Imagem original (a) e imagem transformada (b).
8.8.4. Reabilitação
A RV também tem sido explorada para apoiar o tratamento de
diferentes seqüelas motoras e cognitivas, derivadas de distúrbios ou
325
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
328
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
330
Pré Simpósio –SVR2008
8.11. Deformação
Como mencionado na seção 8.5, há métodos clássicos na literatura
para simular deformação em tecidos flexíveis. O grande desafio
continua sendo a relação precisão versus tempo de resposta.
Em aplicações médicas, o conceito de Elementos Finitos foi
utilizado em Shi e Yan (2001), que desenvolveram técnicas para
deformação de objetos e cortes em aplicações de cirurgia virtual,
Costa e Balaniuk (2002), que se concentraram em métodos para
deformar objetos em tempo real e Dimaio e Salcudean (2002), que
apresentaram uma simulação de inserção de agulha virtual em
tecidos flexíveis. Exemplos de utilização do método Massa-Mola
são Delingette et al. (1999), que apresentam aplicações de
simulações de cirurgias crânio-faciais e Oliveira et al. (2006), que
implementaram um sistema em Java para simular a deformação em
exames de biópsia de mama.
8.12. Estereoscopia
Em aplicações médicas, muitas vezes a implementação de
estereoscopia esbarra no custo de equipamentos sofisticados que
podem fornecer sensação de imersão mais adequada. A seguir são
apresentadas algumas soluções para proporcionar esta sensação.
Meneses et al. (2002) desenvolveram um estudo para comparar as
técnicas anaglífica e de polarização quanto à nitidez e realismo de
um segmento neuroanatômico, concluindo que a melhor técnica em
percentagem de eficácia foi a de polarização, apresentando melhor
efeito de profundidade e maior nitidez. Óculos estereoscópicos
obturadores foram usados para simular o treinamento de cirurgias
ortopédicas [Sourin 2000] e coleta de medula óssea [Machado
2003].
Montanha e Nunes (2005) optaram por uma abordagem de baixo
331
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
333
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Referências Bibliográficas
335
Pré Simpósio –SVR2008
Cardoso, L.; Costa, R. M.; Piovesana, A.; Costa, M.; Penna, L.,
(2006), “Using Virtual Environments for Stroke Rehabilitation”.
IEEE-5th International Workshop on Virtual Rehabilitation,
New York, pp. 1-5.
Pré Simpósio –SVR2008
Farago, P.; Barros, L.; Landau, L.; Cunha, G.; Costa, R. M. (2005),
“ATDV: An Image Transforming System”. Lecture Notes in
Computer Science, v. 3414, pp. 727-734.
Haluck R., Webster R., Wang W., LeFever A., Mohler B., (2007)
“Tracking Laparoscopic Surgical Motions Using the 5DT
DataGlove”, em:
http://cs.millersville.edu/~webster/haptics/handproject/handproj
ect.html, visitado em janeiro de 2007.
337
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Monteiro, B.; Valdek, M.; Cunha, I.; Moraes, R.; Machado, L.;
(2006), “AnotomI 3D: Um Atlas digital baseado em realidade
Virtual para o ensino de medicina”, VIII Symposium on Virtual
Reality, pp 3-14.
Pré Simpósio –SVR2008
Ramos, F.; Nunes, F.; Botega, L.; Damasceno, E.; Pavarini, L.;
(2005), “Atlas Virtual da Mama e Fisiopatologia do Câncer de
Mama utilizando Java3D”. Workshop de Aplicações de
Realidade Virtual, Uberlândia.
Reitinger B., Bornik A., Beichel R., Schmalstieg D., (2006), “Liver
Surgery Planning Using Virtual Reality”, IEEE Computer
Graphics and Applications, Vol 26, n. 6, pp 36-47.
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
342
Pré Simpósio –SVR2008
Capítulo
9
Aplicações na Educação e
Treinamento
alexandre@ufu.br, lamounier@ufu.br
Resumo
A Educação pode ser vista como um processo de descoberta,
exploração e de observação. Tais elementos são de fundamental
importância para a construção do conhecimento. Neste contexto, a
possibilidade de simular situações e experimentos que de maneira
real não seriam possíveis ou inviáveis, propicia grande avanço no
processo educacional. Este capítulo visa apresentar e discutir
Realidade Virtual como uma significativa ferramenta de suporte ao
ensino-aprendizagem. É avaliado como a mesma possibilita a
realização de experiências com o conhecimento, de forma mais
intuitiva e interativa, suportando a exploração de ambientes,
processos ou objetos, de uma forma totalmente inovadora, quando
comparada com métodos tradicionais (quadro-negro, livros, filmes
etc.).
343
Pré Simpósio –SVR2008
9.1. Introdução
A discussão da utilização da Informática na educação e treinamento
deve considerar muitos fatores, sob pena de falsas soluções serem
apontadas como efetivas. A simples utilização de uma tecnologia
não é a solução para os problemas, logo, informatizar o material
tradicional (anteriormente aplicado em educação/treinamento
presencial), sem uma adequada alteração das técnicas de ensino,
não é solução por si só [Robles et al., 1997]. O risco declarado
consiste em confundir a entrega de informação com aprendizado,
alijando elementos essenciais, tais como resolução de problemas,
criatividade e imaginação dos instrutores e dos alunos [Bork;
Britton, 1998]. Neste contexto, tecnologias como a Realidade
Virtual (RV) vêm apresentando diferenciais importantes.
A Realidade Virtual (RV) é uma tecnologia que consiste
em uma combinação de programas computacionais, computadores
de alto desempenho e periféricos especializados, que permitem
criar um ambiente gráfico de aparência realística, no qual o usuário
pode se locomover em três dimensões, onde objetos gráficos
podem ser sentidos e manipulados.
Assim, a Realidade Virtual permite a criação de uma
interface homem-máquina mais natural e poderosa, possibilitando
ao usuário interação, navegação e imersão num ambiente
tridimensional sintético, gerado pelo computador através de canais
multisensoriais de visão, audição, tato, olfato ou paladar.
Ressalta-se que um grande benefício oferecido por esta
interface é que o conhecimento intuitivo do usuário a respeito do
mundo físico pode ser utilizado para manipular
o ambiente virtual, possibilitando ao usuário a manipulação de
informações através de experiências próximas do real. Isso porque,
no ambiente virtual, é possível criar a ilusão de mundo que na
344
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
9.3.1. Medicina
A Medicina e áreas de saúde relacionadas têm, substancialmente,
se beneficiado dos avanços tecnológicos apresentados pela
Realidade Virtual, nos últimos anos. Pesquisadores acreditam que
RV providencia um recurso ímpar para o ensino e treinamento em
estruturas anatômicas. Um dos principais problemas para a
educação em Medicina, em geral, é como providenciar um senso
realístico da inter-relação entre estruturas anatômicas no espaço
3D. Com RV, o aprendiz pode repetidamente explorar as estruturas
de interesse, separando-as ou agrupando-as com as mais diferentes
formas de vizualização, imersão e exploração. Isto seria,
obviamente, impossível com um paciente vivo e é economicamente
347
Pré Simpósio –SVR2008
348
Pré Simpósio –SVR2008
349
Pré Simpósio –SVR2008
350
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
Pré Simpósio –SVR2008
357