Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.

Slides:



Advertisements
Apresentações semelhantes
Computação Gráfica – Visibilidade
Advertisements

Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez.
Introdução à Computação Gráfica Visibilidade Claudio Esperança Paulo Roma Cavalcanti.
CAPÍTULO 12.1 CADERNO 3 - CAPÍTULO 12.1 Professor: ISRAEL AVEIRO Comportamento e Natureza da Luz.
FENÔMENOS ÓPTICOS Quando um feixe de luz atinge uma superfície de separação entre 2 meios pode ocorrer uma série de fenômenos. Na óptica geométrica os.
Instrutor : Jeferson Lopes de Oliveira Quando olhamos para um objeto, temos a sensação de profundidade e relevo. As partes que estão mais próximas de nós.
Estatística Aplicada. Unidade 2 Representação de Dados Estatísticos (Tabelas)
Computação Gráfica – Visibilidade
GEOMETRIA PLANA - fundamentos
EDIFICAÇÕES - SUBSEQUENTE
Medições – parte I: Precisão.
Espelhos planos e esféricos
Computação Gráfica – Transformações Geométricas
Ordenação dos Elementos de um Vetor - Bubble Sort e Quick Sort .
Dispositivos de Visualização e Rasterização
Resistência dos Materiais
Física Teórica Experimental II Prof. Dr. Alysson Cristiano Beneti
Espelhos esféricos.
Seleção de Atributos.
Fundamentos de Eletricidade
MatMídia UFPa Prof. Marcos Diniz e Profa. Ataíde Lucas Paixão
Teoria Computação Gráfica
Geometria Projetiva PROJEÇÃO ORTOGONAL.
PRISMAS pg. 76.
Corpos Rígidos: Sistemas Equivalentes de Forças
Profa. Msc. Jaqueline Vicente Matsuoka
RESISTÊNCIA DOS MATERIAIS I
Computação Gráfica: Câmera Virtual Prof. Rafael Vieira
O CAMPO ELÉTRICO.
Computação Gráfica: Rasterização Prof. Rafael Vieira
Computação Gráfica: Visibilidade Prof. Rafael Vieira
AULÃO DE MATEMÁTICA TRIGONOMETRIA GEOMETRIA.
Computação Gráfica – Animação
FUNDAMENTO DE PROGRAMAÇÃO
6ª aula PROBLEMA DE TRANSPORTES – Parte 2 UNIDADE 5
VETORES.
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS
Polígonos regulares Professor Neilton.
Óptica Geométrica Lentes delgadas
Aplicações adicionais da derivada
ÓPTICA Prof. Roberto Salgado Plantaodematematica.weebly.com
ESTÁTICA Introdução às Estruturas Ano Lectivo
Aplicações adicionais da derivada
ÓPTICA GEOMÉTRICA Espelhos planos
Movimento Retilíneo Uniforme Movimento Retilíneo Variado Vetores
Aulas 17 e 18 Limites, limites laterais, limites infinitos, assíntota vertical e propriedades do limite.
Filtros no Domínio Espacial e da Frequência
Aula 07 – Matemática II – Agronomia Prof. Danilene Donin Berticelli
Interpretação de Imagens com CSP
O que você deve saber sobre
ÓPTICA GEOMÉTRICA Espelhos esféricos
ÓPTICA GEOMÉTRICA Espelhos planos
ÓPTICA GEOMÉTRICA Espelhos esféricos
1ª Lei da Reflexão Regular
Espelhos Esféricos Calota esférica Face côncava Face convexa.
Resolução de Problemas por Busca
Dispositivos de Visualização e Rasterização
Isometrias Reflexão, translação e rotação Composição de isometrias.
AULA 4 ESTATÍSTICA DANIEL PÁDUA.
Exercício 1 H H = 45m
Mestrado Profissional em Física Médica
PROJEÇÕES.
Desenho Aplicado à Automação e Controle
ESPELHOS ESFÉRICOS.
ÓPTICA GEOMÉTRICA Espelhos planos
O que você deve saber sobre
Espelhos Esféricos Prof. Luciano Soares Pedroso.
Constantes, Variáveis e Memória
Transcrição da apresentação:

Computação Gráfica – Visibilidade Profa. Mercedes Gonzales Márquez

Tópicos Visibilidade Algoritmos de Visibilidade

O sistema de visão humana usa vários recursos para perceber a profundidade. Um deles é a oclusão de objetos, ou seja, objetos mais distantes em relação a um observador ao longo de um raio de visão são escondidos pelos objetos opacos mais próximos. Visibilidade

(a) Objetos rotacionados em um ângulo de 90 graus no eixo y (azul tem menor profundidade). (b) Visualização incorreta (c) Visualização correta

Visibilidade Na Figura, a superfície SA é visível em relação ao observador e as outras ficam escondidas, em inglês hidden.

A essência dos algoritmos de visibilidade é muito simples: Remover as partes que “não devem ser vistas” pelo computador. Problema de Visibilidade

São classificados em três grupos: (a) técnicas baseadas em espaço de imagem, (b) técnicas baseadas em espaço do objeto ou da cena e (c) técnicas mistas. Algoritmos de Visibilidade

