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

Documentos relacionados
COMPUTAÇÃO GRÁFICA Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 9abr00

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

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. Terceiro Teste 19 de Maio de 2012

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

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

ILUMINAÇÃO E. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

Pipeline de Visualização 3D

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

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

Raytracing. 35T56 Sala 3E3 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

CG 2013/2014 Segundo Teste LEIC Alameda/Taguspark

Fundamentos da Computação Gráfica

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

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

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

Exame de Época Especial Computação Gráfica

Algoritmos de Iluminação Global

2º Exame. Computação Gráfica

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

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

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

Terceiro Trabalho Ray Tracing

O que é? Como funciona?

Segunda Prova 20 de junho de DURAÇÃO DA PROVA: 90m

Departamento de Matemática

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

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

Iluminação e Sombreamento

Introdução ao Processamento e Síntese de imagens Rendering 2016

UNIVERSIDADE FEDERAL DE VIÇOSA DEPARTAMENTO DE MATEMÁTICA LISTA DE EXERCÍCIOS DE MAT243-CÁLCULO III

UECEVEST - ESPECÍFICA Professor: Rikardo Rodrigues

Questão Valor Nota Total 10.0

Opto-Mechanical Design Group (Iris e pupilas)

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

COMPUTAÇÃO GRÁFICA E INTERFACES

Revisão. Soraia Raupp Musse

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

Introdução às Ciências Físicas Módulo 1 Aula 1

Algoritmos geométricos

MATRIZ DE REFERÊNCIA - SPAECE MATEMÁTICA 5 o ANO DO ENSINO FUNDAMENTAL TEMAS E SEUS DESCRITORES

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

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

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

RECORTE (CLIPPING) por janelas rectangulares

Álgebra Linear I - Lista 7. Respostas

ESPELHOS E LENTES ESPELHOS PLANOS

Matéria das Aulas e Exercícios Recomendados Cálculo II- MAA

Pipeline Gráfico Cluter & Durand, MIT

Capítulo 3. Descrição e visualização do modelo 25

Visualização 2D. Rasterização de primitivas 2D e Pipeline 2D. Soraia Raupp Musse

António Costa. Paulo Roma Cavalcanti

Assunto última aula. Flat Shading

GGM Geometria Analítica e Cálculo Vetorial Geometria Analítica Básica 20/12/2012- GGM - UFF Dirce Uesu

Processamento de Malhas Poligonais

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

Exame de 1ª Época Computação Gráfica

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

Iluminação e Sombreamento

O p Porque esta imagem está invertida? aula8 Trabalho de Projeções Planas 2017/2 IC / UFF

Técnicas de rendering. Realismo

Algoritmos de Rasterização e Recorte

UNIVERSIDADE FEDERAL DE VIÇOSA CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS DEPARTAMENTO DE MATEMÁTICA

Estudo Dirigido - Desvendando a Geometria Analítica: Distância entre dois pontos

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

Matemática - 3ª série Roteiro 04 Caderno do Aluno. Estudo da Reta

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

TEMA I: Interagindo com os números e funções

Transformações 3D. Soraia Raupp Musse

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Toffolo 2011/1

Computação Gráfica. Licenciatura em Engenharia Informática e de Computadores Alameda/Taguspark. 2º Exame 15 de Julho de 2010

3º ANO DO ENSINO MÉDIO. 1.- Quais são os coeficientes angulares das retas r e s? 60º 105º. 0 x x. a) Escreva uma equação geral da reta r.

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

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

Prof. Dr. Leandro Alves Neves. Conceitos Fundamentais. Algoritmos de Conversão Matricial.

Algoritmos de Recorte em 2D

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

Capítulo 3 - Geometria Analítica

INSTITUTO FEDERAL DE BRASILIA 4ª Lista. Nome: DATA: 09/11/2016

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

2º Exame de Animação e Visualização Tridimensional

Métodos de Pesquisa Operacional

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

