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

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

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

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

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

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

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

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

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

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

d{p, s) = R. Mas, d(p, s) = d(p, Q), onde Q(0, 0, z). Logo, P{x, y, z) pertence ao cilindro se, e somente se,

Cálculo II - Superfícies no Espaço

Álgebra Linear e Geometria Anaĺıtica. Cónicas e Quádricas

Objetos Gráficos Planares

Geometria Anaĺıtica. Prof. Dr. Thadeu Alves Senne ICT - UNIFESP

O que é? Como funciona?

Algoritmos de Iluminação Global

4.1 Superfície Cilíndrica

Computação Gráfica e Processamento de Imagens. - Sistemas 3D (conceitos básicos) Prof. Julio Arakaki

Dizemos que uma superfície é um cilindro se na equação cartesiana da superfície há uma variável que não aparece.

SECÇÕES CÔNICAS E SUPERFÍCIES QUÁDRICAS Prof. Vasco Ricardo Aquino da Silva

J. Delgado - K. Frensel - L. Crissaff Geometria Analítica e Cálculo Vetorial

10. Determine as equações cartesianas das famílias de retas que fazem um ângulo de π/4 radianos com a reta y = 2x + 1.

Lista Determine uma representação paramétrica de cada uma das superfícies descritas abaixo e calcule

Cálculo II. Resumo Teórico Completo

Provável ordem de Assuntos das Aulas e Exercícios Recomendados Cálculo II- MAC 123

4.1 Superfície Cilíndrica

Objetos Gráficos Planares

Superfícies Quádricas

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

Álgebra Linear I - Lista 5. Equações de retas e planos. Posições relativas. Respostas

3. Algumas classes especiais de superfícies

APLICAÇÕES NA GEOMETRIA ANALÍTICA

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

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.

Assunto última aula. Flat Shading

Cálculo a Várias Variáveis I - MAT Cronograma para P2: aulas teóricas (segundas e quartas)

Interseção de Semiplanos

Objetos Gráficos Espaciais

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

CAPÍTULO 1 Sistemas de Coordenadas Lineares. Valor Absoluto. Desigualdades 1. CAPÍTULO 2 Sistemas de Coordenadas Retangulares 9. CAPÍTULO 3 Retas 18

Capítulo 3 - Geometria Analítica

Questão 2: Considere a hipérbole descrita pela equação 9x 2 16y 2 = 144. vértices, focos e esboce seu gráco.

Computação Gráfica - 09

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

Computação Gráfica - 09

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

21 e 22. Superfícies Quádricas. Sumário

Geometria Computacional

Curvas e Superfícies. 35M34 Sala 3E1 Bruno Motta de Carvalho DIMAp Sala 15 Ramal 227 DIM102

A B C A 1 B 1 C 1 A 2 B 2 C 2 é zero (exceto o caso em que as tres retas são paralelas).

G2 de Álgebra Linear I

O Plano no Espaço. Sumário

TÓPICO. Fundamentos da Matemática II APLICAÇÕES NA GEOMETRIA ANALÍTICA. Licenciatura em Ciências USP/ Univesp. Gil da Costa Marques

Lista Determine uma representação paramétrica de cada uma das superfícies descritas abaixo e calcule

Geometria Analítica II - Aula 5 108

Sistemas de equações lineares com três variáveis

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

Terceiro Trabalho Ray Tracing

GEOMETRIA II EXERCÍCIOS RESOLVIDOS - ABRIL, 2018

1 Vetores no Plano e no Espaço

Capítulo Equações da reta no espaço. Sejam A e B dois pontos distintos no espaço e seja r a reta que os contém. Então, P r existe t R tal que

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

Algoritmos geométricos

Cálculo a Várias Variáveis I - MAT Cronograma para P1: aulas teóricas (segundas e quartas)

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

Ordenar ou identificar a localização de números racionais na reta numérica.

2.1 Fundamentos Básicos

MAT Cálculo Diferencial e Integral para Engenharia II 3 a lista de exercícios

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

MAT2457 ÁLGEBRA LINEAR PARA ENGENHARIA I 2 a Lista de Exercícios - 1 o semestre de f 1 = 2 e 1 e 2 e 3,

