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

Documentos relacionados
Computação Gráfica - 09

Introdução ao Processamento e Síntese de imagens - Preenchimento de Polígonos

Características Principais. Introdução à Computação Gráfica Ray Tracing. Ray Casting. Contexto Histórico. Claudio Esperança Paulo Roma Cavalcanti

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

Departamento de Matemática

O Problema de Visibilidade. Computação Gráfica Recorte. Onde Acontece? O que é Recorte? Renato Ferreira

Computação Gráfica. Representação e Modelagem

INF 1366 Computação Gráfica Interativa. Anti-Aliasing; Eliminação de Superfícies Escondidas. Alberto B. Raposo

Pipeline de Visualização 3D

Transformações 3D. Soraia Raupp Musse

Visibilidade. Apontamentos CG + Edward Angel, Sec Instituto Superior Técnico Computação Gráfica 2009/2010

Leandro Paganotti Brazil Rosane Minghim Computação Gráfica ICMC USP

Computação Gráfica - 12

Exame Tipo Computação Gráfica

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

Algoritmos de Visibilidade. Computação Gráfica Visibilidade. Backface Culling. Outras abordagens. Renato Ferreira

Histórico. Estado da Arte. Histórico. Modelagem de Objetos. Modelagem por arames (wireframes). Modelagem por superfícies (década de 60).

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

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

Transformações de Visualização 2D: Clipping. Antonio L. Bajuelos Departamento de Matemática Universidade de Aveiro

MAP2110 Matemática e Modelagem

Introdução. 1 Introdução

SCE-201 Computação Gráfica. Representação de Objetos Tridimensionais Modelos Poligonais

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

aula 9 IC/UFF

1. Encontre as equações simétricas e paramétricas da reta que:

Modelo. Representação de Objetos Tridimensionais. Malhas Poligonais. Modelagem Geométrica. Modelos Geométricos

Geometria Analítica. Estudo do Plano. Prof Marcelo Maraschin de Souza

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

Visualização por Computador: Teoria, Prática e Aplicações

4 Impostores com Relevo

Recorte. Márcio Bueno Fonte: Material do Prof. Claudio Esperança e do Prof. Paulo Roma Cavalcanti

Geometria Descritiva Básica (Versão preliminar)

Aula 31 Funções vetoriais de uma variável real

Curvas e Superfícies. Profª Soraia Raupp Musse

Imagem e Gráficos. vetorial ou raster?

VISUALIZAÇÃO. Representação (bidimensional) de Objetos (tridimensionais)

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

Geometria Computacional

António Costa. Paulo Roma Cavalcanti

Poliedros 1 ARESTAS FACES VERTICES. Figura 1.1: Elementos de um poliedro

Aula Distância entre duas retas paralelas no espaço. Definição 1. Exemplo 1

6.1 equações canônicas de círculos e esferas

3D no OpenGL. Visualização e Transformações Perspectiva. Transformações do Modelview. Processo

Introdução. Motivação Silhuetas são um importante instrumento para análise e visualização de dados.

PERSPECTIVA ISOMÉTRICA:

Modelos de Objetos por Malhas Poligonais. Maria Cristina F. de Oliveira

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

III REPRESENTAÇÃO DO PLANO. 1. Representação do plano Um plano pode ser determinado por: a) três pontos não colineares

Cilindros projetantes de uma curva

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

O que é? Como funciona?

Computação Gráfica Transformações Projetivas

Triangulação Mapeamento em Viewport Modelação Geométrica

2º Exame de Computação Gráfica

GA - Retas no espaço euclidiano tridimensional

Algoritmos geométricos

SUMÁRIO. Fundamentos Árvores Binárias Árvores Binárias de Busca

Lista de Exercícios de Cálculo 3 Primeira Semana

01. Determinar as equações da reta que passa pelo ponto A( 2, 3, 2) e tem a. = 2x. v são: b c

Imagem Vetorial x Imagem Matricial. Conversão Matricial de Primitivas Gráficas. Sistema de Coordenadas do Dispositivo. Problema

Professor: Anselmo Montenegro Conteúdo (aula 7): - Noções de estruturas de dados topológicas. Instituto de Computação - UFF

Universidade Estadual de Mato Grosso do Sul Bacharelado em Ciência da Computação Algoritmos e Estruturas de Dados II Prof. Fabrício Sérgio de Paula

Em cada caso, estamos interessados em achar a menor distância possível, por exemplo, de um dado ponto a cada ponto de um plano fixo.

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

Desenho Auxiliado por Computador

Metas/Objetivos Descritores/Conteúdos Aulas previstas

Prof. Regis de Castro Ferreira

6. Calcular as equações paramétricas de uma reta s que passa pelo ponto A(1, 1, 1) e é ortogonal x 2