1º Teste Computação Gráfica

Aula 2 Reflexão da luz e espelhos planos e esféricos

Definição. Geometria plana

Shading (sombreamento) & Smooth Shading

Matéria das Aulas e Exercícios Recomendados Cálculo II- MAA

A terceira dimensão. Modelagem tridimensional Elaboração tridimensional Realidade virtual

Pipeline de Visualização 2D

Preenchimento de Polígonos

Notas de Aula de Cálculo Numérico

Iluminação. André Tavares da Silva. baseado nos materiais de aula de Marcelo Walter, Claudio Esperança e Paulo Cavalcanti

COMENTÁRIO DA PROVA DE MATEMÁTICA

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

Rasterização de primitivas 2D e Pipeline 2D. Soraia Raupp Musse

Aliasing Exemplo. Representação Vetorial x Matricial. Introdução ao Processamento e Síntese de imagens - Rasterização. Considerações Gerais

Transcrição:

Fundamentos da Computação Gráfica Lista de Exercícios Marcelo Gattass TeCGraf/Departamento de Informática/PUC-Rio 19jun2003 I. Introdução 1) Qual a diferença entre Processamento de Imagens, Visão Computacional e Síntese de Imagens? 2) Decomponha uma sistema gráfico em camadas e explique quais são os profissionais que atuam em cada camada. 3) O que é uma API? 4) Faça um breve histórico dos principais sistemas gráficos e sistemas de interface. 5) Quais são atualmente as principais ferramentas de programação utilizadas na Computação Gráfica? ) O OpenGL é um sistema de interface com o usuário? II. Ray Tracing e Modelo de Iluminação 7) No algoritmo de Traçado de Raios, quando um raio atinge um ponto em um objeto como fazemos para calcular a cor que deve ser atribuída ao pixel correspondente? 8) Explique cada um dos termos da equação abaixo. Faça um desenho para explicar nˆ, Lˆ, rˆ, vˆ. I I k l k l k I I r g b = I I ar ag ab k k dr dg db + luzes l l r g b k k dr dg db r sr ( nˆ Lˆ ) + l k ( rˆ vˆ ) 9) Dado um cilindro cujo centro de uma base se encontra na posição b 1 e o centro da outra base se encontra na posição b 2 e cujo diâmetro das bases é d, escreva uma rotina que calcule a interseção entre o raio e o cilindro. (Sugestão: Transformar o cilindro para a posição canônica, fazendo a mesma transformação no raio.) 10) Seja r = o + td o raio incidente numa superfície de vidro num ponto cuja normal é n e o índice de refração é n, calcule o raio refratado considerando que o índice de refração do ar é 1. 11) Considere agora o raio saindo do vidro de índice de refração n para o ar. Calcule o raio refratado. Sempre haverá um raio refratado possível? 12) O melhor método conhecido de teste de interseção entre raio e esfera custa 1 multiplicações/subtrações, 13 multiplicações, 1 raiz quadrada e 3 comparações. Compare este resultado com a função que você implementou no seu ray tracer. 13) Determine o ponto p em que o raio partindo do ponto eye na direção d intercepta o plano que contém o triângulo a, b e c. Descreva como você faria para determinar se o ponto encontrado l g b k sg sb n Computação Gráfica - Gattass pág. 1

