82
1 Instituto de Computação - UFF Computação Computação Gráfica I Gráfica I Professor : Anselmo Montenegro www.ic.uff.br/~anse lmo Conteúdo : - Introdução

Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

Embed Size (px)

Citation preview

Page 1: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

1

Instituto de Computação - UFF

Computação Gráfica IComputação Gráfica IProfessor:

Anselmo Montenegrowww.ic.uff.br/~anselmo

Conteúdo:

- Introdução

Page 2: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

2

Instituto de Computação - UFF

Computação Gráfica Computação Gráfica : : noção clássicanoção clássica

1200 1200

1.000000 1.000000 37.600000

2.000000 1.000000 39.600000

3.000000 1.000000 40.700000

4.000000 1.000000 42.600000

5.000000 1.000000 42.600000

6.000000 1.000000 43.100000

...

1200 1200

1.000000 1.000000 37.600000

2.000000 1.000000 39.600000

3.000000 1.000000 40.700000

4.000000 1.000000 42.600000

5.000000 1.000000 42.600000

6.000000 1.000000 43.100000

...

ComputaçãoComputação

GráficaGráfica

DADOSDADOS IMAGENSIMAGENS

Page 3: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

3

Instituto de Computação - UFF

AplicaçõesAplicações: : cinemacinema

Page 4: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

4

Instituto de Computação - UFF

AplicaçõesAplicações: : cinemacinema

Jurassic Park ®

Page 5: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

5

Instituto de Computação - UFF

AplicaçõesAplicações: : cinemacinema

Page 6: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

6

Instituto de Computação - UFF

AplicaçõesAplicações: : jogos eletrônicosjogos eletrônicos

Gears of war xbox360 ®

Page 7: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

7

Instituto de Computação - UFF

AplicaçõesAplicações: : engenhariaengenharia

Petrobras – Tecgraf – PUC-Rio

Page 8: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

8

Instituto de Computação - UFF

AplicaçõesAplicações: : indústriaindústria

Page 9: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

9

Instituto de Computação - UFF

AplicaçõesAplicações: : medicinamedicina

ZsXs

Ys

Ana Elisa F. Schmidt – Tese de Doutorado – PUC-Rio

Page 10: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

10

Instituto de Computação - UFF

AplicaçõesAplicações: : medicinamedicina

Page 11: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

11

Instituto de Computação - UFF

AplicaçõesAplicações: : visualização científicavisualização científica

http://sdcd.gsfc.nasa.gov/SVS/stories/solve/toms.html

Page 12: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

12

Instituto de Computação - UFF

Sub-áreas da Computação GráficaSub-áreas da Computação Gráfica

Imagem digital Imagem digital

Modelos e Dados Modelos e Dados

Análise de ImagensAnálise de Imagens

(Visão Computacional)(Visão Computacional)

Síntese de ImagensSíntese de Imagens

(Visualização)(Visualização)

ModelagemModelagem

ProcessamentoProcessamento

de Imagensde Imagens

Page 13: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

13

Instituto de Computação - UFF

Síntese de imagensSíntese de imagens

Page 14: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

14

Instituto de Computação - UFF

Processamento de imagensProcessamento de imagens

Borramento Detecção de arestas

Tons de cinza

Page 15: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

15

Instituto de Computação - UFF

Visão ComputacionalVisão Computacional

LAK 5519

Page 16: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

16

Instituto de Computação - UFF

Visão ComputacionalVisão Computacional

Juiz Virtual – Tecgraf – PUC-Rio

Page 17: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

17

Instituto de Computação - UFF

Novas tendências: Novas tendências: modelagem modelagem baseada em imagensbaseada em imagens

Page 18: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

18

Instituto de Computação - UFF

Fundamentos da Computação GráficaFundamentos da Computação Gráfica

• Modelos físicosModelos físicos• Modelos Modelos

matemáticosmatemáticos

• Esquemas de Esquemas de representação.representação.

• Estruturas de Estruturas de dados e dados e algoritmos.algoritmos.

Universo Universo

FísicoFísico

Universo Universo

FísicoFísico