4. Superfícies e sólidos geométricos

Terceiro Trabalho Ray Tracing

Modelagem de Objetos. Soraia Musse

Geometria Analítica. Estudo da Reta. Prof Marcelo Maraschin de Souza

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

Modelação de Formas Geométricas

Algoritmos de Recorte em 2D

Computação Gráfica Introdução

Geometria Descritiva 28/08/2012. Elementos Primitivos da Geometria

Geometria Computacional: Fecho convexo

VISUALIZAÇÃO EM 3D. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

1. as equações paramétricas da reta que contém os pontos A e B;

Fundamentos e Conceitos Básicos

Modelos Globais de Iluminação

ÁRVORES E ÁRVORE BINÁRIA DE BUSCA

Prof. Fernando Carneiro Rio de Janeiro, Outubro de 2015

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

UNIVERSIDADE ESTADUAL DE SANTA CRUZ UESC. 1 a Avaliação escrita de Cálculo IV Professor: Afonso Henriques Data: 10/04/2008

Projeções. Prof. Márcio Bueno

Objetos Gráficos Espaciais

3.4. Determine o(s) ponto(s) da curva x =cost, y =sent, z =sen(t/2) mais distante(s) da origem.

2 Uma caixa d'água cúbica, de volume máximo, deve ser colocada entre o telhado e a laje de uma casa, conforme mostra a figura ao lado.

4. Curvas Paramétricas e Transformações 2D

Equações paramétricas das cônicas

Interval Trees, Priority Search Trees, Segment Trees. João Comba. Pesquisas intervalares sobre segmentos de reta

Curvas e Superfícies

Motivação Por que estudar?

3. Achar a equação da esfera definida pelas seguintes condições: centro C( 4, 2, 3) e tangente ao plano π : x y 2z + 7 = 0.

Projeções de entidades geométricas elementares condicionadas por relações de pertença (incidência) 8

Neste capítulo, definimos o problema que estudamos e descrevemos os principais algoritmos

Transcrição:

Introdução ao Processamento e Síntese de imagens -Linhas e superfícies escondidas Júlio Kiyoshi Hasegawa 26 Fontes: Rogers, D. F. Procedural Elements for Computer Graphics

Introdução Linhas e superfícies escondidas/ocultas Algoritmos que determinam linhas, arestas, superfícies ou volumes que são visíveis ou invisíveis a um observador num determinado ponto. depende do ponto de vista.

Introdução Linhas e superfícies escondidas/ocultas A visualização wire frame de um objeto 3D pode ser ambígua, nem sempre permitindo a clara identificação de qual face está na frente de outra. Os algoritmos de Remoção de Linhas Escondidas (hidden line) procuram eliminar esta ambigüidade, removendo as linhas que se encontram escondidas por outras faces Fonte: Ting e Martino - 29

Introdução Linhas e superfícies escondidas/ocultas Os algoritmos de Remoção de Superfícies Escondidas (hidden surface) procuram remover faces que se encontram atrás de outras. Fonte: Ting e Martino - 29

Introdução Linhas e superfícies escondidas/ocultas Exemplo de visualização

Algoritmos podem ser classificados em dois modos: os que são implementados no sistema de coordenadas real, são + precisos. Os que são implementados no espaço imagem, menor precisão. Custo computacional: o caso: se há n objetos faz n 2 comparações. 2 o caso: faz nn comparações, onde n número de objetos e N é o número de pixels. 2 o caso é menos trabalhoso que o o caso se: n < N Introdução

Introdução Condição que quase sempre isto não ocorre, poisgeralmente(n=52 2 ). Mas, na prática, geralmente, as implementações são realizadas no espaço imagem a fim de aproveitar as facilidades das coerências no modo raster.

Descrição Geométrica Superfícies paramétricas (funções matemáticas)

Floating Horizon Algorithm: Funções paramétricas converteoproblema3dem2d, usa função F(x, y, z) = ; O algoritmo é relativamente fácil de ser implementado, bastando gerar um vetor com tamanho da janela de visualização (denominado de Floating Horizon). Implementado, no espaço imagem; interceptando a superfície ou linhas com uma série de planos paralelos em constantes valores de x, y e z. F(x, y, z) y = f(x,z) ou x = f(y,z)

Floating Horizon Algorithm: Funções paramétricas Algoritmo (p/ z = cte + próximo do obs.) Acurvaserávisívelparaumdadovalordex se o y calculado é maior que y anterior calculado no ponto x(para o plano anterior).

Floating Horizon Algorithm: Vetor auxiliar Y Z Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y X Y = f(x, Z) Z 2 Y Z Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 Y 2 X Y = f(x, Z)

