Prova Fundamentos Computação Gráfica

Documentos relacionados
Sist. Coordenadas Câmera (SCC)

Projeções e Transformações em 3D

Preenchimento de Polígonos

Computação Gráfica - OpenGl 02

INF2608 Fundamentos da Computação Gráfica Prova Final de

PMR2560 Visão Computacional Visão estéreo. Prof. Eduardo L. L. Cabral

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

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 1º Exame 29 Junho de 2010

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

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

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 6. Projeções

Álgebra Linear I - Aula 5. Roteiro

Visualização. - Aula 4 -

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

tenha tamanho igual a 5. Determinar o valor de k, se existir, para que os vetores u k,2,k

MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I Gabarito da 2 a Prova - 1 o semestre de 2015

Computação Gráfica - 09

Introdução ao Processamento e Síntese de imagens Recorte 2D

Computação Gráfica. Agostinho Brito. Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte

Sistemas de Controle 2

Universidade Federal de Mato Grosso do Sul - UFMS VGA - 2 a Prova - Engenharia de Computação 03 de Julho de Prof o. E.T.

Processamento de Imagens CPS755

Projeção ortográfica de sólidos geométricos

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

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

Resultantes de um sistema de forças

Integração Volume. Aula 07 Matemática II Agronomia Prof. Danilene Donin Berticelli

Volumes de Sólidos de Revolução

UNIVERSIDADE FEDERAL DE ALAGOAS INSTITUTO DE MATEMÁTICA Aluno(a): Professor(a): Curso:

Pontifícia Universidade Católica do Rio de Janeiro / PUC-Rio Departamento de Engenharia Mecânica. ENG1705 Dinâmica de Corpos Rígidos.

MINISTÉRIO DA EDUCAÇÃO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CONSELHO DE GRADUAÇÃO

Pipeline de Visualização 3D

Processamento de Imagens CPS755

1. A partir da definição, determinar a equação da parábola P, cujo foco é F = (3, 4) e cuja diretriz é L : x + y 2 = 0. (x 3) 2 + (y + 4) 2 =

Projeções. Cap 2 (do livro texto) Aula 6 UFF

Algoritmos geométricos

2º Exame. Computação Gráfica

Computação Gráfica - 09

Métodos de Pesquisa Operacional

Processamento de Imagens usando Grafos (MAC6903)

Visualização e Projeções

Exercícios: Vetores e Matrizes

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

n. 18 Estudo da reta: ângulo, paralelismo, ortogonalidade, coplanaridade e interseção entre retas Ângulo entre duas retas

Computação Gráfica e Processamento de Imagens. recorte ( clipping ) de : o segmentos de retas o polígonos o textos. Prof.

Processamento de Malhas Poligonais

Processamento digital de imagens

Teoria dos Grafos. Valeriano A. de Oliveira, Socorro Rangel, Silvio A. de Araujo. Departamento de Matemática Aplicada

Computação Gráfica II

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

Realismo Visual. Aula 11 UFF

VISÃO COMPUTACIONAL. Marcelo Henrique dos Santos

Cálculo diferencial de Funções de mais de uma variável

Universidade Federal de Mato Grosso do Sul - UFMS VGA - 2 a Prova - Engenharia Civil + Física 03 de Julho de Prof o. E.T.

GEOMETRIA MÉTRICA ESPACIAL

2. Na gura abaixo, representa-se um cubo. Desenhe a echa de origem H que representa ! DN =! DC

Universidade Federal do Pará Curso de Licenciatura em Matemática PARFOR Lista de Exercícios Referentes a Prova Substitutiva de Geometria Analítica

Domínio: Geometria. CONSELHO de DOCENTES 1.º Ciclo Página 1

DESENVOLVIMENTO DE UM SOFTWARE DE GERAÇÃO E VISUALIZAÇÃO DE NANOESTRUTURAS

Lista 3 com respostas

Equação fundamental da reta

EXERCÍCOS DE REVISÃO - 1º ANO ENSINO MÉDIO

Álgebra Linear I - Aula 9. Roteiro

Lista 3 com respostas

Fontes do Campo magnético