Universo Universo

MatemáticoMatemático

Universo Universo

MatemáticoMatemático

Universo de Universo de

RepresentaçãoRepresentação

Universo de Universo de

RepresentaçãoRepresentação

Universo de Universo de

ImplementaçãoImplementação

Universo de Universo de

ImplementaçãoImplementação

Page 19: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

19

Instituto de Computação - UFF

Fundamentos da Computação GráficaFundamentos da Computação Gráfica

Físico Matemático

Representação Implementação

zzf(uf(u00,v,v00))

vv

uu

I = f : U I = f : U R R2 2 RR

float terreno[N][M];float terreno[N][M];

..

..

M(zM(zijij))Zij=f(xZij=f(xii,y,yjj))(x(xii,y,yjj))

Page 20: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

20

Instituto de Computação - UFF

Requisitos da Computação GráficaRequisitos da Computação Gráfica

EFICIÊNCIAEFICIÊNCIAEFICIÊNCIAEFICIÊNCIA REALISMOREALISMOREALISMOREALISMO

Page 21: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

21

Instituto de Computação - UFF

Profissionais da Computação GráficaProfissionais da Computação Gráfica

• Usuários.

• Customizadores.

• Programadores de aplicações.

• Desenvolvedores de ferramentas.

Page 22: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

22

Instituto de Computação - UFF

Computação GráficaComputação Gráfica: : um históricoum histórico

• Anos 60-70

– Ivan Sutherland (Sketchpad, 1963).

– Tecnologia de display: terminais gráficos vetoriais capazes de armazenar primitivas (raster inviável, devido a custo de memória e capacidade de processamento).

– Wire-frame, aplicações de CAD.

– Problemas fundamentais: visibilidade, recorte, técnicas de modelagem geométrica (2D e 3D).

Page 23: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

23

Instituto de Computação - UFF

Computação GráficaComputação Gráfica: : um históricoum histórico

Ivan Sutherland

Page 24: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

24

Instituto de Computação - UFF

Computação GráficaComputação Gráfica: : um históricoum histórico

• Anos 80

– Viabilização da tecnologia raster (economia de mercado, microcomputadores).

– Adaptação das técnicas wire-frame para raster.

– Z-buffer: inviável quando introduzido (1975), mas a tecnologia do futuro.

– Visualização realista, animação, iluminação global (radiosidade).

– Interfaces gráficas.

Page 25: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

25

Instituto de Computação - UFF

Computação GráficaComputação Gráfica: : um históricoum histórico

• Anos 90

– Consolidação do raster.

– Visualização volumétrica.

– Maior integração com imagens (modelagem e visualização baseada em imagens).

– Aquisição de movimentos.

– Realismo em movimento (efeitos especiais).

Page 26: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

26

Instituto de Computação - UFF

Computação GráficaComputação Gráfica: : um históricoum histórico

• Na atualidade

– Programação em placas gráficas (indústria de jogos).

– Modelos de iluminação mais realistas(não Lambertianas).

– Aquisição de dados fotométricos mais precisos (HDR).

– Aquisição de geometria em tempo real.

– Modelos baseados em pontos.

– Superfícies de subdivisão.

Page 27: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

27

Instituto de Computação - UFF

Ciclo de vida dos problemasCiclo de vida dos problemas

• Os problemas essenciais são recolocados a cada mudança de tecnologia:

– Modelagem.

– Visibilidade.

– Imageamento.

– Animação.

Page 28: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

28

Instituto de Computação - UFF

Ferramentos para a programação Ferramentos para a programação gráficagráfica

Motif

GLUT

GKSOpenGL

QuickDrawXlib

IUP/lua

VisualBasic

DirectX

Java

ToolBook

C / C++

PHIGS

HOOPS???

Delphi

RenderWare

CanvasDraw

C &OpenGL(c/ GLUT)

C &OpenGL(c/ GLUT)

Page 29: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

29

Instituto de Computação - UFF

Programa do cursoPrograma do curso

• Parte I

– Introdução.

– Cores.

– Imagens.

– Introdução à OpenGL.

Page 30: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

30

