universidade federal de engenharia de itajubá realidade virtual - rv alexandre carlos brandão...

37
Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@ unifei . edu .br http ://www. ici . unifei . edu .br/ramos

Upload: internet

Post on 17-Apr-2015

106 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Universidade Federal de Engenharia de Itajubá

Realidade Virtual - RV

Alexandre Carlos Brandão [email protected]

http://www.ici.unifei.edu.br/ramos

Page 2: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Realidade Virtual - RV

•Definição: O termo ‘Realidade Virtual’ (RV) foi inicialmente proposto

por Jaron Lanier, fundador do VPL Research (1989). Outros termos relacionados incluem ‘Realidade Artificial’

(Myron Krueger, 1970), ‘Cyberespaço’ (Willian Gibson, 1984) e, mais recentemente, ‘Mundos Virtuais’ e ‘Equipamentos Environments’ (1990s) e 'Realidade Virtual Aumentada'.

•Bibliografia: VRML Version 2 Tutorial http://200.136.79.4/informatica/tutoriais/vrml/index.htm http://www.di.ufpe.br/~if124/realidvirt.htm http://www.dc.ufscar.br/~grv/vrml/tutoriais/vrml10/ Cortona 3D viewer e trial www.cortona3d.com

Page 3: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Tipos de RV

•Atualmente, o termo ‘Realidade Virtual’ é usado em uma grande variedade de recursos e normalmente de forma confusa. Entretanto, considerando a forma de inclusão no ambiente virtual podemos diferenciar três tipos de RV:

1. RV Imersiva, o usuário tem a sensação de “mergulhar” em um mundo artificial, de três dimensões geradas pelo computador.

2. RV Não Imersiva, o usuário observa o mundo virtual a partir do mundo real, interagindo com os objetos, mas não se sente envolvido pelo ambiente virtual.

3. RV Aumentada, o usuário observa objetos virtuais navegando no mundo real interagindo com estes.

Page 4: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Equipamentos da RV

•O Capacete para realidade Virtual ou “Head-Mounted Display” (HMD), como pode ser visto na fig.12.1, foi o primeiro dispositivo desenvolvido que permitiu experimentos imersivos. Evans e Sutherland demonstram um HMD com qualidade stereo já em 1965.

•O Laboratório de Pesquisas VPL (Universidade de Michigan) desenvolveu seu primeiro HMD em 1989.

Page 5: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Outros dispositivos - VOOM

•Para minimizar o desconforto do uso do HMD, foram desenvolvidos outros dispositivos para visão imersiva. VOOM, ou Binocular Omni-Orientation Monitor da Empresa Fakespace, é um display stereo que permite o acoplamento da cabeça do usuário, onde telas e um sistema ótico foram colocadas em uma caixa anexada a um braço mecânico.

Page 6: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Outros dispositivos - CAVE

•A CAVE, Cave Automatic Virtual Environment, foi desenvolvido pela Universidade de Ilinois em Chicago e fornece uma ilusão de imersão projetando imagens stereo nas paredes e teto de uma sala em forma de cubo.

•Vários usuários utilizando óculos especiais podem entrar e caminhar livremente dentro da “caverna”. Um sistema de monitoração da cabeça ajusta continuamente a projeção stereo para a posição corrente dos usuários.

Page 7: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Luvas

•Para que o usuário possa interagir com o ambiente virtual, manipular objetos etc. existe uma grande variedade de dispositivos de entrada, entretanto os mais utilizados são as luvas e “joysticks”.

•Outros dispositivos podem ser utilizados para propiciar a “imersão” do usuário no ambiente virtual, tais como som direcional, dispositivos táteis e de “force feedback”, reconhecimento de voz etc.

Page 8: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Compartilhamento

•Podem-se compartilhar ambientes virtuais a partir de redes de computadores, onde usuários, em locais diferentes, conectados por rede de computadores compartilhando o mesmo ambiente virtual utilizando dispositivos diferentes, por exemplos o BOOM a CAVE e o capacete.