Aula 17 Superfícies quádricas - parabolóides

MAT 105- Lista de Exercícios

Produto interno e produto vetorial no espaço

Universidade Estadual de Montes Claros Departamento de Ciências Exatas Curso de Licenciatura em Matemática. Notas de Aulas de

2.1 Equações do Plano

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

Professor: Anselmo Montenegro Conteúdo: Aula 2. - Primitivas Geométricas. Instituto de Computação - UFF

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

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

PARTE 4. ESFERAS E SUPERFÍCIES QUÁDRICAS EM GERAL (Leitura para Casa)

Álgebra Linear I - Lista 7. Respostas

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

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

Determinação de Superfícies Visíveis

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

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

c) F( 4, 2) r : 2x+y = 3 c) a = 3 F 1 = (0,0) F 2 = (1,1)

A Reta no Espaço. Sumário

Introdução à Computação Gráfica Aliasing e Ray Tracing Distribuído. Claudio Esperança Paulo Roma Cavalcanti

1. as equações paramétricas da reta que contém o ponto A e é perpendicular ao plano de equação x 2y + 3z = 17;

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

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

MAT Cálculo Diferencial e Integral para Engenharia II 3 a lista de exercícios

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

Aula 15. Derivadas Direcionais e Vetor Gradiente. Quando u = (1, 0) ou u = (0, 1), obtemos as derivadas parciais em relação a x ou y, respectivamente.

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

Primitivas Geométricas

Geometria Analítica II - Aula 7 178

Transcrição:

Características Principais Introdução à Computação Gráfica Ray Tracing Claudio Esperança Paulo Roma Cavalcanti Tipicamente implementado em Software Combina um modelo de iluminação com determinação de visibilidade Simula efeitos de iluminação global tais como w Sombras w Reflexão especular e refração recursivas w Acompanha vários caminhos da luz Desvantagens w Lento w Não simula reflexão difusa recursiva Contexto Histórico Ray Casting Trabalhos Seminais w Appel 68 w Whitted 80 Pesquisa w Uso de diferentes primitivas geométricas w Técnicas de aceleração Pesquisa recente w Ray tracing em tempo real w Arquiteturas para Ray tracing em HW Introduzido por Appel (1968) Raios são lançados passando pelo olho e por cada pixel da imagem w Teste de interseção entre cada objeto da cena e raio w Pixel é pintado com cor do objeto mais próximo (do olho) w Sombras são calculadas lançando raios desde o ponto do objeto até a fonte de luz 1

Interseção Raio / Objeto Raio é modelado como uma reta em forma paramétrica: R (t) = P 0 + t (P 1 P 0 ) = P 0 + t V Computa-se para quais valores do parâmetro t a reta intercepta o objeto P 0 V P 1 A = P 0 + t A V A B B = P 0 + t B V Objetos Implícitos Objeto implícito é dado por uma equação da forma f (x, y, z) = 0 Muitas superfícies importantes podem ser modeladas como objetos implícitos principalmente os dados por equações polinomiais w Planos (grau 1) w Quádricas (grau ) elipsóides, cones, parabolóides, hiperbolóides w Quárticas (grau 4) Toros Quádricas Interseção Raio / Objeto Implícito Hiperbolóide de duas folhas Hiperbolóide de uma folha Parabolóide Hiperbólico Raio é modelado em forma paramétrica: R(t) = [R x (t) R y (t) R z (t)] T Logo, os pontos de interseção satisfazem f (R x (t),r y (t),r z (t)) = 0 Basta resolver a equação para determinar o(s) valor(es) de t que a satisfazem Parabolóide de revolução Elipsóide Cone (Hiperbolóide degenerado)