Instituto de Computação - UFF

Programa do cursoPrograma do curso

• Parte II

– Sistemas Gráficos 2D.

• Objetos Gráficos 2D.• Transformações geométricas no plano.• Algoritmos para rasterização de linhas e polígonos.• Recorte 2D.• Transformações de tela.

Page 31: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

31

Instituto de Computação - UFF

Programa do cursoPrograma do curso

• Parte III

– Sistemas Gráficos 3D.

• Objetos gráficos 3D.

• Transformações geométricas 3D.

• Instanciação de objetos.

• Transformações de visualização e modelos de câmera virtual.

• Eliminação de superfícies não visíveis.

• Modelos de Iluminação.

• Texturas.

• Técnicas avançadas.

Page 32: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

32

Instituto de Computação - UFF

Computação Gráfica IComputação Gráfica IProfessor:

Anselmo Montenegrowww.ic.uff.br/~anselmo

Conteúdo:

- Cores

Page 33: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

33

Instituto de Computação - UFF

Luz Luz

++

Sistema Sistema VisualVisual

Cores:Cores: intuição intuição

Page 34: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

34

Instituto de Computação - UFF

Natureza dual da luz

c = c = f fc = c = f f

cc = Velocidade da Luz = Velocidade da Luz 3.0x103.0x1088 m/s m/s

v / fv / f

vv

ONDAONDA PARTÍCULAPARTÍCULA

Cores:Cores: noção física de cor noção física de cor

Page 35: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

35

Instituto de Computação - UFF

Onda eletro-magnética

(m)(m)

VISÍVELVISÍVEL

f f (Hertz)(Hertz)

101022 101044 101066 101088 10101010 10101212 10101414 10101616 10101818 10102020

rádioAMrádioAM FM,TVFM,TVMicro-OndasMicro-Ondas

Infra-VermelhoInfra-VermelhoUltra-VioletaUltra-Violeta

RaiosXRaiosX

101066 101044 101022 1010 1010-2-2 1010-4-4 1010-6-6 1010-8-8 1010-10-10 1010-12-12

vermelho (4.3 vermelho (4.3 10101414

Hz), laranja, amarelo,..., verde, azul, violeta (7.5Hz), laranja, amarelo,..., verde, azul, violeta (7.510101414

Hz)Hz)

Cores:Cores: cor como onda eletro-magnética cor como onda eletro-magnética

Page 36: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

36

Instituto de Computação - UFF

luzluzbrancabranca

prismaprisma

vermelhovermelhoalaranjadoalaranjadoamareloamareloverdeverdeazulazulvioletavioleta

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

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

NewtonNewton

CorCor VioletaVioleta 380-440 nm380-440 nmAzulAzul 440-490 nm440-490 nmVerdeVerde 490-565 nm490-565 nmAmareloAmarelo 565-590 nm565-590 nmLaranjaLaranja 590-630 nm590-630 nmVermelhoVermelho 630-780 nm630-780 nm

CorCor VioletaVioleta 380-440 nm380-440 nmAzulAzul 440-490 nm440-490 nmVerdeVerde 490-565 nm490-565 nmAmareloAmarelo 565-590 nm565-590 nmLaranjaLaranja 590-630 nm590-630 nmVermelhoVermelho 630-780 nm630-780 nm

1 nm = 10-9 m

Cores:Cores: cor como onda eletro-magnética cor como onda eletro-magnética

Page 37: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

37

Instituto de Computação - UFF

Distribuição espectral da luzDistribuição espectral da luz

100100

00

5050

nmnm

EE

luz brancaluz branca

luz coloridaluz colorida

400400 500500 600600 700700

Cores:Cores: distribuição espectral da luz distribuição espectral da luz

Page 38: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

38

Instituto de Computação - UFF

• As cores que percebemos surgem da As cores que percebemos surgem da iteração entre iteração entre fontes de luz e diversos tipos de materiaisfontes de luz e diversos tipos de materiais encontrados encontrados no mundo físico.no mundo físico.

• Tipos de processos de formação:Tipos de processos de formação:

– Aditivo.Aditivo.– Subtrativo.Subtrativo.– Por pigmentação.Por pigmentação.

Cores:Cores: processo de formação processo de formação

Page 39: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

39

Instituto de Computação - UFF

EEa+ba+b(() = E) = Ea a (()+E)+Ebb(())EEa+ba+b(() = E) = Ea a (()+E)+Ebb(())

Ea

Eb

a

b

Ea+b

O olho não vê O olho não vê componentes!componentes!

a+b

Cores:Cores: processo de formação aditivo processo de formação aditivo

Page 40: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

40

Instituto de Computação - UFF

filtrosfiltros

Luz branca

Filtro verde

Luz verde

Ei

Ef

t

EEff(() = t() = t() . E) . Ei i (())EEff(() = t() = t() . E) . Ei i (())

transparência

azul

amarelo

corantescorantes

Cores:Cores: processo de formação subtrativo processo de formação subtrativo

Page 41: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

41

Instituto de Computação - UFF

índices de refração distinto do material base

A sucessão de reflexão e refração A sucessão de reflexão e refração determinam a natureza da luz refletida determinam a natureza da luz refletida

tinta preta

tinta branca tinta colorida(saturada)

tons mais escuros(shade)

tons mais claros(tints)

Cinzas(greys)

PALHETAPALHETADODO

PINTORPINTOR

tons

Cores:Cores: processo de formação por processo de formação por pigmentaçãopigmentação

Page 42: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

42

Instituto de Computação - UFF

nmnm

EE Cor branca idealCor branca ideal

Cor com comprimento deCor com comprimento deonda dominanteonda dominante

Cor mocromática,Cor mocromática, pura ou espectralpura ou espectral

RRf : RRf :

Cor arbitráriaCor arbitrária

Cores:Cores: modelo matemático modelo matemático

Page 43: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

43

Instituto de Computação - UFF

• Espaço de funções Espaço de funções correspondentes às correspondentes às distribuições espectrais.distribuições espectrais.

• Possui dimensão infinita.Possui dimensão infinita.

• Para manipulá-lo Para manipulá-lo computacionalmente é computacionalmente é necessário representá-lo.necessário representá-lo.

nmnm

EE

Cores:Cores: espaço de cores espaço de cores EE

Page 44: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

44

Instituto de Computação - UFF

nmnm

