74
Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo [email protected] http://www.tecgraf.puc-rio.br/~abraposo/ INF1366/index.htm

Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo [email protected] abraposo/INF1366/index.htm

Embed Size (px)

Citation preview

Page 1: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

Revisando...

Alberto B. [email protected]

http://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm

Page 2: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Estrutura de aplicação gráfica interativa tradicional

Carla Freitas, UFRGS

Page 3: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Modelagem Geométrica

• Tipos de estruturação de dados– Wireframe (representação de arestas)– Boundary representation (B-Rep)– Quadtree / Octree

• Malhas de Polígonos– LOD (nível de detalhe)

• Curvas• Geração de 3D a partir de 2D• Outras técnicas

– Metaballs– Subdivision Surfaces– Low-Poly

Page 4: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

TransformaçõesProjetivas

Perspectiva

Afins

TranslaçãoRotação

EuclidianasLinear

Similaridades

EscalaentoIsotrópico

IdentidadeEscalamento

Shear

Reflexão

Page 5: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Escalamento• Escalar uma coordenada significa multiplicar cada

um de seus componentes por um valor escalar• Escalamento isotrópico significa que esse valor

escalar é o mesmo para todos os componentes

2

D. Brogan, Univ. of Virginia

Page 6: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Escalamento

• Operação de escalamento:

• Na forma matricial:

byax

yx''

yx

ba

yx

00

''

Matriz de escalamento

D. Brogan, Univ. of Virginia

Page 7: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Rotação 2D• Na forma matricial:

• Embora sin() e cos() sejam funções não-lineares de ,– x’ é combinação linear de x e y– y’ é combinação linear de x e y

yx

yx

cossinsincos

''

D. Brogan, Univ. of Virginia

Page 8: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Translação 2D

y

x

y

xtytx

tt

yx

yx

''

y

xx

y

y

x

tt

t

M. Gattass, PUC-Rio

Page 9: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Coordenadas Homogêneas

• Coloca uma 3a coordenada para cada ponto 3D– (x, y, w) representa um ponto em (x/w, y/w)– (x, y, 0) representa um ponto no infinito– (0, 0, 0) não é permitido

Sistema conveniente para representar muitas transformações úteis em CG

1 2

1

2(2,1,1) or (4,2,2) or (6,3,3)

x

y

D. Brogan, Univ. of Virginia

Page 10: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações 2D Básicas

• Representação em matrizes 3x3

11000cossin0sincos

1''

yx

yx

11001001

1''

yx

tt

yx

y

x

11000101

1''

yx

shsh

yx

y

x

Translação

Rotação Cisalhamento (Shear)

11000000

1''

yx

ss

yx

y

x

Escalamento

Page 11: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações em 3D

• Mesma idéia que em 2D:– Coordenadas homogêneas: (x,y,z,w) – Matrizes de trasnformação 4x4

wzyx

ponmlkjihgfedcba

wzyx

''''

Page 12: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações 3D Básicas

wzyx

wzyx

1000010000100001

'''

wzyx

ttt

wzyx

z

y

x

1000100010001

'''

wzyx

ss

s

wzyx

z

y

x

1000000000000

'''

IdentidadeEscalamento

TranslaçãoD. Brogan, Univ. of Virginia

Page 13: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações 3D Básicas

wzyx

wzyx

1000010000cossin00sincos

'''

Rotação em torno de Z:

wzyx

wzyx

10000cos0sin00100sin0cos

'''

wzyx

wzyx

10000cossin00sincos00001