Page 9: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

VRML

•“Virtual Reality Modeling Language” ou VRML permite a exploração de ambientes virtuais na WWW.

•Do mesmo modo que “HyperText Markup Language” ou HTML tornou-se um padrão para a autoria de páginas, a VRML permite a integração de mundos tridimensionais com hiperlinks na web. Home pages tornam-se espaços.

•Para que o usuário possa visualizar os ambientes virtuais com o browser é necessário a instalação de um software adicional (plug-in).

Page 10: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Características

Um código VRML pode ser escrito com um editor de textos comum (sem formatação). Uma vez editados, os arquivos são gravados em formato ASCII com a extensão .wrl.

Na verdade, a linguagem apenas descreve como os ambientes tridimensionais serão representados pelo browser.

O código VRML descreve as características do ambiente, como coordenadas, luz, cores, sombreamento etc.

Também pode-se colocar em um mundo objetos que estão localizados remotamente em outros lugares na internet, além de links que levam a outros homeworlds ou homepages.

Page 11: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Padrões

Ficou definido, para fins de identificação, que todo arquivo VRML 1.0 tem que ter o cabeçalho :

#VRML V1.0 ascii Na versão atual, o cabeçalho fica da seguinte maneira :

#VRML V2.0 utf8 O caracter '#' também significa comentário. Toda linha

que começa com # será ignorada pelo browser. Utf8 é um padrão iso para codificação que permite que o

texto do arquivo seja mostrado em qualquer editor, bem como caracteres de outros países.

Page 12: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Exemplo de código

Um exemplo simples de código em VRML:#VRML V2.0 utf8

Shape {

geometry Sphere { } #desenha uma esfera

}

O resultado:

Page 13: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Unidades de Medida

VRML usa o sistema cartesiano 3D. A seqüência dos eixos é X,Y,Z e a unidade de medida

para distâncias é metros e para ângulos, radianos. A medida para distância não é definida formalmente, mas

adotou-se o metro como unidade para que mundos diferentes feitos por usuários diferentes possam ser eventualmente unidos em um só mundo.

Page 14: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Componentes - Nodes

Um node (ou primitiva) é um conjunto de especificações que determinam as características dos objetos contidos no cenário.

Os nodes definem a hierarquia e as características individuais de cada objeto dentro do contexto geral.

O node descreve o tipo do objeto, que pode ser: uma esfera, um cilindro, uma transformação, uma definição de luz ou textura etc.

Também define as características de cada um, como tamanho de um cubo, diâmetro de uma esfera, intensidade da luz ambiente, cor etc. Não é necessário dar nome a um node, mas se isso for feito, não se pode ter dois nodes com nomes iguais.

Page 15: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Exemplos de primitivas

Cubo #VRML V2.0 utf8

Shape{geometry Box{}}

Esfera #VRML V2.0 utf8

Shape{geometry Sphere{}}

Texto #VRML V2.0 utf8

Shape {geometry Text {string ["UNIFEI","ICE/DMC"] } }

Cone #VRML V2.0 utf8

Shape{geometry Cone{}}

Cilindro #VRML V2.0 utf8

Shape{geometry Cylinder{}}

Page 16: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Cores

A cor dos objetos é formada pela composição das cores básicas vermelho, verde e azul (RGB), cujos valores variam entre 0 e 1.

Sendo assim, se quisermos um objeto amarelo temos que especificar (1,1,0), ou seja, 100% de vermelho e verde e 0% de azul.

A cor está associada à forma e não à geometria, isto é, a especificação da cor será dentro da declaração "shape" porém fora da declaração "geometry", isto é, vários objetos podem possuir a mesma cor, por exemplo:

#VRML V2.0 utf8

Shape{ appearance Appearance

{material Material

{diffuseColor 0 1 1 }

}

geometry Sphere{}

}

Page 17: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Características das cores

Como visto no slide anterior, a linguagem VRML permite pintar com várias componentes:

diffuseColor: cor refletida pelo objeto (r,g,b), emissiveColor: cor emitida pelo objeto (r,g,b), transparency: proporção de luz que atravessa o objeto ([0,1]); e o tipo de brilho pode ser controlado através de shininess: intensidade do brilho do objeto ([0,1]), specularColor: cor do brilho do objeto (r,g,b) e ambientIntensity: quanto influi a luz ambiente na cor do objeto

([0,1]).

Essas especificações são opcionais e devem estar agrupadas na declaração do tipo de material que, por sua vez, faz parte da declaração da aparência do objeto.

Page 18: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Características das cores

Uma aplicação muito interessante de cores é a possibilidade de modificar a cor padrão do fundo.

Isto é feito com o seguinte nó que, por questões práticas, deveria aparecer no início do arquivo. Um único nó deste tipo é permitido por mundo.

#VRML V2.0 utf8

Background {skyColor[0 .6 .8]}

Shape{

appearance Appearance{

material Material{diffuseColor .7 .3 0}

}

geometry Cylinder{}

}

Page 19: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Tamanhos

Os objetos possuem seus próprios modificadores, em função da sua geometria particular.

As caixas têm largura, profundidade e altura, os cones têm raio da base e altura, e assim por diante.

Exemplo:

#VRML V2.0 utf8

# Esferas sobrepostasShape {geometry Sphere{}}Shape{ appearance Appearance { material Material { diffuseColor 1 1 0 transparency 0.4 } }geometry Sphere{ radius 2 }}

Page 20: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Tamanhos

Uso das variáveis lógicas, aplicadas à modificação geométrica de um cilindro. A esfera que o acompanha serve para responder à pergunta qual o tamanho padrão dos cilindros?

Page 21: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Mundos virtuais

Uma das preocupações ao criar mundos virtuais é que eles exibam o grau de realismo desejado e, simultaneamente, que não sejam proibitivamente caros do ponto de vista computacional, o que pode ser feito utilizando texturas.

A idéia é descrever as componentes do mundo com objetos geométricos o mais simples possíveis, isto é, formados pela menor quantidade possível de primitivas gráficas.

O realismo será dado pintando essas primitivas com fotografias dos objetos do mundo real.

No exemplo, o prédio foi descrito como uma mera caixa, só que foi forrada com um mosaico de fotografias digitais.

Page 22: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Texturas

Textura, no nosso caso, é toda imagem a ser mapeada sobre objetos virtuais, isto é, imagens são utilizadas para modificar o aspecto dos elementos dos mundos virtuais.

Ao alterar a aparência destes objetos, nada mais lógico do que a especificação destas propriedades texturais ser feita no mesmo nível que a especificação de cor. Exemplo:

Page 23: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Exemplo ceu-terra

Page 24: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Estilos de tipos

O estilo de uma tipografia consiste na especificação do seu aspecto, sendo as possibilidades o texto comum (PLAIN), o negrito (BOLD), o itálico (ITALIC) e o negrito itálico (BOLDITALIC). Essas especificações devem ser atribuídas ao campo style do modificador fontStyle.

Page 25: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Agrupamento de objetos

Serve para tratar primitivas (ou grupos de primitivas) como se fossem um único objeto e, desta maneira, poupar a aplicação de transformações, por exemplo:

grupo.wrl #VRML V2.0 utf8

Group{ children[

Shape{

geometry Box{size 10 .1 10}

}

Shape{ geometry Text {string "Realidade Virtual"

}

}

]

}

Page 26: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Definição e reuso

Quando se que repetir, em outro lugar, um objeto já construído, faz-se necessário defini-lo, por exemplo:

DEF nome objeto Onde o nome do objeto é escolhido livremente desde que

não seja um comando VRML, e o objeto é qualquer componente VRML válida. Para referenciar o objeto assim batizado, basta dar o comando:

USE nome

Page 27: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Transformações

Servem para deslocar as primitivas gráficas (já coloridas ou forradas com texturas) pelo espaço virtual. Além de posicioná-las, e rotaciona-las e modificar sua escala.