As técnicas baseadas no espaço de imagem tem resolução a nível de pixels. As baseadas em espaço da cena tem resolução a nível do espaço de representação das figuras geométricas. Algoritmos de Visibilidade

Alguns métodos: – Detecção das faces de trás (back-face culling) - Técnica baseada no espaço da cena. – Depth-buffer (z-buffer) – Técnica baseada no espaço da imagem. – Painter’s algorithm (Algoritmo do Pintor) - Técnica baseada no espaço da cena. Algoritmos de Visibilidade

Backface Culling (Escolha das faces de trás) As faces cujas normais estão na direcção contrária ao observador não são visíveis (faces de trás). Elas estão numa parte cuja visibilidade e bloqueada por outras faces mais próximas ao observador. E Usa-se o conceito de vetor normal da face apontando para fora do volume. Faces não visíveis

Backface Culling Este método pode ser aplicado em um único poliedro convexo fechado na cena. Não pode ser aplicado : - Em poliedros côncavos - ou quando existem mais objetos (Por simplicidade estamos mostrando nas ilustrações polígonos no lugar de poliedros).

Backface Culling Observe o poliedro côncavo da figura. Veja que a face pintada de vermelho tem vetor normal na mesma direção do observador e portanto o algoritmo considera erradamente como face visível ou face da frente. E

Backface Culling Como determinar se a face é da frente ou visível? Face da frente – o ângulo θ formado pelo vetor da linha de vista E e o vetor normal N é menor ou igual a 90 o Face da frente – o ângulo θ formado pelo vetor da linha de vista E e o vetor normal N é menor ou igual a 90 o

Backface Culling Resumindo – E.N ≥ O → Face da frente – E.N < O → Face de trás ou E.N ≥ O

Backface Culling Como determinar o vetor normal n da face com pontos P1, P2 e P3? P3 P2 P1 n

Backface Culling Veja o programa visibilidade.c no qual cada vez que um cubo é rotacionado são exibidas somente as faces visíveis detectadas pelo algoritmo backface culling. Responda as seguintes perguntas: – Como são construídas as faces do cubo? – Como são feitas as rotações do cubo, porquê não é usado glRotatef? – Qual é o trecho de código que determina os vetores normais das faces do cubo? – Qual é o trecho de código que determina o vetor da direção de vista. Qual é a posição do observador? – Mude a posição do observador para cima do cubo e para um lado do cubo e observe os novos resultados de visibilidade. – Transforme o cubo em um poliedro côncavo e mostre a falha do algoritmo para este tipo de geometria.

Z-Buffer Método que opera no espaço da imagem. Ele consiste em colorir cada pixel com a cor da face que estiver mais próxima do observador (menor profundidade). Mantém para cada pixel um valor de profundidade (z-buffer ou depth buffer) Ao início fazemos:  z-buffer = profundidade máxima  Buffer de cor = cor de fundo Durante a rasterização de cada polígono, cada pixel passa por um teste de profundidade  Se a profundidade do pixel for menor que a registrada no z-buffer Pintar o pixel (atualizar o buffer de cor)‏ Atualizar o buffer de profundidade  Caso contrário, ignorar

Z-Buffer Exemplo 1 2 polígonos e o Buffer Profundidade Exemplo 2 4 polígonos e o Buffer de cor

Z-Buffer OpenGL:  Habilitar o z-buffer: glEnable (GL_DEPTH_TEST);  Não esquecer de alocar o z-buffer → GLUT_DEPTH Número de bits por pixel depende de implementação / disponibilidade de memória  Ao gerar um novo quadro, limpar também o z-buffer: glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT)‏  Ordem imposta pelo teste de profundidade pode ser alterada glDepthFunc(…)‏ Veja os exemplos em OpenGL: hidplanes.c, planes.c e triangles.c

Z-Buffer Exercícios: (1) Desenhe com polígonos (faces) o seguinte cenário mostrado na vista frontal e vista de topo. Aplique as duas técnicas de visibilidade (z-buffer e back face culling) e discuta os resultados visuais após observar o cenário de vários pontos de vista.

Algoritmo do Pintor Também conhecido como algoritmo de prioridade em Z (depth priority)‏ Idéia é pintar objetos mais distantes (background) antes de pintar objetos próximos (foreground)‏ Técnica de pintores : as montanhas distantes foram pintadas em primeiro lugar, o gramado mais próximo foi adicionado e, finalmente, as árvores foram acrescidas.

Algoritmo do Pintor Basicamente, o procedimento envolve três passos: 1. ordenar, de forma decrescente, os polígonos pelas distâncias, ou profundidades, em relação ao observador; 2. resolver as ambiguidades na ordenação, dividindo os polígonos; e 3. desenhar na memória de exibição os polígonos, dos mais distantes para os mais próximos, sendo os valores gravados anteriormente sempre sobrescritos pelos novos valores.

Algoritmo do Pintor Exemplo de Ambiguidade na ordenação: (a) Sobreposição cíclica; (b) solução (a) (b)