EEC(C())

))(),...,(())((

,:

0 n

n

CCCR

RER

))(),...,(())((

,:

0 n

n

CCCR

RER

nmnm

EE

C(C(00))

Amostragem pontualAmostragem pontual

00 11 nn......

C(C(11))

C(C(nn))

Cores:Cores: representação representação

Page 45: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

45

Instituto de Computação - UFF

• Depende de dois fatores:Depende de dois fatores:– Número de amostras utilizadas.Número de amostras utilizadas.– Método de interpolação.Método de interpolação.

nmnm

EEC(C(00))

00 11 nn......

C(C(11))

C(C(nn))

Cores:Cores: reconstrução reconstrução

Page 46: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

46

Instituto de Computação - UFF

• Amostram cores.Amostram cores.• Possuem um conjunto de Possuem um conjunto de

sensores.sensores.• Cada sensor é Cada sensor é

caracterizado por uma caracterizado por uma resposta espectral Sresposta espectral Sii(().).

00

C(C())

dSCC

CCCCR

ii

n

)()(

),,,()())(( 1

dSCC

CCCCR

ii

n

)()(

),,,()())(( 1

Cores:Cores: sistemas receptores sistemas receptores

Page 47: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

47

Instituto de Computação - UFF

• Reconstroem cores.Reconstroem cores.

• Possuem um conjunto de Possuem um conjunto de emissores Pemissores Pkk, k=1...n., k=1...n.

• Cada emissor está associado Cada emissor está associado a uma cor primária com a uma cor primária com distribuição espectral Pdistribuição espectral Pkk(().).

• O conjunto de cores que O conjunto de cores que podem ser recontruídas por podem ser recontruídas por um sistema emissor é um sistema emissor é denominado gamutedenominado gamute

CCrr(())

)()(1

n

kkkr PcC )()(

1

n

kkkr PcC

PP11(()) PP22(()) PP33(())

Cores:Cores: sistemas emissores sistemas emissores

Page 48: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

48

Instituto de Computação - UFF

• Questões fundamentais:Questões fundamentais:

– O que é uma “boa” reconstrução de cores?O que é uma “boa” reconstrução de cores?

– Quantas cores devem ser usadas como base da Quantas cores devem ser usadas como base da representação? representação?

– Que cores (Que cores (primáriasprimárias) devem compor esta base?) devem compor esta base?

Cores:Cores: o problema de representação e o problema de representação e reconstrução de coresreconstrução de cores

Page 49: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

49

Instituto de Computação - UFF

• Boa = Boa = perceptualmenteperceptualmente adequada (reconstrução adequada (reconstrução metaméricametamérica))

• Número de cores = Número de cores = 33

• Cores: Cores: vermelho, verde e azulvermelho, verde e azul

• Inspiração: sistema visual humanoInspiração: sistema visual humano

Cores:Cores: uma solução par o problema de uma solução par o problema de representação-reconstruçãorepresentação-reconstrução

Page 50: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

50

Instituto de Computação - UFF

retina bastonetes

cones vermelhoverdeazul

Cores:Cores: representação no sistema visual representação no sistema visual humanohumano

Page 51: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

51

Instituto de Computação - UFF

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

.02.02

00

.04.04

.06.06

.08.08

.10.10

.12.12

.14.14

.16.16

.18.18

.20.20

400400 440440 480480 520520 560560 600600 640640 680680

fraç

ão d

e lu

z ab

sorv

ida

fraç

ão d

e lu

z ab

sorv

ida

por

cad

a co

ne

por

cad

a co

ne

comprimento de onda (nm)comprimento de onda (nm)

B(B(

G(G(

R(R(

Cores:Cores: representação no sistema visual representação no sistema visual humanohumano

Page 52: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

52

Instituto de Computação - UFF

• O sistema visual humano representa as cores do O sistema visual humano representa as cores do espaço espectral E em um espaço espectral E em um espaço tricromáticoespaço tricromático..

• Isto significa que três amostras(nas faixas Isto significa que três amostras(nas faixas correspondentes ao correspondentes ao vermelhovermelho, , verdeverde e e azulazul) é ) é suficiente para os propósitos de reconstrução suficiente para os propósitos de reconstrução perceptual.perceptual.

Cores:Cores: representação no espaço representação no espaço tricromáticotricromático

Page 53: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

53

Instituto de Computação - UFF

- 0.2- 0.2

00

0.20.2

0.40.4

400400 500500 600600 700700

438

nm

438

nm

546

nm

546

nm

(nm)(nm)V

alo

res

do

s tr

i-es

imu

los

Val

ore

s d

os

tri-

esim

ulo

s

RR))

GG))

BB))

CC) = ) = rr RR) + ) + gg GG+ + bb BB

Cores:Cores: funções de reconstrução de cor funções de reconstrução de cor no sistema no sistema CIE-RGBCIE-RGB

Page 54: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

54

Instituto de Computação - UFF

rRrR(() )

gGgG(())

bBbB(())

Cor MonocromáticaCor MonocromáticaC(C())

RR = 700 nm = 700 nmGG = 546 nm = 546 nmBB = 435.8 nm = 435.8 nm

CC) = ) = rRrR+ + gGgG+ b+ bBB

Cores:Cores: como obter as funções de como obter as funções de reconstrução de correconstrução de cor

Page 55: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

55

Instituto de Computação - UFF

rrRR(())

gGgG(())

bbBB(())

Cor MonocromáticaCor MonocromáticaC(C())

RR = 700 nm = 700 nmGG = 546 nm = 546 nmBB = 435.8 nm = 435.8 nm

CC) ) + rR+ rR = g = gGG + b + bBBCC) = ) = rr’R’R + + ggGG + b + bBB, onde , onde rr’R’R = - = - rrRR

Cores:Cores: interpretando as componentes interpretando as componentes negativasnegativas