Floating Horizon Algorithm: Vetor auxiliar Z 3 Y Z 2 Z Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 X Y = f(x, Z)

Floating Horizon Algorithm: Vetor auxiliar Z 4 Y Z 2 Z 3 Z Y 4 Y 4 Y 4 Y 4 Y 4 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 3 Y 4 Y 4 Y 4 Y 4 Y 4 Y 4 Y 4 X Y = f(x, Z)

Floating Horizon Algorithm: Vetor auxiliar Z 5 Z 4 Z 3 Y Z 2 Z Y 5 Y 5 Y 5 Y 5 Y 5 Y 5 Y 3 Y 3 Y 3 Y 3 Y 5 Y 5 Y 5 Y 5 Y 5 Y 5 Y 5 Y 5 Y 5 X Y = f(x, Z)

Floating Horizon Algorithm: Funções paramétricas O algoritmo tem problema, na depressão da curva. Coord. z menor em relação as anteriores. Neste caso o algoritmo declara como invisível a extensão da curva, que é visível, que está abaixo das outras. Um vetor de dimensão igual a resolução da dimensão x é gerado para armazenar o valor mínimodeyparacadapontox.

Floating Horizon Algorithm: Funções paramétricas Assim o algoritmo tem a seguinte característica: O procedimento adotado no caso anterior. O teste deve ser realizado verificando os limites superior e inferior no ponto analisado armazenando os extremos nos vetores. A implementação é realizada usando um segundo vetor igual a resolução da imagem (x).

Floating Horizon Algorithm: 2 Vetores auxiliares

Floating Horizon Algorithm: 2 Vetores auxiliares

Floating Horizon Algorithm: 2 Vetores auxiliares

Representações B-rep Descrição Geométrica

Equação do plano e normal ao plano Eliminar as superfícies escondidas: Produto interno - Vetor observação (V) com o vetor normal (N) à superfície. N θ V Equação do plano: ax + by + cz + d = a b c d [ x y z ] = Vetor normal ao plano: n cos( θ ) = N V N V = ai + bj + ck

Utilizando três pontos: a x + b y + c z = d = -(a x + b y + c z) Técnica de Newell: sen : ) )( ( ) )( ( ) )( ( + = = = + = + = + = = = = i j ão j então n sei onde y y x x c x x z z b z z y y a n i j i j i n i j i j i n i j i j i Equação do plano e normal ao plano Métodos Alternativos:

Equação do plano e normal ao plano-exemplo (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) (,,) Posição do observador (.5,-.,.) Posição do observador (.5,-.,.) (,,) (,,) Faces visíveis? Frontal; 2 Lateral direita; Faces visíveis? 3 Lateral Frontal; esquerda; 4 2 Inferior; Lateral direita; 5 Superior; 3 Lateral esquerda; 6 Posterior. 4 Inferior; 5 Superior; 6 Posterior.

Face : Vetor Normal sentido horário sen : ) )( ( ) )( ( ) )( ( + = = = + = + = + = = = = i j ão j então n sei onde y y x x c x x z z b z z y y a n i j i j i n i j i j i n i j i j i = d c b a b = (-)(+) + ( -)(+)+(-)(+)+(-)(+) = 2 Face : Vetor Normal sentido anti-horário b = (-)(+) + ( -)(+)+(-)(+)+(-)(+) = -2 = d c b a Equação do plano e normal ao plano-exemplo

n Observador l α Superfície é visível se: n l cos( α) = > nl

Algoritmo de Visibilidade por Prioridade ou Algoritmo do Pintor se um objeto A bloqueia a visão de um objeto B e ambos os objetos encontram-se na mesma linha de visão do observador, então o objeto B está mais distante do observador que o objeto A, é possível criar um algoritmo que calcule a distância dos objetos ao observador, e que dê prioridade à visualização dos objetos mais próximos ao observador -(GomeseVelho,28)

Algoritmo de Visibilidade por Prioridade ou Algoritmo do Pintor Algoritmo (Gomes e Velho, 28): Calcula-se a distância ao observador de todas as faces poligonais; Ordenam-se todos os polígonos pelo valor da sua distância ao observador; Resolvem-se as ambigüidades nos casos em que as distâncias entre o observador e dois polígonos forem iguais (verificando se ocupam as mesmas posições rasterizadas ou não); Desenham-se primeiro os polígonos que tiverem mais distantes ao observador.

Algoritmo de Visibilidade por Prioridade ou Algoritmo do Pintor Problemas na ordenação de faces e linhas. Solução: subdividi-las segundo uma interseção. Faces segundo as linhas de interseção Linhas segundo o ponto de interseção Criam-se novos objetos faces ou linhas

Algoritmo Z-Buffer (Superfícies Escondidas) O algoritmo Z-Buffer define uma estratégia para a eliminação de superfícies escondidas de fácil implementação em hardware. O Z-Buffer é uma extensão do Frame buffer. O Frame buffer é uma memória que contém para cada pixel o valor de sua cor/intensidade. O Z-Buffer, além do valor da cor/intensidade, permite o armazenamento também da informação de profundidade (distância ao observador localizado no eixo Z) do elemento visível naquele pixel. Fonte: Ting e Martino - 29

Remoção de Superfícies Escondidas Z-Buffer

Remoção de Superfícies Escondidas Z-Buffer buffer de profundidade :» ) inicia com Y= (plano de fundo da cena) para todos os pixels» 2) inicia com,, (cor de fundo) todas as cores RGB» 3) os polígonos são projetados no plano de projeção, se o pixel tiver um z maior ou igual que o do buffer então substitui no z- buffer» 4) o maior valor de z que pode ser armazenado é o do plano da frente (projeção)» 5) depois de percorrer todos os objetos (em qualquer ordem), mostrar o z-buffer na tela