PROPOSTA DE RESOLUÇÃO DA PROVA DE MATEMÁTICA A DO ENSINO SECUNDÁRIO (CÓDIGO DA PROVA 635) 2ª FASE 20 DE JULHO 2018 CADERNO 1

Curso de Geomática Aula 2. Prof. Dr. Irineu da Silva EESC-USP

Viewing 3D. SCC Computação Gráfica. Prof. Fernando V. Paulovich

Exercícios V1 = V2 = V1 = V2 =

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

ROBÓTICA TRANSFORMAÇÕES MATRICIAIS. Prof a. Dra. GIOVANA TRIPOLONI TANGERINO Tecnologia em Automação Industrial

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

Transcrição:

Pontifícia Universidade Católica do Rio de Janeiro Pós-Graduação em Informática Prova Fundamentos Computação Gráfica Nome: Eduardo Ceretta Dalla Favera Matricula: 1012631 Rio de Janeiro, 7 de julho de 2010

1ª Questão A rotulação de componentes conexos em uma imagem de duas dimensões possui grande aplicação na área de visão computacional. Esta técnica é usada para definir um rótulo único para cada uma das estruturas presentes na imagem a ser analisada e obter o número de objetos presentes na mesma. As aplicações desta técnica se estendem por diversas áreas do conhecimento humano, como por exemplo: Biologia realiza a contagem de células em fotos tiradas por microscópios; Astrofísica análise automática de imagens tiradas por sondas ou telescópios; Computação aplicada reconhecimento de padrões em fotos e vídeos. A conectividade entre pixels resulta da sua vizinhança, a qual pode ser de 4 ou 8 pixels. A identificação de cada pixel a um componente é dada devido a sua cor estar na mesma faixa esperada pelo componente. Após determinar grupos de pixels semelhantes estes são rotulados por um valor ou uma cor. Um algoritmo simples que resolve a questão da rotulação de imagens que possam caber inteiramente em memória principal utiliza a recursão para detectar os componentes conexos. A seguir é apresentado este algoritmo: Variáveis: o Input //Imagem de entrada. o Output //Imagem de saída. o Table // Tabela relacionando cores a rótulos. Preenche Output com a cor de fundo ou um rótulo inválido Para cada pixel em Input o Se o pixel em Output tem um rótulo inválido && o valor do pixel está dentro de uma faixa de cores associada a um rótulo Executa Fill(pixel) Função Fill(pixel): o Se o pixel em Output tem um rótulo inválido && o valor do pixel está dentro de uma faixa de cores associada a um rótulo o Acessa Table, pega o rótulo e escreve o valor em Output o Se não é pixel de borda Fill(pixel da direita) Fill(pixel da esquerda) Fill(pixel superior) Fill(pixel inferior)

Os resultados de uma execução são apresentados nas seguintes imagens: (a) (b) Figura: (a) Imagem usada como entrada no processo de rotulação. (b) Imagem após o processo de rotulação. Cada cor indica um rótulo de um objeto. Fonte: [ Dalla Favera, Appel] Ao observar-se a imagem de saída observa-se que nem todos os objetos presentes na imagem de entrada (a) estão presentes em (b). Isso se deve a uma faixa de threshold muito grande. O valor de threshold é utilizado para determinar pixels que devem ser considerados como fundo e descartados pelo processo de rotulação. Outra fator que pode influênciar na resposta é a escolha das tabela de cores que será utilizada pelo algoritmo. Ao utilizar-se uma tabela mais próxima das cores da imagem obtem-se objetos mais coerentes com a imagem original.

2ª Questão Uma matrix de rotação pode ser convertida a um quaternion ao utilizar-se o seguinte algoritmo: Dada a matriz M: Calcular T, onde: Se T é maior que 0 então calcular S, W, X, Y e Z pelas seguintes fórmulas: O quaternion é dado por:

Um quaternion pode ser convertido para um eixo de rotação e um ângulo utilizando o seguinte algoritmo: Aplicando os algoritmos na Matriz M:

Obtem-se que a matriz M define uma rotação de aproximadamente 30º em torono do eixo centrado no ponto dado pela translação (M 14, M2 4, M3 4 e é igual a 0.8408, - 0.9925, 0.3814) e que tem direção igual ao vetor (1,2,3)

3ª Questão Pode - se calcular a intersecção de uma caixa retangular com um raio pode-se utilizar o algoritmo de intesecção de raio com um politopo conexo. Um politopo convexo, também conhecido como poliedro convexo, é definido como uma região no R³ limitada por um número finito de planos. Uma caixa retangular é um caso de um politopo limitado por 6 planos. A partir de uma caixa de centro C, vetores e1, e2, e3 e tamanhos a1, a2, a3 pode-se obter os planos que limitam essa caixa ao calcular os vetores normais da caixa através do produto vetorial de e1, e2 e e3 e pode-se obter o componente d dos planos utilizando o centro C para obter os 8 vértices da caixa e utilizá-los como pontos no plano. Após o cálculo dos planos que definem o politopo realiza-se um teste para cada plano verificando o produto escalar entre a normal do plano e a direção do raio. A tabela a seguir apresenta as conclusões que se pode obter pelo resultado do produto escalar da iésima normal com o vetor direção u. Interseção Frontal Interseção Trazeira Raio Paralelo Se for uma interseção frontal out trazeira com algum plano calculá-se o valor a pela seguinte fórmula: onde p é o ponto de origem do raio. Caso a interseção seja frontal e o valor de a for maior que fmax e menor que bmin então fmax = a. Caso a inserseção seja trazeira verifica-se se o valor de a é menor que bmin, maior ou igual a zero e maior que fmax, então bmin = a. fmax e bmin correspondem respectivamente a distância do ponto de entrada e da distância do ponto de saída do raio no politopo.

O ponto de entrada é dado por: O ponto de saída é dado por: no R². A imagem a seguir apresenta o conceito de interseção de uma linha com um politipo Figura: Dois rais são mostrados testados contra os 6 planos que definiem o politopo 2D definido pela área cinza. As interseções fontais são rotuladas por f e as traseiras por b. O raio superior atinge algumas interseções traseiras antes de interseções frontais e consequentemente não intercepta o politopo convexo. O raio inferior atinge todas as interceções frontais antes das traseiras e consequentemente atinge o politopo. Fonte: [Buss]

4ª Questão Visando obter-se a matriz de projeção correpondente a função glfrustum do OpenGl pode-se partir da matriz de projeção glperspective, a qual já foi derivada em aula, e chegar a matriz desejada. O processo de derivação é apresentado abaixo. Dada a matriz glfrustum: onde near, right, left, top e bottom são os planos que delimitam o frustum. A imagem a seguir aprsenta a posição dos planos: Figura: Frustum e os planos que o delimitam. Os planos bottom left e far estão nos lados opostos do frustum e são os planos opostos a top, right e near respectivamente. a partir dos valores de near (distância até o plano near) e fovy (ângulo de abertura da câmera) pode-se obter a altura da imagem gerada pela câmera definida pelo frustum. Para obter-se a altura realiza-se o seguinte cáculo:

Figura: Frustum relacionando ângulo de fovy a com a altura h da imagem gerada e o valor de near n. tendo a altura da imagem pode-se obter a sua largura ao utilizar o valor de aspect: considerando que o valor da altura corresponde a diferença entre os planos top e bottom, e que a a lagura corresponde a diferença entre os planos left e right, temos que:

sabendo que o frustum é simétrico temos que: consequentemente desta forma escreve-se a matriz glfrustum como:

Bibliografia [Dalla Favera, Appel] Dalla Favera, E. C. ; Appel, B. G. ; Charao, A. S.. Rotulação Paralela De Componentes Conexos Em Clusteres Heterogêneos. In: O Congresso Regional De Iniciação Científica E Tecnológica Em Engenharia - CRICTE, 2009, Joinville-SC. Rotulação Paralela De Componentes Conexos Em Clusteres Heterogêneos, 2009. [Buss] Buss, Samuel R.. 3D Computer Graphics : A Mathematical Introduction with OpenGL.