Page 56: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

56

Instituto de Computação - UFF

nmnm

EEC(C())

nmnm

EE

C(C())

C’(C’()=tC()=tC())

Cores:Cores: geometria dos espaços de cor geometria dos espaços de cor tricromáticostricromáticos

Page 57: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

57

Instituto de Computação - UFF

c’ = tc c’ = tc

c c

tc = tR(C(tc = tR(C()) = tR(C()) = tR(C()) = )) = R(tC(R(tC()) = R(C’()) = R(C’())=c’))=c’

tc = tR(C(tc = tR(C()) = tR(C()) = tR(C()) = )) = R(tC(R(tC()) = R(C’()) = R(C’())=c’))=c’

croma croma

Cada reta passando pela origem(menos a Cada reta passando pela origem(menos a própria origem) define uma informação de própria origem) define uma informação de cromaticidade (cromaticidade (cromacroma))

Cada reta passando pela origem(menos a Cada reta passando pela origem(menos a própria origem) define uma informação de própria origem) define uma informação de cromaticidade (cromaticidade (cromacroma))

Variação de Variação de luminâncialuminância

Cores:Cores: geometria dos espaços de cor geometria dos espaços de cor tricromáticostricromáticos

Page 58: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

58

Instituto de Computação - UFF

:c:c11+c+c22+c+c33

(0,1,0)(0,1,0)

(1,0,0)(1,0,0)

(0,0,1)(0,0,1)

Cores:Cores: Triângulo de Maxwell Triângulo de Maxwell

Page 59: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

59

Instituto de Computação - UFF

cc

c*c*321

*

ccc

cc i

i

321

*

ccc

cc i

i

Cores:Cores: coordenadas de cromaticidade coordenadas de cromaticidade

Page 60: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

60

Instituto de Computação - UFF

• É um cone.É um cone.

• É convexo.É convexo.

• Cores espectrais (puras) Cores espectrais (puras) estão na fronteira.estão na fronteira.

Plano X+Y+Z=1

Diagrama de cromaticidade (projeção do sólido de cor sobre o Triângulo de Maxwell

Diagrama de cromaticidade (projeção do sólido de cor sobre o Triângulo de Maxwell

Cores:Cores: sólidos de cor e diagramas de sólidos de cor e diagramas de cromaticidadecromaticidade

Page 61: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

61

Instituto de Computação - UFF

• Sólido de cor + uma base = Sistema de cor.Sólido de cor + uma base = Sistema de cor.

cccc = = cc11 PP11+ + cc22 PP22+ + cc33 PP33

PP11

PP22

PP33

Cores:Cores: sistemas de cor sistemas de cor

Page 62: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

62

Instituto de Computação - UFF

• Sistemas propostos para especificação de cor Sistemas propostos para especificação de cor padronizada.padronizada.

• Independentes de dispositivos físicos.Independentes de dispositivos físicos.

• Sistemas propostos pela CIE ( Sistemas propostos pela CIE ( Comission Comission Internationale de l´EclairageInternationale de l´Eclairage))– Sistema CIE-RGB.Sistema CIE-RGB.– Sistema CIE-XYZ.Sistema CIE-XYZ.

Cores:Cores: sistemas de cor padrão sistemas de cor padrão

Page 63: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

63

Instituto de Computação - UFF

• Primeiro sistema padrão proposto.Primeiro sistema padrão proposto.

• Utiliza uma representação de cor no espaço Utiliza uma representação de cor no espaço tricromático tricromático

• Base de primárias do sistema:Base de primárias do sistema:– R(R()) vermelho com comprimento de onda de 700 nm vermelho com comprimento de onda de 700 nm– G(G()) verde com comprimento de onda de 546 nm verde com comprimento de onda de 546 nm– B(B()) azul com comprimento de onda de 435.8 nm azul com comprimento de onda de 435.8 nm

Cores:Cores: sistemas CIE-RGB sistemas CIE-RGB

Page 64: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

64

Instituto de Computação - UFF

(nm)(nm)

- 0.2- 0.2

00

0.20.2

0.40.4

400400 500500 600600 700700

438

nm

438

nm

546

nm

546

nmV

alo

res

do

s tr

i-es

imu

los

Val

ore

s d

os

tri-

esim

ulo

s

rr))