Exemplo: Interseção com Esfera Computando a Normal no Ponto de Interseção Esfera de raio 1 centrada na origem: x + y + z 1 = 0 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 ) +(V y t+p y ) +(V z t+p z ) -1=0 ou at + bt + c = 0 onde a = V x +V y + V z b = (V x P x + V y P y + V z P z ) c = P x +P y + P z 1 b ± Δ Seja = b 4 ac, então t = a Δ < 0 Δ > 0 Δ = 0 Normal é dada pelo gradiente no ponto de interseção R(t) N f N = f f x x y = y z z Interseção com Objetos Transformados Interseção com Objetos Transformados As rotinas de interseção normalmente lidam com objetos primitivos de tamanho, posição e orientação fixas (ex.: esfera de raio unitário na origem) Para obter objetos genéricos, usa-se transformações lineares afim Para computar a interseção de um raio R com um objeto transformado S = T S : w Leva-se o raio para o sistema de coordenadas da primitiva: R = T 1 R w Computa-se o ponto P resultante da interseção R S w O ponto de interseção é trazido de volta ao sistema de coordenadas do mundo: P = T P Coordenadas do Mundo R S P? T 1 T Coordenadas do Objeto S N P R 3

Transformando Normais Transformando Normais Ao contrário do que nossa intuição indica, N T N Por quê? Errado! Normal precisa ser perpendicular à superfície Se a transformação não envolve deformação, isto é, é composta apenas de transformações rígidas e escalas uniformes, ela pode ser aplicada também à normal Para transformações afim genéricas, entretanto, N = (T 1 ) T N Prova: w Queremos que N seja perpendicular a qualquer vetor V sobre o plano tangente à superfície: N V = 0 w Sabemos que V =T V w Então, N (T V) = 0 ou, (N T) V = 0 w Como o produto escalar de dois vetores A e B denotados por matrizes coluna pode ser escrito A T B, então, N T T V = 0 w Como A = A TT, então N T T TT V = 0 w Lembrando que (AB) T = B T A T então (T T N ) T V = 0 ou (T T N ) V = 0 w Portanto, (T T N )=N w Resolvendo para N temos N = (T 1 ) T N Interseção com Planos Interseção com Triângulos Plano em forma implícita Ax + By + Cz + D = 0 Se queremos um plano que passa por um ponto Q e tem normal N podemos escrever (P Q) N = 0 Resolução da forma habitual Entretanto, normalmente não temos planos ilimitados, mas sim polígonos planares! Computa-se interseção com o plano que contém o triângulo O ponto de interseção está dentro do triângulo? O teste é feito sobre a projeção do triângulo sobre um dos planos coordenados (x-y, y-z ou x-z) Qual? Escolhe-se o plano para o qual a projeção tem maior área Ax + By + Cz + D = 0 Se A > B, C plano y-z Se B > A, C plano x-z Se C > A, B plano x-y x z y 4

Interseção com Triângulos Interseção com Polígonos Convexos Como determinar se o ponto está dentro do triângulo? Uma idéia é computar as coordenadas baricêntricas do ponto de interseção: P = αa + b + c, onde α + + = 1 P está dentro do triângulo sse P é uma combinação convexa de a, b, c, isto é, 0 α,, 1 As coordenadas baricêntricas correspondem às áreas relativas dos triângulos que unem o baricentro aos vértices a A b c A c A a α = A a / A β = A b / A γ = A c / A b Uma outra idéia que também funciona com qualquer polígono convexo é considerar o polígono a interseção de semiespaços planos em D Cada aresta é colinear com uma reta dada por f (x,y) = ax + by + c = 0 Pode-se escolher a, b e c de tal forma que o interior do polígono corresponda a f (x,y) > 0 Para saber se o ponto de interseção está no interior (ou na borda) do polígono, basta testar o ponto com relação a todas as arestas f (x,y) > 0 f (x,y)=0 Interseção com Polígonos Quaisquer Interseção com Sólidos CSG Diversos métodos w Soma dos ângulos Dentro: 360 o Fora: 0 o w Regra de paridade (teorema de Jordan) w Ray-Casting em D Semelhante à regra de paridade Apenas a normal da aresta mais próxima é examinada Ray-tracing provê um método direto de visualização de sólidos CSG (sem avaliação de bordo) A interseção com primitivas é feita como antes, mas todos os pontos interseção são guardados w O resultado é uma estrutura de dados que registra os intervalos em que o raio está dentro, fora, ou na fronteira da primitiva Para computar as operações de conjunto (,, \) os intervalos são combinados de maneira apropriada 5

