Um Algoritmo para a Visualização de um Terreno com Objetos

Documentos relacionados
Resumo. Ray Tracing. Introdução. Ray Casting Básico. Idéia

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas

Resumo. Computação Gráfica: Uma Proposta de Plano Pedagógico. Áreas Correlatas. Definição. Uma Visão Integrada da C.G.

Introdução à Computação Gráfica. Claudio Esperança Paulo Roma Cavalcanti

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

Computação Gráfica Introdução

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Processamento Digital de Imagens

Processamento Digital de Imagens

Pipeline de Visualização 3D

Computação Gráfica. Prof. MSc. André Yoshimi Kusumoto

2 Algoritmos de Visibilidade

Objetos definidos no seu próprio sistema de coordenadas

Introdução ao Processamento Gráfico

Lista de exercícios. 4) Defina o conceito de função de eficiência luminosa. (Victor)

Modelagem Numérica de Terreno: Teoria & Prática

Motivação Por que estudar?

Geração Procedural de Terrenos em GPU

Instituto de Computação Bacharelado em Ciência da Computação Disciplina: Computação Gráfica Primeira lista de exercícios

Modelagem Numérica do Terreno. Prof. Maria Isabel C. de Freitas Adaptado de INPE - DPI

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS. Divisão de Sensoriamento Remoto. Geoprocessamento

CIV2802 Sistemas Gráficos para Engenharia

Visibilidade. Licenciatura em Engenharia Informática e de Computadores Computação Gráfica. Edward Angel, Cap. 7 Apontamentos CG

Otávio de Pinho Forin Braga. Uma Arquitetura para Síntese de Imagens Fotorrealistas baseada em Técnicas de Monte Carlo DISSERTAÇÃO DE MESTRADO

Remoção de Superfícies Escondidas

A terceira dimensão. A terceira dimensão. Modelagem tridimensional. A terceira dimensão Wilson de Pádua Paula Filho

INSTITUTO NACIONAL DE PESQUISAS ESPACIAIS PROGRAMA DE PÓS-GRADUAÇÃO EM SENSORIAMENTO REMOTO DIVISÃO DE PROCESSAMENTO DE IMAGENS

Professor: Computação Gráfica I. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

Imagem e Gráficos. vetorial ou raster?

O principal objetivo do estímulo visual, tanto em RV quanto em RA é fornecer ao usuário a sensação de tridimensionalidade.

Computação Gráfica. Visão Geral, conceitos básicos e terminologia Professora Sheila Cáceres

Imagem ou Desenhos e Gráficos vetorial ou raster?

O que é? Como funciona?

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Computação Gráfica e Áreas Correlatas

10 Visualização em 3D - Projeções

ESTRUTURA DE DADOS. Arvore Binária Jose. Arvore Ternaria Direção

Introdução à Computação Gráfica

Computação Gráfica. Computação Gráfica. Visão Geral. Sistema Gráfico. Introdução à Computação Gráfica e areas relacionadas

Projeções paralelas. Professor: João Carmo

Visualização Volumétrica com Otimizações de Ray Casting e Detecção de Bordas

Modelagem Geométrica. André Tavares da Silva. Capítulo 12 do Foley Capítulo 4 de Azevedo e Conci Capítulo 11 de Mortenson

SISTEMAS DE INFORMAÇÕES GEOGRÁFICAS Aula 5. SIG- Eng. Cartográfica Prof. Luciene Delazari

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003

4 Impostores com Relevo