gg))

bb))

CC) = R r) = R r) + G g) + G g+ B b+ B b Cores espectraisCores espectrais

1.01.0 1.01.0

1.01.0

700 nm700 nm

546,1 nm546,1 nm

520 nm520 nm

500 nm500 nm

Reta púrpuraReta púrpura

Cores:Cores: funções de reconstrução de cor funções de reconstrução de cor no sistema CIE-RGBno sistema CIE-RGB

Page 65: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

65

Instituto de Computação - UFF

YY

ZZ

XX1.01.0 1.01.0

1.01.0

700 nm700 nm

546,1 nm546,1 nm

520 nm520 nm

500 nm500 nm

Cores:Cores: limitações do sistema CIE-RGB limitações do sistema CIE-RGB

Page 66: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

66

Instituto de Computação - UFF

• Sistema proposto capaz de reconstruir todas as Sistema proposto capaz de reconstruir todas as cores visíveis.cores visíveis.

• A base de primárias {X,Y,Z} é formada por cores A base de primárias {X,Y,Z} é formada por cores não visíveisnão visíveis. Estão fora do sólido de cor.. Estão fora do sólido de cor.

• Deste modo todas as cores visíveis possuem Deste modo todas as cores visíveis possuem coordenadas coordenadas positivaspositivas..

Cores:Cores: sistema CIE-XYZ sistema CIE-XYZ

Page 67: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

67

Instituto de Computação - UFF

Cores:Cores: sistema CIE-XYZ sistema CIE-XYZ

Page 68: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

68

Instituto de Computação - UFF

Cores:Cores: sistema CIE-XYZ sistema CIE-XYZ

Page 69: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

69

Instituto de Computação - UFF

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:Cores: sistema CIE-XYZ sistema CIE-XYZ

Page 70: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

70

Instituto de Computação - UFF

0.20.2

0.40.4

0.60.6

0.80.8

1.01.0

1.21.2

1.41.4

1.61.6

1.81.8

2.02.0

Val

or

Val

or

nmnm400400 500500 600600 700700

Cores Básicas do CIE 1931Cores Básicas do CIE 1931

CC) = ) = XXX + X + YYY + Y + ZZZ Z

XX

XX

YY

ZZ

Cores:Cores: funções de reconstrução de cor funções de reconstrução de cor no sistema CIE-XYZno sistema CIE-XYZ

Page 71: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

71

Instituto de Computação - UFF

yy

xx0.20.2 0.40.4 0.60.6 0.80.8 1.01.0

BrancoBranco0.20.2

0.40.4

0.60.6

0.80.8

1.01.0CC22

CC11

cores cores saturadassaturadas

aa

bb

saturação de Csaturação de C11 = = aa

a + ba + b

yy

xx0.20.2 0.40.4 0.60.6 0.80.8 1.01.0

BrancoBranco0.20.2

0.40.4

0.60.6

0.80.8

1.01.0

CC’’

CC

CC’’ é complementar a C é complementar a C

CC’’ + + C = Branco C = Branco

Cores:Cores: sistema CIE-XYZ sistema CIE-XYZ

Page 72: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

72

Instituto de Computação - UFF

Cores:Cores: comparação entre os sistemas comparação entre os sistemas CIE-RGB e CIE-XYZCIE-RGB e CIE-XYZ

Page 73: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

73

Instituto de Computação - UFF

• É feita através de mudanças de coordenadas É feita através de mudanças de coordenadas (determinada por uma (determinada por uma mudança de basemudança de base).).

• A mudança entre as bases é determinada por A mudança entre as bases é determinada por uma uma transformação lineartransformação linear..

Cores:Cores: conversão entre os sistemas CIE- conversão entre os sistemas CIE-RGB e CIE-XYZRGB e CIE-XYZ

Page 74: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

74

Instituto de Computação - UFF

• Sistemas dos Dispositivos.Sistemas dos Dispositivos.