é interior ao triângulo e se o raio o atinge pelo lado positivo do triângulo. (Obs.: o ponto p deve ser calculado explicitamente). a b c d eye x 3 4 2-1 12 y 4 1 1-2 18 z 2 5-1 12 14) No algoritmo de traçado de raios um raio atinge uma face em um ponto p onde a normal é n. As posições do eye e da única luz pontual presente na cena estão dadas, juntamente com as coordenadas de p e n, na tabela de Posições mostrada abaixo. Na tabela de RGB estão definidas as propriedades do material da superfície e a intensidade da luz. A última tabela fornece as demais propriedades do material cuja superfície contém P. Sabendo-se que o objeto interceptado é convexo e é o único da cena, determine: a) a componente difusa da reflexão da luz em P; b) a componente especular da reflexão da luz em P; c) a cor RGB a ser atribuída ao pixel correspondente incluindo estes dois efeitos e a luz ambiente. Posições p n eye luz x.0 1.0 9.0 3.0 y 2.0 2.0 1.0 5.0 z 1.0 1.0 1.0 1.0 Material Luz Ia*Kd Kd Ks I r 0.2 0.2 0.9 1.0 g 0.2 0.3 0.8 1.0 b 0.2 1.0 1.0 1.0 n K refletido (R) K refratado (T) Opacidade Índice de refração 30.0 0.0 0.0 1.0 (opaco) 1.5 (contas com 3 algoritmos significativos) 15) Determine a componente difusa da luz de uma lâmpada de intensidade (200, 100, 50) colocada na posição homogênea [0, 1, 0, 0] T sobre o ponto A do triângulo abc. O material da face tem coeficiente difuso k d =(0., 0.5, 0.3), o triângulo é orientado no sentido trigonométrico, e as coordenadas do vértice são: a=(3, 2, 1), b=(8, 2, 1) e c=(4, 8, -4). 1) Determine as componentes especulares da cor do ponto A considerando a luz e o observador mostrados na figura abaixo. RGB = (255, 8, 255) eye=(8, 10, 1) Pos=(3, 5, 1) n = (-1, 2, 0) Material: A= (, 2, 1) Difusa: K d = (0., 0.7, 0.) Especular: K s = (1.0, 1.0, 1.0) e n=8 Computação Gráfica - Gattass pág. 2

17) Determine a cor de um pixel correspondente à posição (5, 2, 2) do plano de projeção visto a partir do centro de projeção (10, 2, 1) considerando apenas a componente de reflexão difusa de uma luz de intensidade (100, 200, 150) e localização (10, 10, 10) numa esfera de raio 2 e centro (1, 2, 2) que tem como k d = (0.8, 1.0, 0.3). 18) Considere no algoritmo de Traçado de Raios o raio que vai do eye até o ponto P(i,j) no plano de projeção. Determine (se existir) o ponto P em que este raio intercepta a esfera de centro C e raio 1, e a normal unitária da esfera neste ponto. eye P(i,j) C x 10 8 3 y 5 2 z 0 0 0 III. Transformações Geométricas 19) Veja os exercícios (resolvidos e propostos) nas notas de aula. IV. Projeções 20) Determine a matriz da transformação linear que leva A= (10, 0, 0), B= (10, 10, 0), C= (5, 20, 0), D= (0, 10, 0) e E= (0, 0, 20) para os pontos A, B, C, D, e E mostrados na figura abaixo. y C =(0.5, 2) D =(0,1) B =(1,1) E =(-0.5, -0.5) A =(1,0) x 21) Determine a matriz que faça uma projeção paralela dos pontos do R 3 no plano 2x+3y+z=0 segundo a direção (0,0,1). 22) Considere as projeções P 1 e P 2 representadas pelas matrizes M 1 e M 2, respectivamente. Para cada uma destas projeções determine: (a) a normal ao plano de projeção, (b) a direção de projeção, e (c) se ela é ortográfica ou oblíqua. 1 0 03. 8 2 2 M 1 = 0 1 02. e 1 M 2 = 2 5 4 9 0 0 0 2 4 5 Computação Gráfica - Gattass pág. 3