Page 28: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Translações

São especificadas para um conjunto de objetos através das três coordenadas que as definem. O conjunto de objetos a sofrerem a translação são agrupados pelo comando delimitador children[ ], que também aparece no nó Group.

O comando Inline serve para inserir um arquivo dentro de outro arquivo.

Page 29: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Exemplo

Construir um corredor de arcos aplicando os conhecimentos de translações, agrupamento e reaproveitamento de objetos. Para tanto deve-se:

– Criar o arco, que poderá ser o resultado de dois cilindros (as colunas) e a laje, que é uma caixa de tamanho conveniente na posição adequada.

– A passagem de colunas será construída repetindo-as nas posições desejadas

Page 30: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Passo 1

Page 31: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Passo 2

Page 32: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Escalonamentos

As transformações de escala alteram as relações entre as coordenadas originais dos objetos. Devem ser especificados os três fatores correspondentes a cada um dos eixos coordenados. A sintaxe desta transformação é completamente análoga à das translações.

Page 33: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Rotações

Para realizar a rotação de um ou mais objetos deve-se forncer: o ângulo e o eixo ao redor do qual a rotação é realizada.

Para especificar o eixo precisamos de dois pontos: a origem e um outro que deve ser fornecido pela especificação de três coordenadas. Ao redor desta reta assim especificada será realizada a rotação pelos graus dado em radianos (90o equivalem a Pi/2 radianos, isto é, aproximadamente a 1.57).

A sintaxe desta transformação é análoga à das outras duas, bastando especificar rotation seguido de quatro valores: três para o eixo e um para o ângulo em radianos.

As rotações mais comuns são aquelas realizadas ao redor dos eixos do sistema cartesiano, a tabela a seguir fornece os valores que as especificam.

Page 34: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Exemplo

Page 35: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Imagens

Existem duas maneiras básicas de disponibilizar uma imagem em formato digital:

– Digitalizá-la utilizando um scanner,

– Obtê-la diretamente neste formato através da utilização de uma câmara fotográfica digital (mais prático).

A adoção de uma ou de outra técnica dependerá, na maioria dos casos, da disponibilidade de um ou outro equipamento.

Page 36: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Imagens de fachadas

Muitas vezes, na construção de um mundo virtual, são utilizadas fotografias de fachadas de prédios. Estas fotografias serão empregadas para dar realismo a meras caixas.

Para que a fotografia de uma fachada possa ser utilizada como componente textural do mundo virtual ela deverá atender a requisitos de qualidade:

– Iluminação aproximadamente constante: para que a credibilidade do mundo não esteja vinculada a algum horário em particular, a fachada não deve ter variações na sua iluminação que induzam o visitante a crer que está amanhecendo (topo com luz dourada e base escura) ou anoitecendo (luz avermelhada no topo).

– Ausência de elementos perturbadores: uma árvore impedindo a visão total da fachada será uma componente ruidosa no mundo. Caso seja de interesse modelar a árvore, ela deverá ser descrita separadamente.

– Falta de perspectiva: a perspectiva deverá estar totalmente associada à navegação, isto é, à interação do/a visitante com o mundo e não embutido na fotografia.

Page 37: Universidade Federal de Engenharia de Itajubá Realidade Virtual - RV Alexandre Carlos Brandão Ramos ramos@unifei.edu.br

Redução de perspectiva

Uma caixa forrada com uma fachada que apresenta pontos de fuga, a impressão será desagradavelmente surrealista, como no exemplo da figura ao lado de Giorgio de Chirico para o uso criativo disto que, para um mundo virtual, pode ser um defeito.

Utiliza-se o Photoshop para eliminar a perspectiva de uma imagem:

» Definir a área de interesse» Recorte da mesma» Remoção do efeito perspectiva:» Selecionar toda a foto.» Aplicar a ferramenta perspectiva.» Movimentar a moldura da foto ate obter o efeito

desejado.