Interseção com Sólidos CSG Ray Tracing de Sólidos CSG A t 1 t t 1 A B t 3 t 4 t 3 A B t 1 t 4 B t t 4 A B B\A t 3 t t t 4 A\B t 1 t 3 Interseção com Superfícies Paramétricas Interseção com Superfícies Paramétricas Superfícies paramétricas são dadas por S (u, v) = [S x (u,v) S y (u,v) S z (u,v)] T Raio é representado como a interseção de dois planos A 1 x + B 1 y + C 1 z + D 1 = 0 A x + B y + C z + D = 0 Substituindo, temos A 1 S x (u,v) + B 1 S y (u,v) + C 1 S z (u,v) + D 1 = 0 A S x (u,v) + B S y (u,v) + C S z (u,v) + D = 0 Cada equação representa uma curva de interseção Ponto de interseção computado resolvendo um sistema de equações com incógnitas w Se equações são polinomiais, pode-se usar eliminação ou outras técnicas algébricas Exemplo: equações cúbicas podem ser transformadas em uma equação de sexto grau [Kajiya] w Pode-se também usar métodos numéricos Método de iteração de Newton [Toth] Procedimentos muito dispendiosos w Usar métodos de aceleração 6

Outros Objetos Superfícies de varredura (sweep) w Translação (cilíndrica / cônica) w Revolução w Varredura genérica Terrenos (height fields) Blobs (superposição de campos escalares exponenciais) Ray Tracing Recursivo Introduzido por Turner Whitted: An Improved Illumination Model for Shaded Display (1980) Idéia de traçar os raios de luz desde as fontes até o olho existia há muito tempo (Forward Ray Tracing) Whitted mostra como computar um modelo de iluminação aproximado acompanhando os raios de luz que chegam ao olho no sentido inverso (Backward Ray Tracing) Raio de visibilidade Raio de detecção de sombra Raio refletido Raio refratado Ray Tracing Recursivo Ray Tracing Recursivo Para cada pixel da imagem w Calcular raio que passa pelo pixel e pelo olho w Determinar objeto atingido pelo raio Ponto de interseção Normal Propriedades de material Propriedades de textura w Computar contribuição da iluminação ambiente w Para cada fonte de luz, determinar visibilidade (raios de detecção de sombra) Se fonte visível, somar contribuição reflexão difusa w Se limite de recursão não foi atingido Somar contribuição reflexão especular acompanhando raio refletido Somar contribuição de transmissão acompanhando raio refratado 7

Técnicas de Aceleração Técnicas de Aceleração O que faz com que o Ray Tracing seja lento? w Número de interseções entre raios e objetos w Custo de cada cálculo de interseção Reduzir o número de interseções w Hierarquias de volumes limitantes w Subdivisão espacial Aceleração dos cálculos de interseções w Volumes limitantes w Especialmente superfícies paramétricas Determinar mais rapidamente o primeiro objeto interceptado (visibilidade) w Usar hardware gráfico (z-buffer) Volumes Limitantes Objetos complexos são envolvidos em objetos simples cujo cálculo de interseção é + fácil Serve para eliminar objetos que não interceptam raio Hierarquias de Volumes Podem ser aplicadas aos próprios objetos ou a cenas Raios são recursivamente testados com relação aos nós da árvore w Nós + próximos do olho são testados primeiro w Nós vazios são trivialmente rejeitados Esfera +Rápida, mas pouco justa Caixa Alinhada com Eixos: Rápido, justo Caixa Orientada Rápida, +justa 8

Usando Hardware para determinar Visibilidade Hardware é geralmente mais rápido que software Desenha-se os objetos usando acelerador gráfico O valor de profundidade armazenado no z-buffer pode ser usado para determinar as coordenadas do mundo dos objetos mais próximos w Um teste exato é feito apenas sobre esses objetos Uma outra idéia é usar uma cor para desenhar cada objeto (item buffer) w A cor vai designar qual o objeto mais próximo Essas técnicas podem ser usadas em qualquer estágio do ray tracing 9