Fundamentos de Computação Gráfica
Prof. Marcelo Gattass
Guilherme Schirmer de Souza


O objetivo dessa apresentação é fazer uma
breve descrição teórica do primeiro trabalho da
disciplina de Fundamentos de Computação
Gráfica além de mostrar os resultados obtidos.
O Trabalho consistia em através de um
determinado espectro de luz mostrar os
diversos tipos de reflexão em um determinado
objeto.

Fisicamente a cor é produzida por uma
radiação eletromagnética cujo comprimento de
onda está na faixa visível (entre 380 nm e 800
nm aproximadamente). Devido aos diversos
tipos de radiação, a CIE, criou tipos padrão de
iluminantes, como o Iluminante C e o
Iluminante D65, para representar algumas das
diferentes fontes de iluminação que existem. O
Iluminante D65 (CIE D65), por exemplo,
representa a luz do dia (vide Figura 1).
z( )
2
y( )
1
x( )
0
380
480
580
680
780
Figura 2
Figura 1
Além disso, a CIE criou o sistema CIE-XYZ de
cores, para poder representar as cores visíveis
do espaço. Tal sistema é baseado em três
dimensões (sensores) devido ao fato do sistema
visual
humano
possuir
moléculas
fotossensíveis de amostragem nas faixas
Vermelho, Verde e Azul (vide Figura 2).

Para calcular a cor XYZ de um espectro utilizase as seguintes equações:
780
X  k  P( ) x( )d
k
380
100
780

780
Y  k  P( ) y ( )d
w
( ) y ( )d
380
380
780
Z  k  P( ) z ( )d
380
sendo P o espectro o qual se deseja a cor, x, y e
z os sensores do modelo e Ф o iluminante
considerado como branco padrão (no caso,
D65). Para o caso discreto, as equações são as
seguintes:
_
X  k 380 P  x 
780
_
Y  k 380 P  y 
780
_
Z  k 380 P  z 
780
k
100
780
_
   y 
380

Os monitores dos computadores não utilizam o
sistema XYZ de cores, sendo assim as cores
XYZ devem ser convertidas para o espaço RGB
de cor. Porém, cada dispositivo usa seu
próprio tipo específico de sistema de cor RGB.
Por isso, foi criado o sistema sRGB, de forma a
padronizar as cores e as estratégias de
manipulação das mesmas. A conversão de XYZ
para sRGB é feita da seguinte forma:

ref_X = 95.047
ref_Y = 100.000
ref_Z = 108.883
//Observer = 2°, Illuminant = D65
var_X = X / 100
var_Y = Y / 100
var_Z = Z / 100
//X = From 0 to ref_X
//Y = From 0 to ref_Y
//Z = From 0 to ref_Y
var_R = var_X * 3.2406 + var_Y * -1.5372 + var_Z * -0.4986
var_G = var_X * -0.9689 + var_Y * 1.8758 + var_Z * 0.0415
var_B = var_X * 0.0557 + var_Y * -0.2040 + var_Z * 1.0570
if ( var_R > 0.0031308 ) var_R = 1.055 * ( var_R ^ ( 1 / 2.4 ) ) - 0.055
else
var_R = 12.92 * var_R
if ( var_G > 0.0031308 ) var_G = 1.055 * ( var_G ^ ( 1 / 2.4 ) ) - 0.055
else
var_G = 12.92 * var_G
if ( var_B > 0.0031308 ) var_B = 1.055 * ( var_B ^ ( 1 / 2.4 ) ) - 0.055
else
var_B = 12.92 * var_B
R = var_R * 255
G = var_G * 255
B = var_B * 255

Em um ambiente físico, os objetos não são
iluminados apenas pela luz de uma lâmpada e
pela luz solar. Eles também são iluminados
pelos demais objetos do meio que se
encontram, através da reflexão desses com as
fontes de luz supracitadas. Vários fatores
influenciam a forma como cada objeto reflete a
luz recebida como o ângulo de incidência do
raio de luz, o espectro da luz incidente e a
direção da qual se mede a reflexão.


Através de várias medições realizadas, foi
verificado que a luz que incide numa superfície
divide-se em uma parcela absorvida (reflexão
ambiente), uma parcela refletida sem direção
preferencial (reflexão difusa), uma parte que é
refletida na direção do reflexo (reflexão
especular), entre outras (vide figura 3).
Dessa forma, para calcular as cores de um
objeto iluminado, para cada uma dessas
parcelas, existem diversos modelos, sendo uns
bem simples e outros bem complexos e
realistas.
Figura 3

A reflexão ambiente é um artifício introduzido
para simular as reflexões mútuas entre os
objetos. A intensidade da iluminação ambiente
em um objeto é dada por:
S a  ka I a
onde ka é o coeficiente de reflexão ambiente
específico de cada objeto e Ia é a intensidade da
luz ambiente.

Superfícies
que
refletem
de
forma
perfeitamente difusa seguem a lei de Lambert,
que afirma que a intensidade da radiação
refletida por unidade de área independe da
direção de reflexão (vide figura 4). A reflexão
difusa é dada por:
 
Sd  IKd cos( ) ou S d  IKd N . L
onde θ é o ângulo entre a luz (L) e a normal da
superfície (N), kd é o coeficiente de difusão
específico do objeto (determina a cor do objeto)
e I é a intensidade da luz.
luz
incidente
luz
incidente
Figura 4
luz
incidente