Computação Gráfica. Introdução: Histórico e Conceito. Prof. Márcio Bueno {cgtarde,

MNT: MODELAGEM NUMÉRICA DE TERRENOS

As comunicações à distância estão crescendo consideravelmente pelo uso de aplicações através da Internet e de ambientes virtuais, tais como:

Análise de imagens pulmonares. Paulo Cezar Pinto Carvalho IMPA

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 1. Apresentação

António Costa. Paulo Roma Cavalcanti

Rendering de Polígonos. Determinação de Superfícies Visíveis. Back Face Culling. Back Face Culling. Back Face Culling. Back Face Culling.

Visualização em 3-D - Projeções Planares

Transcrição:

Um Algoritmo para a Visualização de um Terreno com Objetos Flávio Szenberg Orientador: Marcelo Gattass Co-orientador: Paulo Cezar Pinto Carvalho

Roteiro Motivação e objetivo da tese Trabalhos relacionados Algoritmo de Horizonte Flutuante Estendido Exemplos Conclusões e trabalhos futuros

Motivação

Modelo Matemático Mapa de Alturas Gráfico de uma função de duas variáveis F: Ω R 2 ( x, y) R z

Modelo Matemático (cont.) Mapas de alturas representam apenas a geometria dos terrenos. Para fins de visualização, é necessário associar a cada ponto do terreno informações relativas à sua cor (por( exemplo, componentes RGB) Mapa de cores

Representação computacional Discretização Regular Irregular

Discretização Regular Estrutura já embutida na descrição da grade. Fornece descrição volumétrica. Tipicamente envolve grande volume de dados. Formato mais comum.

Exemplo mapa de alturas mapa de cores

Objetivo da tese Um algoritmo eficiente de visualização interativa de terrenos com objetos.

Visualização interativa Tempo para geração de imagem da ordem de 0,1 seg. Aplicações Jogos; Simuladores de vôo; Sistemas Geográficos de Informações. Interatividade vs.. qualidade da imagem.

Algoritmos de Visualização Devem ser adequados à representação utilizada. Para discretização regular: baseados em objeto (por( ex.: Z-Buffer Buffer); baseados em imagem (por( ex.: ray casting).

Visualização com discretização regular usando Z-Buffer Exige uma representação dos voxels: a. pontos no topo; b. segmentos de retas; c. planos de topo; d. Triangulação dos topos; e. seção perpendicular vertical; f. faces do cubo Alto número de objetos a serem projetados. Fácil integração com objetos.

Imagens e tempos a b PC - 1,6 s SGI - 1,2 s PC - 2,3 s SGI - 2,2 s

Imagens e tempos (cont.) c d PC - 3,5 s SGI - 2,0 s PC - 2,9 s SGI - 1,7 s

Imagens e tempos (cont.) e f PC - 4,2 s SGI - 2,1 s PC - 14,2 s SGI - 6,2 s

Visualização interativa com discretização regular Representação regular favorece visualização via ray casting. Algoritmo genérico para gerar imagem mxm de um terreno nxn: : complexidade O(m 2 n). Para terrenos, com câmera vertical Algoritmo de horizonte flutuante: complexidade O(( ((m+n)m).).

Trabalhos Relacionados Cohen-Or Or,, D. et al. A Real-Time Photo- Realistic Visual Flythrough. Cohen,, D. et al. Photorealistic Terrain Imaging and Flight Simulation. Graf,, K. Ch.. et al. Perspective Terrain Visualization - A Fusion of Remote Sensing, GIS, and Computer Graphics.

Algoritmo de Horizonte Flutuante Raios correspondentes a uma mesma coluna da imagem estão contidos em um plano vertical. Processamento sincronizado da coluna da imagem e das colunas de voxels correspondentes: Se um raio não intersecta uma dada coluna de voxels,, nenhum raio subseqüente o faz. Complexidade O(m+n) por coluna da imagem.

z m y m Posição Particular da Câmera A visibilidade dos pixels de uma coluna da tela é determinada apenas pelos voxels que são interceptados pelo plano que contém o eye e a coluna em questão. x m

Visibilidade das Colunas do Terreno por Horizonte Flutuante obs d pr Plano de Visão A altura relativa a um pixel da tela varia ao longo do raio. Vista de lado h obs m 0 1 incl O valor inicial é o que corresponde ao pixel mais baixo da tela. z 0 0 1 2 i z = h obs - incl raio k m = incl / d pr Faça i variar de 1 até o fim do mapa z = z - m Enquanto (h i > z) faça pinta o pixel (k, j) atualiza m atualiza z

Terrenos com objetos Objetos: edificações, linhas de transmissão, etc. Uma alternativa: Representar objetos volumetricamente e adicioná-los ao terreno (Cohen( et al.). Desvantagens: Pode não ser a representação natural para os objetos; Requer objetos que sejam representáveis pelos mapas de alturas e cores.

Terrenos com objetos (cont.) Solução proposta Integração com sistemas gráficos usuais (OpenGL, por exemplo); Usar horizonte flutuante para produzir textura e profundidade relativas ao terreno (carregar color buffer e depth buffer); Processar objetos, atualizando os buffers produzidos no passo anterior.

Solução Proposta - Esquema Mapa de Altura Mapa de Cores Horizonte Flutuante Buffer de Cor Buffer de Profundidade OpenGL Objetos Resultado: Terreno + Objetos

Câmera Frustum de visão y e h l Plano de projeção t z e w b r Ponto de Referência x e z e=-n z e= -f

l nc i Câmera (cont.) l w r Vista de lado t visão y e θ 1 z e visão h z e x e Vista de Cima 1 b l = tan θ 2 r = tan θ 2 θ 2 tan incl b = 2 w θ 2 tan t = 2 w ( incl + h) n = 1 f = ( fatia_ máxima)

-z i -z e (visão) Cálculo de Profundidade Vista de cima x e i=n raio i Neste trabalho: n = 1 f = num. de fatias i=n+1 i=n+2 i prof i = f f f i n n

Imagens obtidas (Dados do terreno gerado pelo VistaPro)

Imagens obtidas (cont.) (Visualização de São José dos Campos)

Imagens obtidas (cont.) (Visualização de um terreno xadrez)

Resultados obtidos Ponto Fixo (Pentium 166, SGI Indigo2, imagem 320x200, terreno 512x512) Terreno com objetos Terreno sem objetos PC SGI PC SGI Passos no Algoritmo t(s) t(%) t(s) t(%) t(s) t(%) t(s) t(%) Horizonte Flutuante 0,05 23 0,18 51 0,04 50 0,13 76 Carga de Z-Buffer 0,11 50 0,11 31 - - - - Carga do Buffer de cores 0,04 18 0,04 12 0,04 50 0,04 24 Objetos 0,02 9 0,02 6 - - - - Tempo total 0,22 100 0,35 100 0,08 100 0,17 100 Quadros/seg. 4,6 3,0 14,1 5,9 Z-Buffer < 1 quadro por segundo

Resultados obtidos (cont.) Ponto Flutuante (Pentium 166, SGI Indigo2, imagem 320x200, terreno 512x512) Terreno com objetos Terreno sem objetos PC SGI PC SGI Passos no Algoritmo t(s) t(%) t(s) t(%) t(s) t(%) t(s) t(%) Horizonte Flutuante 0,11 39 0,22 57 0,10 71 0,21 84 Carga de Z-Buffer 0,11 39 0,11 28 - - - - Carga do Buffer de cores 0,04 15 0,04 10 0,04 29 0,04 16 Objetos 0,02 9 0,02 5 - - - - Tempo total 0,28 100 0,39 100 0,14 100 0,25 100 Quadros/seg. 3,7 2,8 7,2 4,2

Aperfeiçoamentos Aumento do número de fatias (maior amostragem) visão Vista de cima região contínua na projeção com uma só cor região vazia entre fatias

Aperfeiçoamentos (cont.) Resultado do aumento do número de fatias (2x) visão Vista de cima

Aperfeiçoamentos (cont.) Divisão dos Voxels Voxel[i][j] j+1 j+1 v j i i+1 j i i+1 inf v =p 1 x inf[i][j] + p2 x inf[i+1][j] + p3 x inf[i+1][j+1] + p4 x inf[i][j+1]

Imagens obtidas com aperfeiçoamentos 9 x fatias 0,78 q/s Aperfeiçoamento: maior amostragem

Imagens obtidas com aperfeiçoamentos (cont.) 8x8 sub-voxel 1,23 q/s Aperfeiçoamento: sub-voxel

Imagens obtidas com aperfeiçoamentos (cont.) 9 x fatias 8x8 sub-voxel 0,20 q/s Aperfeiçoamento: híbrido (maior amostragem + sub-voxel)

Imagens obtidas com aperfeiçoamentos (cont.) 9 x fatias 0,91 q/s Aperfeiçoamento: maior amostragem

Imagens obtidas com aperfeiçoamentos (cont.) 9 x fatias 8x8 sub-voxel 0,23 q/s Aperfeiçoamento: híbrido (maior amostragem + sub-voxel)

Imagens obtidas com aperfeiçoamentos (cont.) Aperfeiçoamento: maior amostragem

Imagens obtidas com aperfeiçoamentos (cont.)

Imagens obtidas com aperfeiçoamentos (cont.) (somente terreno - capa do SIBGRAPI 97)

Conclusões Uso de técnica específica para terrenos; Cálculo de profundidades não influiu na perfórmance; Problema com a função gldrawpixels; Utilização de notação de ponto fixo para melhor eficiência.

Trabalhos futuros Iluminação do terreno; Multi-resolução; Maior liberdade da câmera.