23) Determine a matrizes das projeções paralelas que projetam o cubo unitário ABC...H das figuras da esquerda da forma mostrada nas figuras da direita. z y C D G H A B E F z H=(1, 1, 1) y C D G H A B x E F H=(1, 1, 1) x (a) E G (b) Plano de Projeção = yz H' D' y C' G' F' B' z E' A' H'=(0, 1.2, 1.3) v Hexágono de lado 1 B A H u D C V. Rasterização 24) Seguindo o critério do algoritmo de Bresenham, determine quais pixels (círculos) são acesos na rasterização das duas linhas mostradas na figura. (Marque as respostas pintando os círculos na própria figura) 25) Marque na figura os pixels que um algoritmo de rasterização de círculos, seguindo o critério de Breseham, deveria pintar para o arco mostrado na figura. Explique o critério adotado. Computação Gráfica - Gattass pág. 4

2) Faça uma hachura na região interior, segundo a regra par-ímpar (even-odd rule), do polígono cuja fronteira está mostrada na figura abaixo. 27) Os algoritmos de preenchimento de polígonos usam um princípio de coerência para calcular as coordenadas x do início e do fim de cada linha de varredura (scan line). Com base no algoritmo que você está implementando para o segundo trabalho, determine os incrementos dx a, dx b e dx c do triângulo mostrado na figura abaixo, assumindo que a varredura se dê de cima para baixo (dy=-1). y A c b x y A 15 25 B 5 10 C 20 5 B a C x Computação Gráfica - Gattass pág. 5

VI. Clipping 28) A tabela abaixo mostra os códigos do algoritmo de Cohen-Suterland dos pontos P0 e P1 de diversos segmentos de reta. Os códigos estão ordenados no formato tbrl (top, bottom, right, left). Responda na coluna direita da tabela qual das condições se aplica a cada um dos segmentos: [A] está fora, pode ser descartado; [B] está dentro, pode ser desenhado; [C] está parcialmente dentro, deve ser clipado e desenhado; [D] não posso dizer se está fora ou parcialmente dentro; [E] não pode existir um segmento com este código. Códigos RESPOSTAS P0 P1 (A B C D E) 0010 0000 1100 1000 1010 0010 0101 1010 0100 0001 0000 0000 29) Considere o algoritmo de clipping de Cohen-Sutherland aplicado a segmentos de retas em 3D onde os pontos são classificados em códigos com dígitos na seguinte ordem: atrás; à frente; abaixo; acima; à esquerda; à direita (assuma x orientado da esquerda para a direita, y de baixo para cima e z de trás para a frente). Considere ainda na tabela abaixo as coordenadas dos vértices de 4 segmentos de retas e o paralelepípedo de clipping definido por: x min = 2, x max =, y min = -1, y max = 5, z min = 0, z max = 8. Complete a tabela com os códigos de cada vértice dos segmentos e responda na coluna direita da tabela qual das condições se aplica a cada um dos segmentos: descarte = está todo fora, pode ser descartado; desenhe = está todo dentro, pode ser desenhado; recorte = está parcialmente dentro, deve ser clipado e desenhado; indefinido = não é possível decidir só com base nos códigos (seria preciso fazer contas). Vértice v0 Vértice v1 Código v0 Código v1 Condição do segmento v0 v1 (1,, 4) (8, 7, 3) (3, 4, 7) (4, 0, 2) (0, 4, ) (1, 7, ) (1, 2, 9) (7, 7,-1) Computação Gráfica - Gattass pág.

