71
1 2002 LCG/UFRJ. All rights reserved. Introdução à Computação Gráfica Introdução à Computação Gráfica Radiosidade Radiosidade Claudio Esperança Paulo Roma Cavalcanti

2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

Embed Size (px)

Citation preview

Page 1: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

1

2002 LCG/UFRJ. All rights reserved.

Introdução à Computação GráficaIntrodução à Computação GráficaRadiosidadeRadiosidade

Claudio EsperançaPaulo Roma Cavalcanti

Page 2: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo 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).

Page 3: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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).

Page 4: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 5: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 6: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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)

Page 7: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 8: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 9: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 10: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 11: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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).

Page 12: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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, α = .

Page 13: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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()

Page 14: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 15: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

15

2002 LCG/UFRJ. All rights reserved.

Ângulos Sólidos ElementaresÂngulos Sólidos Elementares

Page 16: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

16

2002 LCG/UFRJ. All rights reserved.

Grandezas Grandezas RadiométricasRadiométricas

dA

dIrradiância:

Page 17: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 18: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 19: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 20: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 21: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

21

2002 LCG/UFRJ. All rights reserved.

Interação entre Dois Elementos de Interação entre Dois Elementos de SuperfícieSuperfície

Page 22: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 23: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 24: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 25: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 26: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 27: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 28: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

28

2002 LCG/UFRJ. All rights reserved.

ReciprocidadeReciprocidade

Simetria:

Fk,i. Ak = Fi,k . Ai

Page 29: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 30: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 31: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 32: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 33: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 34: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 35: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 36: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 37: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 38: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 39: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 40: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

40

2002 LCG/UFRJ. All rights reserved.

HemicuboHemicubo

Page 41: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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).

Page 42: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

42

2002 LCG/UFRJ. All rights reserved.

Soma dos Fatores DeltaSoma dos Fatores Delta

Page 43: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 44: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

qq

222

q 1y

Page 45: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

45

2002 LCG/UFRJ. All rights reserved.

Geometria para Cálculo dos Fatores Geometria para Cálculo dos Fatores DeltaDelta

x

Page 46: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 47: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 48: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 49: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 50: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 51: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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;

Page 52: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 53: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 54: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 55: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 56: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 57: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 58: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 59: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 60: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

60

2002 LCG/UFRJ. All rights reserved.

Iteração de JacobiIteração de Jacobi

Page 61: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 62: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

62

2002 LCG/UFRJ. All rights reserved.

Iteração de Iteração de Gauss-SeidelGauss-Seidel

Page 63: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 64: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

64

2002 LCG/UFRJ. All rights reserved.

Iteração de Iteração de SouthwellSouthwell

Page 65: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 66: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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

Page 67: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 68: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 69: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 70: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.

Page 71: 2002 LCG/UFRJ. All rights reserved. 1 Introdução à Computação Gráfica Radiosidade Claudio Esperança Paulo Roma Cavalcanti

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.