Remoção de Superfícies Escondidas Observação finais: Vantagens:» Simplicidade - fácil implementação em hardware.» Trata interseções complexas.» Não há limitação à complexidade da cena.» Não há necessidade de ordenação. Desvantagens:» Tamanho da memória.» Não trata transparência.» Força bruta -não é aconselhável a implementação em software. Fonte: Ting e Martino - 29

Algoritmo de Warnock- subdivisão Baseia-se em como o olho/cérebro humano processa informações contidas em uma cena Exemplo: Mesa com uma fruteira Área de interesse se estreita, nível de detalhes aumenta. Se determinada questão não pode ser respondida em um nível particular, ela é temporariamente colocada de lado para futuras considerações.

Subdivisão Algoritmo Warnock Algoritmo de subdivisão recursiva Faz uma subdivisão da tela virtual utilizando estrutura quadtree Linha escondida/oculta: sub-divisão pixel pertence à aresta do polígono pintar com a cor do polígono (verificação pela profundidade). Superfície escondida/oculta pixel é envolto pelo polígono pixel é pintado como cor do polígono

Algoritmo de Warnock Vantagens: Não ocorre overrendering Bom anti-aliasing: basta fazer mais uma subdivisão para obter informação de subpixel Desvantagem: Testes são complexos e lentos Casos na imagem acima: ) Um polígono à frente 2) Vazia 3) Um polígono dentro, ao redor ou cortando a área

Representação em árvore Nó ativo indicado pela linha mais grossa

Descrição Geométrica Modelos implícitos CSG (Constructive Solid Geometry)

Traçado de raios Dado um conjunto finito de objetos O, O 2,...,O n do espaço euclidiano e um vetor v, determinar, se existir, o ponto de interseção de v com os objetos que está mais próximo da origem do vetor (Gomese Velho, 28) Vetor v vetor (raio) de visão Vetor v definido pelo centro de projeção e pelo centro de cada pixel.

Traçado de raios Calcula-se a interseção do vetor v com todos os objetos da cena seleciona-se o mais próximo da câmara. - Interseção tem alto custo computacional

Traçado de raios em modelos CSG Raio é modelado como uma reta em forma paramétrica:r(t)=p +t(p P )=P +t Calcula-se para quais valores do parâmetro t a reta intercepta o objeto Fonte: (Esperança e Cavalcanti. Introdução à Computação Gráfica Ray Tracing) http://www.google.com.br/search?q=tra%c3%a7ado+de+raios+em+modelos+csg&hl=pt-br&ei=pz_ztosnmch98abvsiz4ca&start=&sa=n Introdução ao processamento e síntese de imagens (9//2) Júlio Kiyoshi Hasegawa

Exemplo: Interseção com Esfera Esfera de raio centrada na origem: x 2 + y 2 + z 2 = Raio parametrizado como: [V x t+p x V y t+p y V z t+p z ] T Logo, (V x t+p x ) 2 +(V y t+p y ) 2 +(V z t+p z ) 2 -= ou at 2 + bt+ c = onde a = V 2 x +V 2 y + V 2 z b = 2 (V x P x + V y P y + V z P z ) c = P 2 x +P 2 y + P 2 z Seja Δ= b 2 4 ac, então t= b± 2a Fonte: (Esperança e Cavalcanti. Introdução à Computação Gráfica Ray Tracing) Δ < Δ > Δ = http://www.google.com.br/search?q=tra%c3%a7ado+de+raios+em+modelos+csg&hl=pt-br&ei=pz_ztosnmch98abvsiz4ca&start=&sa=n Introdução ao processamento e síntese de imagens Júlio (9//2) Kiyoshi Hasegawa