UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE...
Transcript of UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE...
![Page 1: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/1.jpg)
UMA ARQUITETURA PARA A VISUALIZAÇÃODISTRIBUÍDA DE AMBIENTES VIRTUAIS
ALEXANDRE G. FERREIRA
Defesa de Dissertação de Mestrado
PUC-RIODepartamento de Informática
TeCGraf
DEZEMBRO 1999
![Page 2: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/2.jpg)
Objetivos
“Apresentar uma arquitetura que permita o desenvolvimentode sistemas para a visualização, de forma a alargar o
canal de recursos de interação no sentidomáquina homem.”
![Page 3: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/3.jpg)
Visualização por múltiplos dispositivos
q Visão panorâmica do ambiente virtualq Sensação de imersão para um ou mais usuários
![Page 4: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/4.jpg)
Imersão
q A percepção do usuário é removida domundo real e voltada para o mundo virtual.
q Requisitosð integrar o uso da tecnologia com fatores humanos
ð minimizar distrações
ð maximizar os atributos que realcem a atenção do usuário
ð adequar o conteúdo ao interesse do usuário
![Page 5: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/5.jpg)
Aplicações
q Educação e Treinamento
q Militares
q Visualização científica
q Entretenimento
q Processo produtivo e industrial
q Medicina
![Page 6: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/6.jpg)
Trabalhos relacionados
q NPSNET - Naval Postgraduate School
q DIVE (Distributed Interactive Virtual Environment) -Swedish Institute of Computer Science
q PARADISE (Performance Architecture for AdvancedDistributed Interactive Simulation Environments) -Stanford University
q AVIARY - University of Nottingham
q MR Toolkit - University of Alberta
![Page 7: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/7.jpg)
Ambiente virtual
É um teatro na qual determinados aspectosdo mundo real são simulados
²Descrição
²Visualização
²Visualização centralizada vs distribuída
![Page 8: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/8.jpg)
Ambiente virtual: Descrição
q Cenário
ðEntidadesð Iluminação
ðFog, …
Entidades
²Descrição Geométrica
²Aparência
²Comportamento
²Hierarquia
![Page 9: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/9.jpg)
Qualquer maneira para descrever a forma de umaentidade.
ð Estáticað Dinâmica
Ambiente virtual: Descrição geométrica
Arquivo: T80.3DS
Podem ser adotadastécnicas de múltiplos
níveis de detalhes
![Page 10: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/10.jpg)
É constituída dos atributos que, em conjunto com adescrição geométrica, são processados para se obteruma imagem da entidade.
ð Cor opacað Materialð Texturasð …
Também pode ser
ð Estática
ð Dinâmica
Ambiente virtual: Aparência
Arquivo: T80left.tif(textura)
Arquivo:T80top.tif (textura)
Podem ser adotadastécnicas de múltiplos níveisde detalhes para texturas
(mipmapping)
![Page 11: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/11.jpg)
Conjunto de mudanças que qualquer atributo dasentidades pode sofrer no decorrer do tempo
q Duas categorias
ð DeterminísticosSeu estado pode ser tratado como uma função do tempoEx. Física cinemática, oscilatória, etc.
ð Não-determinísticosSeu estado é imprevisívelEx. Ações humanas
Ambiente virtual: Comportamento
Ex. Rumo: 45º NW Velocidade: 525 Km/h Coordenadas: (25.3,22.5,503.5) Instante: 10s
![Page 12: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/12.jpg)
q Nível 0 - A cada quadro o valor de todos os atributos são definidosEx.: A entidade VEÍCULO se encontra na posição {x, y, z}
q Nível 1 - Estabelece a forma como os atributos são modificados no tempoEx.: A entidade VEÍCULO está na posição {x, y, z} com velocidade de 10m/s na direção 250o NW
q Nível 2 - Instrui a realização de uma tarefa, geralmente constituída por um conjunto de instruções de nível 1Ex.: Siga com a entidade VEÍCULO para a base mais próxima
q Nível 3 - Instrui a entidade para tomar uma decisão de alto nível, geralmente constituída por comportamentos de nível 2Ex.: Decida entre atacar o inimigo ou recuar para a base mais próxima.
Ambiente virtual: Comportamento (ROEHL)
![Page 13: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/13.jpg)
q Permite a construção de entidades elaboradascom comportamentos complexos
Ambiente virtual: Hierarquia
![Page 14: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/14.jpg)
Ambiente virtual: Visualização
Mapeamento do ambiente real noambiente virtual
w
nh
dispositivo devisualização
w
h
near far
canvas
Ambiente Real Ambiente Virtual
Usuário Observador
CanvasDispositivo de visualização
![Page 15: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/15.jpg)
Visualização: Abordagens
q Centralizada
q Distribuída
Simulação
Simulação eRendering
Rendering
Rendering
Rendering
![Page 16: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/16.jpg)
Centralizada
q Suporte em Hardware 4
ðSincronismoðBom desempenho
q Custo elevado 6
q Escalabilidade limitada 6
![Page 17: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/17.jpg)
Distribuída
q Sincronismo por software 6
q Portabilidade 4
q Baixo custo 4
qMaior escalabilidade 4
![Page 18: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/18.jpg)
Visualização distribuída
Requisitos e desafios
ðManutenção da consistência
ðSincronismo
ðHeterogeneidade
ðEscalabilidade
ðPortabilidade
![Page 19: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/19.jpg)
Visualização distribuída
Manutenção da consistência
Consiste na manutenção do estado dinâmico compartilhado dasentidades
ð Propagação permanente (a cada quadro)
ð Predição e convergência (quando ocorrem alterações no comportamento)
ð Combinação dos dois métodos
![Page 20: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/20.jpg)
Visualização distribuída
Predição e convergênciaBaseada na técnica de dead reckoning (usada no protocolo DIS - IEEE standard)
ð Instruções contêm um campo com o instante em que a alteração ocorreu
ð Cada unidade de visualização projeta o comportamento
Estado dinâmico real
t=1
t=2
t=3
t=4
Modificação nocomportamento
Atualização ainda não chegou da rede.
Atualização chega com atraso (latência)
Estado dinâmico visualizado
O sistema se atualizapara a nova posiçãoe trajetória
t=3+dt
![Page 21: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/21.jpg)
Convergência
t=4Segue na novatrajetória
t=3+dt
Salta imediatamente paraa posição atualizada
Estado dinâmico real Estado dinâmico visualizado
t=4
t=3+dt
ponto deconvergência
Segue uma trajetórialinear
ponto deconvergência
Ao encontrar umponto deconvergência, seguea nova trajetória
Estado dinâmico real Estado dinâmico visualizado
t=4
t=3+dt
ponto deconvergência
ponto deconvergência
Segue uma trajetóriacurvilinea suave
Ao encontrar umponto deconvergência, seguea nova trajetória
Estado dinâmico real Estado dinâmico visualizado
![Page 22: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/22.jpg)
Visualização distribuída
SincronismoRequisito fundamental
Para manter uma frame-rate de 30 fps é necessário que a variação na precisão do
sincronismo seja inferior a 33ms
Heterogeneidadeð Nivelar desempenho ao mínimo denominador comum
ð Utilizar o máximo de recursos de cada unidade
Fps = 5 Fps = 30t
![Page 23: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/23.jpg)
Visualização distribuída
EscalabilidadeRecursos limitados
ð poder de processamento de cada unidade
ð velocidade da rede
ð comportamentos não-determinísticos
PortabilidadeRecomendável
ð Diferentes plataformas de software e hardware
ð Facilidade de instalação, configuração e utilização
ð Amplo suporte a drivers de dispositivos
ð Variedade de formatos de entrada de dados
![Page 24: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/24.jpg)
Arquitetura proposta
![Page 25: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/25.jpg)
Mundo Externo
q Responsável por manter o estado dinâmicocorrente do ambiente virtual
q Pode assumir diversos papéisð entrada e saída de dadosð roteiro de animaçãoð sistema de monitoramentoð simulaçãoð ...
![Page 26: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/26.jpg)
Infra-estrutura de comunicação
q CORBA (ORBacus)
ð Confiabilidadeð Portabilidadeð Independência de linguagem de programaçãoð Padrão difundidoð Interface abstrata de alto nívelð Acesso uniforme a objetos locais e remotos
Proxy
Módulo Cliente
CORBA
Objeto Servidor
CORBARede
Aplicação 1 - Máquina 1 Aplicação 2 - Máquina 2
![Page 27: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/27.jpg)
Infra-estrutura de comunicação
q LuaOrbð Une facilidades de CORBA com flexibilidade de Luað Facilita o desenvolvimento e manutençãoð Não degrada o desempenho
Objeto n
Objeto n
CORBA
Protocolo de Rede
Protocolo CORBA (IIOP)
LUAORB
CORBA
LUAORB
Rede
Aplicação 1 - Máquina 1
Protocolo de Rede
Protocolo CORBA (IIOP)
..
.
Objeto 1
Objeto 2 ..
.
Objeto 1
Objeto 2
Aplicação 2 - Máquina 2
INFRA-ESTRUTURA DE COMUNICAÇÃO
..
.
..
.
Prox
y
Prox
y
Prox
y
Prox
y
Prox
y
Prox
y
..
.
..
.
Prox
y
Prox
y
Prox
y
Prox
y
Prox
y
Prox
y
![Page 28: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/28.jpg)
Infra-estrutura de comunicação
q Sincronismo dos relógios
ð NTP (Network Time Protocol)Indicado para WANs
ð SNTP (Simple Network Time Protocol)Indicado para LANs
Alcançam sincronismo com variações na precisão da ordem de alguns milisegundos
Pode requerer re-sincronismos constantes em função daimprecisão de cada relógio de cada unidade do sistema
![Page 29: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/29.jpg)
Mediador
q Realiza a integração entre o Mundo Externo e o Núcleo doSistemað Estabelece o relógio de simulação em todas as unidades de visualização
ð Mantem o registro das unidades de visualização e entidades
ð Traduz as mensagens provenientes do mundo externo
q Possibilita maior reuso do sistema
Módulo de Acoplamento
MEDIADOR DO SISTEMA
Interface com oMundo Externo
Interface com onúcleo do sitema
Módulo de Coordenação
Controle do relógio virtual
Controle do registro de entidades eunidades de visualização
Fluxo de dadosoriundos do Mundo
Externo
Adaptação dos dados
Fluxo de dados decontrole de todasas Unidades deVisualização doque compõem onúcleo do sistema
Elementos que potencialmente sãomodificados quando o Mundo
Externo for alterado
![Page 30: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/30.jpg)
Unidades de Visualização (UV)
q Máquinas que rodam independentemente
ð Controlam um dispositivo de visualização
ð Fazem o rendering a partir de determinado ponto de vista
ð Baseam-se somente no sicronismo entre os relógios dasdiversas unidades
ð Não existe nenhuma comunicação entre elas
ð Mantêm uma cópia local do estado dinâmicocompartilhado
![Page 31: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/31.jpg)
Unidades de Visualização (UV)
Inicializaçãoð Ligação com o Mediadorð Sincronização do relógioð Configuração da superfície de visualizaçãoð Carga da modelagem inicial do ambiente virtual
Modelagem doambiente virtual
Mediador doSistema
InicializaçãoAltualização do
estado dinâmico narede
Cálculo do estadodinâmico corrente
Processamentográfico de umnovo quadro
![Page 32: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/32.jpg)
Unidades de Visualização (UV)
Atualização do estado dinâmico
ð Feita através dos proxies existentes no Mediador, quepermitem o acesso aos métodos dos objetos locais
Modelagem doambiente virtual
Mediador doSistema
InicializaçãoAltualização do
estado dinâmico narede
Cálculo do estadodinâmico corrente
Processamentográfico de umnovo quadro
![Page 33: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/33.jpg)
Unidades de Visualização (UV)
Cálculo do estado dinâmico corrente
ð Feito utilizando a técnica de dead reckoning
Modelagem doambiente virtual
Mediador doSistema
InicializaçãoAltualização do
estado dinâmico narede
Cálculo do estadodinâmico corrente
Processamentográfico de umnovo quadro
![Page 34: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/34.jpg)
Unidades de Visualização (UV)
Renderingð Posicionamento da câmera (observador)ð Uso de técnicas para aumento do desempenhoð Desenho das entidades utilizando uma API gráfica
Modelagem doambiente virtual
Mediador doSistema
InicializaçãoAltualização do
estado dinâmico narede
Cálculo do estadodinâmico corrente
Processamentográfico de umnovo quadro
![Page 35: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/35.jpg)
Desempenho
O nível de detalhedeve diminuir a
medida que a entidadese afasta do plano de
projeção
O plano de fundo eo canvas
delimitam ovolume de visão
plano de fundo
canvas
Deve ser eliminada
ð Eliminação das entidades fora do volume de visãoð Cálculo do nível de detalhe apropriado
![Page 36: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/36.jpg)
Modelagem do Ambiente Virtual
ComponenteExclusiva
ComponentesCompartilhadas
Componentes Comuns
canvas
Cave
iluminação
Fog
Entidades
Comportamento Descriçãogeométrica
Aparência
Cenário
Observador
ð Componentes exclusivas
ð Componentes compartilhadas
ð Componentes comuns
![Page 37: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/37.jpg)
Implementação do Sistema
![Page 38: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/38.jpg)
Unidades de Visualização (UV)
q Decisões tecnológicas
ð C++
ð Lua
ð OpenGL
ð MLOD
ð IUP
ð CORBA (ORBacus)
ð LuaOrb
![Page 39: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/39.jpg)
AmbienteVirtual
Cenário Observador
CanvasFonte de Luz Entidade GrupoFog
Ambiente
Posicional
Direcional
Spot
Comportamento DescriçãoGeométrica
Aparência
Estática
Cinemática
Oscilatória
Vazia
Mesh Triangular
Vazia
Cor opaca
Material
Textura
Textura Múltiplado tipoNotação: contém 1 contém 1 ou mais está ligado a
......
...
...
Modelagem do Ambiente Virtual
![Page 40: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/40.jpg)
Modelagem do Ambiente Virtual
q Linguagem Lua
ð Sintaxe simples e clara
ð Facilidade de descrição de dados
ð Estruturas de controle tradicionais² Expressões
² Laços
² Declarações condicionais
² Chamadas de função
![Page 41: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/41.jpg)
Modelagem do Ambiente Virtual
Ambiente virtual:
Visualizer{ name = "Visualizer",
scene = scen,
observer = ent1, }
Observador:Observer{ name = "Cave1",
axis_position = Vector {0.0,0.0,0.0},
axis_rotation = Quadruple {0,0,1,0}, }
Canvas:Canvas{ name = "Esquerdo",
distance = 0.07709,
width = 0.0323,
height = 0.023534,
rotation = Quadruple {25.7699, 0, 1, 0},
windowsize_x = 1146,
windowsize_y = 835,
local_rotation_x = 0,
local_rotation_y = -25.7699, }
Cenário / Fog:
scen = Scene{ name = "Scene";
fog = TRUE,
back_color = Vector{0.5, 0.7, 0.3},
fog_color = Vector{0.5, 0.7, 0.3},
fog_start = 150,
fog_end = 1000;
light0, light1,
ent1, ent2, ent3, }
Entidade:
ent1 = Entity{ name = "Hind 1",
shape = shp3,
appearance = app2,
mechanics = sta1, }
Comportamento:sta5 = Static_Mechanic{ name = "Static 5",
position = Vector{-350.0, -5.0, -100.0},
rotation = Quadruple{0,0,1,0}, }
kin1 = Kinematic_Mechanic { name = "Kinematic 1",
position = Vector{7.0, 1.7, 700.0},
rotation = Quadruple{20.0, 0.0, 1.0, 0.0},
linear_speed = Vector{-0.045, 0.0, -0.15},
angular_speed = Vector{0.0, 10.0, 0.0},
actual_time = 0, }
osc2 = Oscillation_Mechanic{ name = "Oscillation 2",
position = Vector{0.0, 6.0, 650.0},
rotation = Quadruple {180,0,1,0},
actual_time = 0,
translation_period = 12,
translation_size = 30,
translation_direction = Vector{1,0,0},
rotation_period = 5,
rotation_size = 100,
rotation_direction = Vector{0,0,1}, }
![Page 42: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/42.jpg)
Modelagem do Ambiente Virtual
Descrição geométrica:
shp1 = MeshPly_Shape{ name = "Hint",
filename = ".\\data\\shapes\\hind.ply",
axis_position = Vector{0,0,0},
axis_rotation = Quadruple{180.0,0.0,-1.0,-1.0},
scale = Vector{0.1,0.1,0.1},
auto_center = TRUE,
lod_criteria = EDGE_LENGTH + LOCAL_CURVATURE +
PRESERVE_BOUNDARY,
bounding_box = FALSE, }
Aparência:app1 = Empty_Appearance{ name = "Transp" }
app2 = Color_Appearance{ name = "Blue",
color = Vector{34/255, 41/255, 65/255}, }
app3 = Material_Appearance{ name = "Steel",
diffuse = Vector{0.5, 0.5, 0.5},
specular = Vector{1.0, 1.0, 1.0},
shininess = 1, }
pp4 = AutoTexture_Appearance{ name = "Sea",
filename = ".\\data\\textures\\mar4.tif",
mipmap = TRUE, }
app5 = Multi_AutoTexture_Appearance{ name= "Sea",
directory =”.\\data\\textures\\sea\\",
mipmap = TRUE, cycle_interval = 0.2,
actual_time = 0, }
Fontes de luz:light0 = Ambient_Light{ name = "Ambient 1",
intensity = Vector{0.1, 0.1, 0.1}, }
light1 = Positional_Light{ name = "Positional 1",
intensity = Vector{0.2, 0.2, 0.2},
position = Vector{0.0, -2.0, 100.0},
entity = ent1, }
light3 = Directional_Light{ name = "Directional 1",
intensity = Vector{0.05, 0.05, 0.05},
direction = Vector{0.0, 1.0, 0.0}, }
Forma proceduralapp1 = autotexture:new(“Textura 1”,
".\\data\\textures\\mar4.tif", TRUE)
shp1 = meshply:new(“Estatica 1”,".\\data\\shapes\\hind.ply",Vector{0,0,0}, Quadruple{180.0, 0.0, -1.0, -1.0},0.1, EDGE_LENGTH + LOCAL_CURVATURE, FALSE)
kin1 = kinematics:new(“Cinematica 1”, Vector{0,0,0},Quadruple{90.0, 0.0, 0.0, 1.0})
kin1:sett(Vector{-0.045, 0.0, -0.15}, 0.0)
kin1:setr(Vector{0.0, 10.0, 0.0}, 0.0)
ent1 = entity:new(“Hind”)
ent1:set(app1)
ent1:set(sta1)
ent1:set(shp1)
![Page 43: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/43.jpg)
Resultados e Testes
![Page 44: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/44.jpg)
Modelagem do Canvas
q Testar se a formulação propostapara o posicionamento do canvasao redor do observador funciona.
z-
x
![Page 45: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/45.jpg)
Sincronismo
q Parâmetro visual
q Realizado através de uma gravação emvídeo
q O ambiente virtual contém um quadradotexturizado
q As texturas que são trocadas a cada 0.2segundos
q Os 48 quadros representam 1.5 segundos degravação.
![Page 46: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/46.jpg)
Desempenho
q Verificar o ganho de desempenho obtido com o uso da técnica de eliminação deentidades e da técnica de mútiplos níveis de detalhe
q Dois pontos de vista diferentes
q Fatores verificados:ð o número de polígonos desenhadosð frame-rate
a) b)
CASO 1
CASO 2
a) b)
Caso Número de Polígonos Frame-rate1a 12197 8.18 fps1b 31.290 3.15 fps
Caso Número de Polígonos Frame-rate2a 3744 26.92 fps2b 31.290 2.73 fps
Resultados
![Page 47: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/47.jpg)
Video
q Teste de modelagem do canvas
q Teste de sicronismoq Visualização de um objeto
q Visualização de terrenoð Posicionamento discreto do observadorð Posicionamento suave do observador
q Cenários diversosð Posicionamento discreto do observadorð Entidades com comportamentos elaborados
q Visualização de terreno real
![Page 48: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/48.jpg)
Conclusão
q Sincronismoq Dead Reckoningq Heterogeneidadeq Estações de trabalho low-endq Portabilidadeq Reusabilidadeq Modelagem de Ambientes Virtuaisq Mapeamento do Ambiente Físico no sistemaq Infra-estrutura de comunicaçãoq Desempenhoq Vários usos potenciais
![Page 49: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/49.jpg)
Trabalhos Futuros
q Testes mais aprofundados com relação a escalabilidade
q Recursos para entrada direta de dados do usuário
q Novos componentes (estímulos auditivos)
q Mecanismo de captura automática da posição do usuário
q Sobreposição da imagem projetada
q DataWall
q Imagens compreensíveis de diferentes pontos de vista
q Visualização em Stereo
![Page 50: UMA ARQUITETURA PARA A VISUALIZAÇÃO DISTRIBUÍDA DE ...webserver2.tecgraf.puc-rio.br/~mgattass/teses/1999DissertacaoAlex... · DISTRIBUÍDA DE AMBIENTES VIRTUAIS ALEXANDRE G. FERREIRA](https://reader031.fdocument.pub/reader031/viewer/2022022700/5bb8f1eb09d3f2cd2f8d596c/html5/thumbnails/50.jpg)