Superfícies lisas ou brilhantes refletem a fonte
de luz e causam um espalhamento da luz ao
redor do reflexo. Este efeito é simulado pelo
modelo de Phong. O espalhamento é
conseguido por um aumento na intensidade de
luz em direções próximas da reflexão especular
R (vide Figura 5). A intensidade depende da
posição V do observador, e é máxima na
direção de R. O vetor R é obtido pela fórmula:
 
R  2( N L) N  L


A reflexão é dada por:
  n

 ou S  k I cos n
Se  ke I  R .V 
e
e


onde ke é o coeficiente especular de cada objeto
e n é uma constante característica da superfície.
O modelo de Phong é um modelo empírico,
baseado em observações físicas.
Figura 5

O modelo de Blinn-Phong é muito similar ao
modelo de Phong. A diferença é a utilização do
vetor H (bissetriz entre a luz e o observador) e
da normal N ao invés de R e V no cálculo do
coeficiente especular. O objetivo é otimizar pois
a bissetriz H só precisa ser calculada uma vez,
ao contrário do R.

A reflexão da luz de superfícies reais tem sido
objeto de muito estudo teórico e experimental.
Os resultados experimentais foram próximos
do modelo de Phong, porém com algumas
diferenças. As diferenças são que a intensidade
da reflexão especular varia de acordo com a
direção da fonte de luz e o ângulo de pico da
reflexão especular não é sempre o ângulo de
incidência. Com isso, Cook e Torrance criaram
um modelo diferente de reflexão levando em
conta essas diferenças físicas.

Assim, é suposto que a superfície simulada é
composta por uma coleção de micro facetas
espelhadas que são orientadas de forma aleatória
na superfície. Além disso, é assumido que a
componente especular da luz refletida vem da
reflexão das facetas orientas na direção H (o
mesmo H do modelo Blinn-Phong). Portanto a
reflexão especular é uma combinação dos
seguintes fatores:
DGF
Se  ke I  
( N .V )
onde D é a função de distribuição da direção das
micro facetas, G é a quantidade de sombra e
cobertura que as facetas provocam entre si e F é a
lei de reflexão de Fresnel.

A luz refletida especularmente em uma
determinada direção pode vir somente das
facetas orientadas para refletir a luz naquele
direção, ou seja, as facetas orientadas na
direção de H. D representa exatamente essa
quantia. O cálculo exato de D é na forma de
uma exponencial (distribuição de Beckmann),
porém para facilitar a sua obtenção, D pode ser
calculado da seguinte forma:


c2

D  
2
2
 cos ( NH ) c  1  1 


2

Essa fórmula é baseada no modelo de micro
facetas como elipsóides de revolução e c é a
excentricidade dos elipsóides. c é 0 para
superfícies brilhantes e 1 para superfícies
difusas.

Algumas das facetas provocam sombras nas
outras, reduzindo assim a luz que chegua em
cada uma delas. O fator de atenuação (G) é o
valor dessa atenuação e varia de 0 a 1 para
representar a proporção de luz remasnecente.
O cálculo de G leva em conta todas as
situações: quando não existe interferência entre
as micro facetas, quando a reflexão é bloqueada
e quando a luz incidente é bloqueada. O valor
de G é portando o menor entre esses 3 valores:
Para o caso a Ga = 1.0
Para o caso b Gb = 2(N·H)(N·E)/(E·H)
Para o caso c Gc = 2(N·H)(N·L)/(E·H)
G = min (Ga, Gb, Gc)
Figura 6

A reflexão de Fresnel obtém a fração de luz
incidente em uma faceta que é refletida ao
invés de absorvida.
2
2

g  c   cg  c   1 
1 

F
2 
2 
2g  c   cg  c   1 
  
2
2
c  V H 
g

n

c
1
onde
,


de refração do objeto
e n é o índice

A intensidade global de iluminação de um
ponto é dado, portanto, pelo somatório das
componentes ambiente, difusa e especular:
S  S a  S d  Se
Cook


Blin-Phong
Phong
Material: Alumínio
ka = (0,0,0); kd=(0.6,0.6,0.6); ks=(0.4,0.4,0.4)
n (Phong) = 200; n (Blinn-Phong) = 200; n (Cook) = 200
c = 0.35 (Cook)
Iluminante: D65
Cook


Blin-Phong
Phong
Material: Aleatório
ka = (0.9,0.2,0.2); kd=(0.9,0.2,0.2); ks=(1,1,1)
n (Phong) = 50; n (Blinn-Phong) = 50; n (Cook) = 50
c = 0.35 (Cook)
Iluminante: D65
Cook


Blin-Phong
Phong
Material: Cerâmica de óxido de magnésio
ka = (0,0,0); kd=(0.333,0.333,0.333); ks=(0.667,0.667,0.667)
n (Phong) = 58; n (Blinn-Phong) = 58; n (Cook) = 1.8
c = 0.35 (Cook)
Iluminante: D65







Notas de aula.
http://www.cie.co.at/publ/abst/datatables15_20
04/sid65.txt
http://www.isc.tamu.edu/~astro/color/cie_xyz1
964.html
http://en.wikipedia.org/wiki/D65
http://en.wikipedia.org/wiki/Chromaticity_c
oordinate#The_CIE_xy_chromaticity_diagram
Gomes, Jonas; Velho, Luiz. Computação Gráfica, Vol
1. Rio de Janeiro, IMPA, 1998.
http://users.directnet.com.br/val/tutor/tutor.ht
ml#capit5


https://www.siggraph.org/education/materi
als/HyperGraph/illumin/similum0.htm
http://en.wikipedia.org/wiki/CookTorrance#Cook.E2.80.93Torrance_model
Download

Slide 1 - PUC-Rio