'''

Rotação em torno de Y:

Rotação em torno de X:

Page 14: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Visualização e Projeção

viewport

Modelos 3Dcamera setup

John Dingliana, 2004

Page 15: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Taxonomia de Projeções

Page 16: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Projeção Ortográfica Simples• Projeta todos os pontos ao longo do eixo z

para o plano z = 0

x´y´z´1

=

xyz1

1000

0100

0000

0001

MIT EECS 6.837, Durand and Cutler

Page 17: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Projeção cônica simples

xe

ye

ze

P

Pp

nz

yzny

xznx

p

ee

p

ee

p

e

eh

eh

eh

zwznzynyxnx

10100000000000

e

e

e

h

h

h

zyx

nn

n

wzyx

Page 18: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Câmera

Page 19: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações de Visualização

• Cria-se uma visualização centrada na câmera

• Câmera está na origem• Câmera olha para o eixo z no sentido negativo• O ‘up’ é alinhado com o eixo y

D. Brogan, Univ. of Virginia

Page 20: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Matriz de Transformação de Visualização

Para transformar vértices:

Page 21: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Recorte (clipping) • Clip contra uma aresta (plano) de cada vez

Page 22: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Remoção de Superfícies Escondidas (Visibilidade)

• Determinar a visibilidade dos polígonos antes de enviá-los para placa gráfica (culling):– Back face culling;– View frustum culling;– Occlusion Culling;– Célula / Portal

Page 23: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Rasterizar

•Converter coordenadas da tela em cores de pixels

L. McMillanMIT 6.837 notes (Fall ’98)

Page 24: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Scan-line Rasterization

• Requer um “setup”inicial para ser preparado

[P. Shirley, pag 55]

Cluter & Durand, MIT

Page 25: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Active Edge Table (AET)

Slater, Steed & Chrysanthou, 2002

Page 26: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Iluminação

• Iluminação direta (local)– Emissão nas fontes de luz– Dispersão nas superfícies

• Iluminação global– Sombras– Refrações– Reflexões Inter-objetos

Iluminação direta

D. BroganUniv. of Virginia

Page 27: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Modelo de Iluminação

• Modelo analítico simples: – reflexão difusa +– reflexão especular +– emissão +– “ambiente”

Superfície

D. BroganUniv. of Virginia

Page 28: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Equação de Iluminação

• Para uma fonte de luz:

Ln

SLDALAE IRVKILNKIKII )()(

N

LR

V

observador

D. BroganUniv. of Virginia

Page 29: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Luz ambiente

•Para cada comprimento de onda amostrado (R, G, B), a luz ambiente refletida em uma superfície depende de– Propriedades da superfície, kambient

– Intensidade, Iambient, da fonte de luz ambiente (constante para todos os pontos em todas as superfícies)

• Ireflected = kambient IambientD. BroganUniv. of Virginia

Page 30: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Reflexão Difusa

é o ângulo de incidência:

•Idiffuse = kd Ilight cos •Na prática, usa-se aritmética de vetores

•Idiffuse = kd Ilight (n • l)

nl

D. BroganUniv. of Virginia

Page 31: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Reflectância especular não-ideal: Aproximação Empírica

•Ilustração da distribuição da reflexão:

D. BroganUniv. of Virginia

Page 32: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Modelo de Iluminação de Phong

•O termo do cos pode ser calculado via aritmética de vetores:

– v é o vetor unitário em direção ao observador– r é a direção de reflexão ideal

shinynlightsspecular rvIkI

v

D. BroganUniv. of Virginia

Page 33: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Shading (tonalização)• Flat Shading

– Calcula a iluminação de Phong uma única vez para cada polígono

• Gouraud Shading– Calcula a iluminação de Phong para os vértices e

interpola os valores obtidos ao longo do polígono

• Phong Shading– Interpola as normais ao longo do polígono e calcula a

iluminação de Phong ao longo de todo o polígono

Page 34: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Suavização da tonalização

c1 c4

c2

c3

c12 c43c

N1 N4

N2

N3

N12 N43

c

GouraudPhong

N

M. Gattass, PUC-Rio

Page 35: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Shading

Page 36: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Shading

Flat Gouraud

Page 37: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Shading

Gouraud Phong

Page 38: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Pipeline GráficoModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

Page 39: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformações de Modelagem• Modelos 3D definidos em seu

próprio sistema de coordenadas (object space)

• Transformações de modelagem orientam os modelos de acordo com um sistema de coordenadas comum (world space)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display Object space World spaceCluter & Durand, MIT

Page 40: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Iluminação (Shading) (Lighting)

• Vértices “acessos” (shaded) de acordo com as propriedades do material, da superfície (normal) e das fontes de luz

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

Page 41: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Transformação de VisualizaçãoModeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Eye space

World space

• Mapeia o world space para o eye space

• Posição do observador é colocada na origem e a direção de foco é orientada ao longo de um dos eixos (normalmente z)

Cluter & Durand, MIT

Page 42: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Clipping (Recorte)• Transforma para Normalized Device

Coordinates (NDC)

• Partes do objeto fora do volume de visualização(view frustum) são removidas

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Eye space NDC

Cluter & Durand, MIT

Page 43: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Projeções• Objetos são projetados para o espaço

2D da imagem (screen space)Modeling

Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

NDC Screen Space

Cluter & Durand, MIT

Page 44: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Rasterização• Rasteriza objetos em pixels• Interpola valores (cores,

profundidade, etc.)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

Page 45: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Visibilidade / Display• Cada pixel lembra o objeto mais

próximo (depth buffer)

• Quase todas as etapas do pipeline gráfico envolve mudança de sistema de coordenadas. Transformações são fundamentais

em computação gráfica!

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

Page 46: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Luz e Cor

Marcelo Gattass, PUC-Rio

Page 47: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Luz

Onda eletro-magnética

(m)

VISÍVEL

f (Hertz)

102 104 106 108 1010 1012 1014 1016 1018 1020

rádioAM FM,TVMicro-Ondas

Infra-VermelhoUltra-Violeta

RaiosX

106 104 102 10 10-2 10-4 10-6 10-8 10-10 10-12

vermelho (4.3 1014 Hz), laranja, amarelo,..., verde, azul, violeta (7.51014

Hz)

Page 48: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Luz branca

luzbranca

prisma

vermelhoalaranjadoamareloverdeazulvioleta

luz branca (acromática) tem todos os comprimentos de onda

Newton

Cor Violeta 380-440 nmAzul 440-490 nmVerde 490-565 nmAmarelo 565-590 nmLaranja 590-630 nmVermelho 630-780 nm

1 nm = 10-9 m

Page 49: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fontes luminosas

fonte luminosa branca

100

0

50

nm

Eluz branca

luz colorida

400 500 600 700

Page 50: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Características das fontes luminosas

400 500 600 700

nm

E

brilho (brightness)

intensidadedefine o brilho

(brightness)

400 500 600 700 nm

E

saturação

a concentração no comprimento de onda dominante

define asaturação ou pureza

cores pastéissão menos saturadas oumenos puras

nm

E

matiz (hue)

comprimento de onda dominante

define a matiz (hue)

400 500 600 700

Page 51: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Processos aditivos de formação de cores

Ea+b() = Ea ()+Eb()

Ea

Eb

a

ba+b

Ea+b

O olho não vê componentes!

Page 52: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Processos subtrativos de formação de cores

filtros

Luz branca

Filtro verde

Luz verde

Ei Eft

Ef() = t() . Ei ()

transparência

Page 53: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

O olho humano

retina bastonetes

cones vermelhoverdeazul

Page 54: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Espaço de cor do olho humano

Olho humano: Cones (RGB) e Bastonetes (cegos para cor)

.020

.04

.06

.08

.10

.12

.14

.16

.18

.20

400 440 480 520 560 600 640 680

fraç

ão d

e lu

z ab

sorv

ida

por

cada

con

e

comprimento de onda (nm)

B(

G(

R(

Page 55: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Fração da luz absorvida pelo olho

0

50

100

sens

ibili

dade

rela

tiva

luminosidade

nm

400 500 600 700

Page 56: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Tons de cinza igualmente espaçadosBranco

Inte

nsid

ade

Preto

Posição

Branco

Preto

Inte

nsid

ade

Posição

Page 57: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Banda de Mach

Posição

Branco

PretoIn

tens

idad

e

Efeito da Banda de Mach

Page 58: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Contraste Simultâneo

Page 59: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Contraste

Page 60: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Contraste

Page 61: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Page 62: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Page 63: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Conclusões do cérebro

Page 64: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

O problema de reprodução de cor em CG

Mundo Real

Espaço Virtual

E

400 700

E

BG

R

• mesma sensação de cor Metamerismo

• só distingue 400 mil cores (< 219) 19 bits deveriam ser suficientes

Page 65: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Cores visíveis representadas no sistema CIE xyY

Page 66: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

520

480

490

500

510540

560

Purpura

580

600

700

400

Azul

Cian

Verde

Amarelo

Vermelho

x

y

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

Branco

0.1

0.2

0.3

0.4

0.6

0.5

0.7

0.8

0.9

1.0

Cores visíveis representadas no sistema CIE xyY

Page 67: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Riox

y

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0

0.1

0.2

0.3

0.4

0.6

0.5

0.7

0.8

0.9

1.0

gamute de um monitor

gamute de uma impressora

C1

C2

W

C2 cor não realizável

C1 cor não realizável na impressora

Gamute de cromaticidade de dispositivos

Page 69: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Monitores

I ) Sistemas dos Monitores - mRGB

processo aditivo

pixel

Page 70: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - mRGB

I ) Sistemas dos Monitores - mRGB

B

normalmentetemos 1 byte para cada componentemapeando[0, 255] em [0,1]

processo aditivo

R

G

B

1.0

1.0

1.0

Y

M

CW

K vermelho

azul

preto

verde

amarelo

ciano

magenta

branco

Page 71: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - mRGB

I ) Sistemas dos Monitores - mRGB

Page 72: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - CMY

II ) Sistemas das Impressoras -CMY ou CMYK

processo predominantementesubtrativo

C

Y

M

R G

B

K

luz branca (1,1,1)

tinta ciano (0,1,1)

luz ciano (0,1,1)

componente vermelha é absorvidapapel branco (1,1,1)

normal

Page 73: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - CMY

II ) Sistemas das Impressoras -CMY ou CMYK

Page 74: Alberto Raposo – PUC-Rio INF 1366 – Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Conversão RGB para CMY e vice-versa

B

R

G

1.0

1.0

1.0

Y

M

CW

K vermelho

azul

preto

verdeamarelo

ciano

magenta

branco

1.0

1.0

1.0

Y

M

C

W

Kpreto

amarelo

ciano

magenta

branco

verde

vermelho

azul

(r,g,b) (c,m,y)

(c,m,y) = (1-r, 1-g, 1-b)