30) Considere os valores calculados no algoritmo de clipping de linha de Cyrus-Beck para segmentos de reta P 0 P 1. Determine os parâmetros t E e t S que marcam o início e o fim do trecho visível de cada segmento. Caso não exista trecho visível, risque a posição de t E e t S com um traço (-). Assuma que a normal N i aponta para fora do polígono de clipping. a) A tabela abaixo mostra quatro valores do parâmetro t e o sinal S d do produto interno N i. (P1 -P 0 ) para 4 segmentos. t S d t S d t S d t S d t E t S 1.5 + 0.5-1.2 + 0.2-0.5-0.9 + 0.15-0.4 + -1.0-1.5 + -0.2-1.8 + 0.5-1.3 + 0.2-0.7 + b) A tabela abaixo mostra quatro valores do parâmetro t, o sinal S d do produto interno N i. (P1 -P 0 ), e o sinal S n do produto interno N i. (P0 -P Ei ) calculados no algoritmo de Cyus- Beck para 2 segmentos de reta P 0 P 1 que caíram em uma situação especial. Note que o sinal S n é de N i. (P0 -P Ei ), e não do numerador da expressão t= -N i. (P0 -P Ei ) / N i. (P1 -P 0 ). Ou seja, o numerador teria sinal contrário. t S n t S n t S d t S d t E t S - - 0.0-1.0 + - + 0.0-1.0 + 31) Seguindo a lógica do algoritmo de clipping de polígono de Sutherland-Hodgman, determine a lista de vértices que passa de uma etapa para outra para o polígono 0,1,2,3,4,5, e 7 da figura abaixo. Responda na ordem indicada na tabela-resposta. 5 A M 2 C D E N B 3 F 1 G H I J K P Q 7 4 L 0 Computação Gráfica - Gattass pág. 7

Tabela-resposta: Entrada Esquerda Direita Abaixo Acima 0 1 2 3 4 5 7 32) Determine a expressão que calcula o parâmetro t do algoritmo de Cyrus-Beck para o plano x+2y+3z= para o segmentos de reta P 0 P 1, P 0 =(x 0,y 0,z 0 ).e P 1 =(x 1,y 1,z 1 ). Supondo que a normal aponte para fora, determine também a expressão que determina se o ponto correspondente ao parâmetro t está entrando ou saindo da região delimitada pelo plano. Computação Gráfica - Gattass pág. 8

VII. Z Buffer 33) Faça uma família de gráficos mostrando a relação entre o valor de z no mapa de profundidade e o valor de z no sistema de coordenadas do olho quando o programa utiliza a função: void glperspective( 0, 4.0/3, n, f ); para os valores de f iguais a 10., 100., 1000, e valores de n iguais a 0.01, 0.1 e 1.0. Quando temos o problema de alias de profundidade? Como evitá-lo? 34) Determine o sistema de coordenadas do olho, x e y e z e, correspondente a chamada void glulookat(10,10,10, 0,0,0, 0,0,1) Que matriz transforma as coordenadas dos pontos escritos para o sistema padrão (olho na origem olhando na direção negativa de z) neste novo sistema (pode só indicar as multiplicações de matrizes necessárias para a resposta)? Computação Gráfica - Gattass pág. 9

VIII. Curvas 35) Escreva a equação paramétrica e a equação implícita do círculo de centro no ponto (2,3) e raio 5. 3) Quando a forma implícita é mais conveniente que a forma paramétrica, e vice-versa? 37) O que é continuidade geométrica e continuidade paramétrica? Qual das duas é mais restritiva? 38) Como a curva de Bezier de grau 3, a curva de Hermite é uma curva paramétrica que utiliza polinômios cúbicos. A diferença esta nos vértices de controle. Enquanto a curva de Bezier utiliza 4 pontos, a curva de Hermite é definida pelo ponto inicial, digamos p 0, pela derivada paramétrica no ponto inicial, r 0, pelo ponto final, p 3, e pela derivada paramétrica no ponto final, r 3. Determine a posição dos pontos de controle de uma curva de Bezier, p 0, p 1, p 2, e p 3 de tal forma que as duas curvas sejam iguais. 39) Um trecho de uma B-Spline uniforme pode ser escrito como sendo: 3 3 2 3 2 3 (1 t) 3t t + 4 3t + 3t + 3t + 1 t p t) v + v + v v i ( = i 1 i i+ 1 + i+ 2 Determine a posição dos vértices de controle de uma curva de Bezier, p 0, p 1, p 2, e p 3 que tenha os mesmos pontos da B-Spline. 40) Determine uma curva de Bezier racional que represente exatamente o primeiro quadrante de um círculo de centro na origem e de raio 3. Computação Gráfica - Gattass pág. 10