Upload
internet
View
103
Download
0
Embed Size (px)
Citation preview
1
2002 LCG/UFRJ. All rights reserved.
Introdução à Computação GráficaIntrodução à Computação GráficaRadiosidadeRadiosidade
Claudio EsperançaPaulo Roma Cavalcanti
2
2002 LCG/UFRJ. All rights reserved.
Modelos Locais de IluminaçãoModelos Locais de Iluminação• Somente a luz direta ou a primeira reflexão
numa superfície são consideradas (modelos de primeira ordem). Modelo de Phong.
• Completamente empírico. Modelo de Cook e Torrance.
• Esquema híbrido que usa um modelo físico baseado na rugosidade das superfícies para calcular a intensidade da reflexão e um modelo de ondas para certos efeitos de cor.
Modelo de Cabral.• Baseado completamente numa simulação física
da rugosidade de superfícies. Modelo de Kajiya.
• Completamente baseado na teoria de ondas (the rendering equation).
3
2002 LCG/UFRJ. All rights reserved.
Modelos Globais de IluminaçãoModelos Globais de Iluminação• Traçado de raios.
Usa um aspecto particular da interação luz-objeto: reflexão especular.
• Radiosidade. Favorece a interação de superfícies
difusas em detrimento da reflexão especular.
Baseado na teoria de transmissão de calor (Engenharia Mecânica).
4
2002 LCG/UFRJ. All rights reserved.
1
1/21/4
1/8
1/161/32
1/64
A)
B)
Problemas com o Problemas com o Ray-tracingRay-tracing
5
2002 LCG/UFRJ. All rights reserved.
Definições e PropriedadesDefinições e Propriedades• Considere-se um raio ou um feixe de
energia incidente num corpo: α fração de energia incidente
absorvida: absorção. fração de energia incidente
refletida: reflectância. fração de energia incidente
transmitida: transmissão.
6
2002 LCG/UFRJ. All rights reserved.
Balanço de EnergiaBalanço de Energia
• G = αG + G + G 1 = α + + .
G (energia absorvida)
G (energia incidente)
G (energia refletida)
G (energia transmitida)
7
2002 LCG/UFRJ. All rights reserved.
MateriaisMateriais• Para maioria dos sólidos em engenharia
= 0.• Para líquidos a mesma suposição pode ser
feita (mas depende da espessura).• Para gases a reflexão é muito pequena e
considera-se = 0.
8
2002 LCG/UFRJ. All rights reserved.
Modelos de ReflexãoModelos de Reflexão• A reflexão da energia radiante por uma
superfície é descrita em termos de dois modelos ideais: refletores difusos e especulares.
• Rugosidade da superfície tem uma grande influência sobre as propriedades térmicas dos materiais.
9
2002 LCG/UFRJ. All rights reserved.
Comportamento em função da Comportamento em função da rugosidade.rugosidade.
• Se os elementos de rugosidade da superfície são muito pequenos comparados ao comprimento de onda da radiação a superfície é especular.
• Se os elementos de rugosidade da superfície são muito grandes comparados ao comprimento de onda da radiação a superfície é difusa.
10
2002 LCG/UFRJ. All rights reserved.
Corpos NegrosCorpos Negros• A superfície ideal para o estudo da
radiação térmica é o corpo negro. absorve toda a energia incidente em
todos os comprimentos de onda ( = 0).• Corpo negro é uma idealização que pode
ser imaginado como uma cavidade numa superfície com α < 1 (buraco de fechadura). Gn= (1- α)n G0.
11
2002 LCG/UFRJ. All rights reserved.
EmissividadeEmissividade• A energia total emitida por um corpo por
unidade de área por unidade de tempo é chamada de irradiância (potência emissiva).
• Toda superfície não negra terá uma irradiância E menor do que a de um corpo negro à mesma temperatura.
= E/Eb (emissividade).
12
2002 LCG/UFRJ. All rights reserved.
Emissividade x TemperaturaEmissividade x Temperatura• Para condutores, emissividades altas
correspondem a altas temperaturas.• O mesmo não é válido para não
condutores.• Pela lei de Kirchhoff, α = .
13
2002 LCG/UFRJ. All rights reserved.
Área AparenteÁrea Aparente(Vista de uma dada direção (Vista de uma dada direção dd))
d
A
A’
A’ = A cos()
14
2002 LCG/UFRJ. All rights reserved.
Ângulo SólidoÂngulo Sólido
É a área determinada pela interseção de um cone com a esfera unitária.
15
2002 LCG/UFRJ. All rights reserved.
Ângulos Sólidos ElementaresÂngulos Sólidos Elementares
16
2002 LCG/UFRJ. All rights reserved.
Grandezas Grandezas RadiométricasRadiométricas
dA
dIrradiância:
17
2002 LCG/UFRJ. All rights reserved.
RadiânciaRadiância
Radiância = Potência / (Ângulo Sólido (preto) . Área Aparente (cone azul))
•Referente a um par de Elementos de Área:
•Uma área elementar da superfície do objeto observado ( A1 ).
•Área do sensor que recebe energia de A1 ( A2).
Objeto
A1
Sensor
A2
18
2002 LCG/UFRJ. All rights reserved.
Energia Total IrradiadaEnergia Total Irradiada• A energia total irradiada por um elemento
de superfície dA1 é interceptada por um hemisfério imaginário centrado no elemento emissor.
• Para um corpo negro: dq1-2= Ibcos()dA1d O ângulo sólido unitário é definido por: d = dA2/r2.
19
2002 LCG/UFRJ. All rights reserved.
IrradiânciaIrradiância
• Integrando sobre todo o hemisfério: dA2 = r d (r sin() d). Logo,
ddr
drrdd )sin(
))sin((2
20
2002 LCG/UFRJ. All rights reserved.
IrradiânciaIrradiância
que para um corpo negro (Ib=cte) resulta em:
• Potência emissiva (irradiância) de um corpo negro é igual a vezes a intensidade da radiação (radiância).
bb IEdA
q
1
21
2
0
2
0121 )sin()cos( ddIdAq b
21
2002 LCG/UFRJ. All rights reserved.
Interação entre Dois Elementos de Interação entre Dois Elementos de SuperfícieSuperfície
22
2002 LCG/UFRJ. All rights reserved.
Fator de FormaFator de Forma• Fator de Forma é a parcela de energia que
deixa um elemento de superfície e atinge um outro elemento.
direções as todasem deixando totalradiante energia
de vindo atingindo radiante energia
i
ijAA A
AAF
ji
23
2002 LCG/UFRJ. All rights reserved.
Troca de EnergiaTroca de Energia
• A energia irradiada por dA1 que incide em dA2 é:
dq1-2= Ibcos(1)dA1d1-2
• d1-2 é a área de dA2 vista por dA1.
d1-2 = cos(2)dA2/r2
• A energia total irradiada por dA1 é: dq = Ib dA1
• Assim, a troca de energia entre dois elementos infinitesimais é dependente somente da geometria:
2221
)cos()cos(21 r
dAF dAdA
24
2002 LCG/UFRJ. All rights reserved.
Fator de FormaFator de Forma
• Supondo que um emissor infinitesimal transmite energia para uma superfície finita:
• Como Ib1 e dA1 são independentes de dA2
1
22211
1
2 1
21
/)cos()cos(
dAIπ
rdAdAIF
b
A b
AdA
2221
)cos()cos(
2
21dA
rπF
A
AdA
25
2002 LCG/UFRJ. All rights reserved.
Fator de FormaFator de Forma• No caso da troca de energia entre duas
superfícies Lambertianas finitas:
1
1 2
21
11
222111
/)cos()cos(
A
A AAA
dAI
rdAdAI
F
21221
1
)cos()cos(
12 1
21dAdA
rAF
A AAA
26
2002 LCG/UFRJ. All rights reserved.
PropriedadesPropriedades
• Existem 4 relações entre fatores de forma que devem ser entendidas. Natureza aditiva (quando o receptor é
dividido):
Subdivisão do emissor.
2 )(2
2121dAFF
A dAdAAdA
11
)(1
12121
dAFA
FA AdAAA
27
2002 LCG/UFRJ. All rights reserved.
Teorema da ReciprocidadeTeorema da Reciprocidade
• Soma dos fatores de forma num ambiente fechado é 1.
• Teorema da reciprocidade (A1F1-2=A2F2-1).
n
jAA ji
F1
0.1
21221
211
)cos()cos(2 1
dAdAr
FAA A
28
2002 LCG/UFRJ. All rights reserved.
ReciprocidadeReciprocidade
Simetria:
Fk,i. Ak = Fi,k . Ai
29
2002 LCG/UFRJ. All rights reserved.
Radiosidade ClássicaRadiosidade Clássica
• Todas as superfícies são opacas.
• Todas as superfícies são refletores difusos perfeitos ( = cte).
• Superfícies são discretizadas em retalhos pequenos (patches).
• Radiosidade constante nos retalhos.
• Irradiância constante nos retalhos.
30
2002 LCG/UFRJ. All rights reserved.
ConceitoConceito• Método de relaxação.
Trata a iluminação global como um sistema linear.
Requer BRDF constante (superfícies difusas).
Resolve equação de iluminação como um problema matricial.
• Processo Subdivide em retalhos. Calcula fatores de forma. Resolve radiosidade. Exibe retalhos.
Cornell Program of Computer Graphics
31
2002 LCG/UFRJ. All rights reserved.
Hemicubo para Computar Fatores de Hemicubo para Computar Fatores de FormaForma
a) 145 retalhosb) 1021 retalhosc) refinamento de b) por
subdivisão adaptativa com 1036 sub-retalhos
32
2002 LCG/UFRJ. All rights reserved.
Sistema LinearSistema Linear
nnnnnnnnn
n
n
E
E
E
B
B
B
FFF
FFF
FFF
2
1
2
1
21
22222212
11121111
1
1
1
n
jjjjiiiiii ABFAEAB
1
n
jjijiii BFEB
1
jijiji FAFA
33
2002 LCG/UFRJ. All rights reserved.
Um ExemploUm Exemplo 2
, 112
1ggF BA
2
,
11
11
2
1
ggF CB
ggF CA 2, 1
Fatores de Forma:
g = b/a
1
1
1
,,
,,
,,
BCCACC
CBBABB
CAABAA
FF
FF
FF
K
34
2002 LCG/UFRJ. All rights reserved.
Prateleira InfinitaPrateleira Infinita
Só A emite e não reflete.
A emite e reflete.
Só B emite e não reflete.
A e B emitem e refletem.
35
2002 LCG/UFRJ. All rights reserved.
Cálculo dos Fatores de FormaCálculo dos Fatores de Forma• Necessidade de avaliar uma integral de
superfície dupla.• Inviável computacionalmente para
ambientes complexos.• Ineficiente computacionalmente.
36
2002 LCG/UFRJ. All rights reserved.
Método NuméricoMétodo Numérico• Converte integral de superfície dupla
numa integral de linha dupla (teorema de Stokes).
• Apropriado para ambientes simples.• Método empregado no paper de 1984 de
Goral.
37
2002 LCG/UFRJ. All rights reserved.
Método do HemicuboMétodo do Hemicubo
• Introduzido em 1985 pelo grupo de Cornell.• Distância entre dois retalhos é grande
comparada a área do retalho. Integral interna não varia muito em relação a
integral externa. Integral área-área é aproximada pela integral
diferencial-área.
2221
)cos()cos(
2
2121dA
rπFF
A
AdAAA
38
2002 LCG/UFRJ. All rights reserved.
Analogia de Analogia de NusseltNusselt• Fator de forma é
equivalente a fração do círculo unitário correspondente a projeção do retalho sobre o hemisfério, seguida pela projeção sobre a base do círculo.
dAj
Ni
Nj
i
j
r
Aj
39
2002 LCG/UFRJ. All rights reserved.
Discretização do HemicuboDiscretização do Hemicubo• Qualquer retalho que tenha a mesma
projeção sobe o hemisfério tem o mesmo fator de forma.
• Pode-se projetar sobre um hemicubo ao invés de um hemisfério.
• Faces do hemicubo são divididas em pixels. Cada pixel é considerado um retalho. Fatores diferencial-área são pré-
calculados (fatores delta) e armazenados em uma tabela de busca.
40
2002 LCG/UFRJ. All rights reserved.
HemicuboHemicubo
41
2002 LCG/UFRJ. All rights reserved.
OclusãoOclusão• Todo retalho de superfície é projetado no
hemicubo.• Se o mesmo pixel contiver a projeção de
dois retalhos, usa-se aquela correspondendo ao retalho mais próximo (análogo ao z-buffer).
42
2002 LCG/UFRJ. All rights reserved.
Soma dos Fatores DeltaSoma dos Fatores Delta
43
2002 LCG/UFRJ. All rights reserved.
Integração dos Fatores DeltaIntegração dos Fatores Delta
• Por fim teremos conjuntos conexos de pixels que são projeções dos retalhos mais próximos.
• Executa-se então a soma para cada Fij (q é o conjunto de pixels sobre o qual Aj se projeta.
q
qij FF
44
2002 LCG/UFRJ. All rights reserved.
Pré-cálculo dos Fatores DeltaPré-cálculo dos Fatores Delta
• Na superfície no topo do hemicubo:
• Na superfície lateral perpendicular a x:
Ayx
Ar
Fqq
jiq
2222 )1(
1
)cos()cos(
Az
zF
q
222
q 1y
45
2002 LCG/UFRJ. All rights reserved.
Geometria para Cálculo dos Fatores Geometria para Cálculo dos Fatores DeltaDelta
x
46
2002 LCG/UFRJ. All rights reserved.
Projeção dos RetalhosProjeção dos Retalhos• Centro de projeção é o
centro do hemicubo.• Cada face do hemicubo
define um frustrum de visão.
• Arestas do hemicubo definem planos de recorte.
• Retalhos são projetados sobre cada face do hemicubo.
47
2002 LCG/UFRJ. All rights reserved.
Traçado de RaiosTraçado de Raios• Pode-se usar uma esfera discretizada em
elementos de área com fatores delta pré-calculados.
• Raios são lançados através de cada elemento de área da esfera.
• Considera-se a interseção com um retalho mais próxima do centro da esfera.
• Troca-se a complexidade do código hemicubo pela do código de traçado de raios.
48
2002 LCG/UFRJ. All rights reserved.
AcumulaçãoAcumulação• Resolve Ax = b como um
sistema linear MB = E• Solução de uma linha provê a
solução de um único retalho.• Intensidade de cada retalho é
atualizada de acordo com sua posição na matriz.
• Jacobi Bi
(k+1) = Ei – ji Mij Bj(k)
Radiosidade = Emissão mais outras radiosidades refletidas
• Gauss-SiedelBi = Ei – ji Mij Bj
Cálculo no local.• Sobre-relaxação
Bi(k+1) = 110% Bj
(k+1) – 10% Bj(k)
Gauss-Siedel é muito conservativo
nnnnnn
n
n
E
E
E
B
B
B
FF
FF
FF
2
1
2
1
21
22212
11121
1
1
1
Bi
49
2002 LCG/UFRJ. All rights reserved.
Refinamento ProgressivoRefinamento Progressivo
• A imagem inteira é atualizada a cada iteração, ao invés de um único retalho.
• Invertendo a relação:
• Requer um único hemicubo centrado em i.• Um único retalho atira luz na cena e as
radiosidades de todos os retalhos são atualizadas simultaneamente.
• Fatores de forma são calculados on the fly.
jFBBB ijjij i , a devido
jA
AFBBB
j
iijij ij , a devido
50
2002 LCG/UFRJ. All rights reserved.
AlgoritmoAlgoritmo• Um retalho é escolhido por vez para
disparar luz.
• O retalho i dispara Bi, a radiosidade que recebeu desde a última iteração.
• Disparam primeiro os retalhos que influenciam mais a cena (BiAi maior).
• Inicialmente, Bi= Bi=Ei, para todo retalho.
51
2002 LCG/UFRJ. All rights reserved.
Pseudo-CódigoPseudo-Código
Selecione retalho i;Calcule Fij para cada retalho j;
Para cada retalho j faça {Rad = j BiFij Ai /Aj;
Bj = Bj + Rad;
Bj = Bj + Rad;
}Bi = 0;
52
2002 LCG/UFRJ. All rights reserved.
DisparoDisparo
• Refinamento Progressivo• Distribui radiosidade extra Bi
pelos outros retalhos
Bj(k+1) = Bj
(k) + jFji Bi• Radiosidade extra “não
disparada” é o que recebemosda última iteração
Bi = Bj(k) – Bj
(k-1)
• Energia parte dos emissores• Distribui “progressivamente”
pela cena• Pode usar um termo
ambiente durante o processamento da cena, que é diminuído a medida que a radiosidade progressiva converge
Bi
IBM
nnnnnn
n
n
E
E
E
B
B
B
FF
FF
FF
2
1
2
1
21
22212
11121
1
1
1
53
2002 LCG/UFRJ. All rights reserved.
Calculando Radiosidade nos VérticesCalculando Radiosidade nos Vértices
• Uma vez obtidas as radiosidades nos retalhos, precisamos extrapolá-las para os vértices.
• Radiosidades nos vértices alimentam então um visualizador tipo Gouraud.
a b c
de f
g h i
1 2
3 4
Be=B1+B2+B3+B4
(Bb+Be)/2=(B1+B2)/2
(Ba+Be)/2 = B1
54
2002 LCG/UFRJ. All rights reserved.
Problemas da Solução por InversãoProblemas da Solução por Inversão• O sistema MB = E pode ser resolvido
invertendo-se a matriz M.• O tamanho de M é enorme e acarreta
problemas de armazenamento e de inversão. M é quadrada (n x n, n número de
retalhos.) Dobrar n quadruplica o número de
elementos de M.
55
2002 LCG/UFRJ. All rights reserved.
Métodos de RelaxaçãoMétodos de Relaxação• Vários métodos iterativos foram
desenvolvidos que iniciam o vetor B com uma solução inicial e então a refinam até que o erro esteja dentro de uma tolerância pré-definida.
• Radiosidade utiliza métodos de relaxação.
56
2002 LCG/UFRJ. All rights reserved.
Um Pouco de TeoriaUm Pouco de Teoria• Seja um sistema linear Kx = b, onde K é
uma matriz n x n, x e b são vetores coluna de dimensão n.
• Será gerada uma série de soluções aproximadas x que devem convergir para a solução real.
• x(g) é a aproximação no passo g.
57
2002 LCG/UFRJ. All rights reserved.
Erro da AproximaçãoErro da Aproximação• e(g) = x – x(g) é o erro.• r(g) = b – K x(g) = K e(g) é o resíduo.• Métodos de relaxação usam o resíduo para
refinar a aproximação e gerar o sucessor x(g+1).
• A estratégia é olhar para um elemento ri(g)
do vetor de resíduo e aplicar uma transformação ao elemento correspondente xi
(g) de forma a que ri(g)
0.
58
2002 LCG/UFRJ. All rights reserved.
ConvergênciaConvergência• Outros elementos de r
podem crescer, mas espera-se que a tendência geral seja na direção de valores menores para todos os elementos do resíduo.
)(
)(
,
)()1(
,
)(,
1
)()(,
)(,
1
)(,
gi
ii
gig
i
ii
giii
n
kik
gi
gkkii
giii
n
ki
gkki
xK
rx
K
xKrxKbxK
bxK
59
2002 LCG/UFRJ. All rights reserved.
ParadaParada• Ajustar um elemento até que seu resíduo
vá para zero é chamado de relaxamento do elemento.
• Critérios de parada são baseados numa tolerância t:
• max(|r|) < t
• |xi(g) – xi
(g+1)| < t
60
2002 LCG/UFRJ. All rights reserved.
Iteração de JacobiIteração de Jacobi
61
2002 LCG/UFRJ. All rights reserved.
Método de Método de Gauss-SeidelGauss-Seidel• Iteração de Gauss-Seidel é similar a de
Jacobi.• Jacobi calcula o resíduo a partir do x(g)
corrente e os próximos elementos são computados a partir dele.
Não se usam os novos valores x(g+1) até que todos os elementos tenham sido computados.
• Gauss-Seidel atualiza os valores no local e calcula o resíduo de novo para cada elemento.
62
2002 LCG/UFRJ. All rights reserved.
Iteração de Iteração de Gauss-SeidelGauss-Seidel
63
2002 LCG/UFRJ. All rights reserved.
Método de Método de SouthwellSouthwell• Gauss-Seidel atualiza os elementos em
ordem. Se o resíduo é grande para um elemento
e pequeno para os outros, o elemento grande será processado uma única vez por iteração.
• Southwell usa uma heurística gulosa para relaxar os elementos de maior magnitude primeiro. Um mesmo elemento pode ser ajustado
repetidamente em detrimento dos outros de menor magnitude.
64
2002 LCG/UFRJ. All rights reserved.
Iteração de Iteração de SouthwellSouthwell
65
2002 LCG/UFRJ. All rights reserved.
Sobre-relaxaçãoSobre-relaxação• Pode ser usada com qualquer método.• Ao invés de subtrair apenas a quantidade
necessária de cada elemento para levar seu resíduo para zero, subtrai-se “a mais”.
• Esta é uma estratégia agressiva, que antecipa o futuro por um fator i.
66
2002 LCG/UFRJ. All rights reserved.
Iteração com Sobre-relaxação.Iteração com Sobre-relaxação.
)()1(
)()()1(
)()()1(
)1(
se-usa invés ao ,
gii
gi
gii
gi
gi
gi
gi
gi
rr
xxx
xxx
67
2002 LCG/UFRJ. All rights reserved.
Interpretação dos Diversos MétodosInterpretação dos Diversos Métodos• Emissão é a primeira estimativa para
radiosidade dos retalhos.• Resíduo mede a diferença entre a emissão
e a radiosidade refletida.• Duas parcelas: radiosidade emitida
(disparada) e não distribuída (ainda). Resíduo mede quanta radiosidade a
mais deveria estar sendo emitida mas ainda não foi.
68
2002 LCG/UFRJ. All rights reserved.
JacobiJacobi• Jacobi atualiza todos os elementos do
vetor de uma vez. A radiosidade de cada retalho é
incrementada para representar a energia não distribuída.
Este método não é muito usado. • Um número pequeno de retalhos
influenciam a cena no início. É um desperdício atualizar todos os
retalhos a cada passo se eles não contribuem muito na luz da cena.
69
2002 LCG/UFRJ. All rights reserved.
Gauss-SeidelGauss-Seidel• Atualiza a solução inteira a cada passo,
mas usa os novos valores computados para ser mais eficiente.
• A equação de radiosidade é a soma da potência emitida e a refletida, acumulada de todos os outros retalhos da cena.
70
2002 LCG/UFRJ. All rights reserved.
SouthwellSouthwell• Relaxa-se o elemento com o maior
resíduo.• Significa que se usa o retalho com a maior
radiosidade não distribuída para disparar a sua energia na cena. Começa com a maior fonte de luz e
distribui a sua energia para as outras superfícies.
• Refinamento progressivo usado por Cohen em 1995 emprega uma variante deste método.
71
2002 LCG/UFRJ. All rights reserved.
Um Exemplo RealUm Exemplo Real
• Refinamento progressivo depois de 1, 2, 24 e 100 passos.• 500 retalhos, 7000 sub-retalhos.• Radiosidade ambiente estimada foi adicionada.