• Sistemas Computacionais.Sistemas Computacionais.

• Sistemas de Interface.Sistemas de Interface.

Cores:Cores: sistemas de cor da Computação sistemas de cor da Computação GráficaGráfica

Page 75: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

75

Instituto de Computação - UFF

Processo Aditivo

Processo Aditivo

pixelpixel

Cores:Cores: sistemas dos monitores sistemas dos monitores

Page 76: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

76

Instituto de Computação - UFF

BB

Normalmente temos 1 byte para cada componente mapeando[0, 255] em [0,1]

Normalmente temos 1 byte para cada componente mapeando[0, 255] em [0,1]

processo aditivoprocesso aditivo

RR

GG

BB

1.01.0

1.01.0

1.01.0

YY

MM

CCWW

KK vermelhovermelho

azulazul

pretopreto

verdeverde

amareloamarelo

cianociano

magentamagenta

brancobranco

Cores:Cores: sistemas dos monitores - mRGB sistemas dos monitores - mRGB

Page 77: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

77

Instituto de Computação - UFF

processo subtrativoprocesso subtrativo

luz branca

luz branca

tinta ciano (0,1,1)tinta ciano (0,1,1)

luz ciano (0,1,1)luz ciano (0,1,1)

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

Cores:Cores: sistemas as impressoras - sistemas as impressoras -CMY(K)CMY(K)

Page 78: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

78

Instituto de Computação - UFF

xx

yy

0.10.1 0.20.2 0.30.3 0.40.4 0.50.5 0.60.6 0.70.7 0.80.8 0.90.9 1.01.0

0.10.1

0.20.2

0.30.3

0.40.4

0.60.6

0.50.5

0.70.7

0.80.8

0.90.9

1.01.0

gamute de um monitorgamute de um monitor

gamute de uma impressoragamute de uma impressora

CC11

CC22

WW

Cores:Cores: gamute no diagrama de gamute no diagrama de cromaticidade dos dispositivoscromaticidade dos dispositivos

Page 79: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

79

Instituto de Computação - UFF

• Permitem uma especificação intuitiva de Permitem uma especificação intuitiva de cores.cores.

• São baseados em uma decomposição São baseados em uma decomposição crominância-luminância.crominância-luminância.

• Utilizam o seguinte esquema:Utilizam o seguinte esquema:1.1. Escolha da crominância.Escolha da crominância.

2.2. Escolha da luminância(brilho).Escolha da luminância(brilho).

Cores:Cores: sistemas de interface sistemas de interface

Page 80: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

80

Instituto de Computação - UFF

• Escolha da crominância:Escolha da crominância:

– Escolha de um ponto no espaço de croma Escolha de um ponto no espaço de croma (bidimensional).(bidimensional).

• Primeiro o usuário escolhe aPrimeiro o usuário escolhe a matiz matiz (a cor pura).(a cor pura).• Depois o usuário escolhe a Depois o usuário escolhe a saturação saturação (nível de mistura da (nível de mistura da

cor pura com o branco).cor pura com o branco).

Cores:Cores: sistemas de interface sistemas de interface

Page 81: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

81

Instituto de Computação - UFF

• Sistema criado para a especificação de cores em Sistema criado para a especificação de cores em monitores.monitores.

• Introduz um sistema de coordenadas segundo o Introduz um sistema de coordenadas segundo o esquema luminância-crominância no sistemaesquema luminância-crominância no sistema mRGB. mRGB.

• Descreve uma cor através de 3 parâmetros:Descreve uma cor através de 3 parâmetros:– Hue(matiz)Hue(matiz)– Saturation(saturação)Saturation(saturação)– Value(valor), Value(valor), uma mediada de brilho igual a max{r,g,b}.uma mediada de brilho igual a max{r,g,b}.

Cores:Cores: sistema HSV sistema HSV

Page 82: Instituto de Computação - UFF 1 Computação Gráfica I Professor: Anselmo Montenegro anselmo Conteúdo: - Introdução

82

Instituto de Computação - UFF

Cores:Cores: sistema HSV sistema HSV