13
1 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 Estrutura de aplicação gráfica interativa tradicional Carla Freitas, UFRGS 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 Alberto Raposo – PUC-Rio Transformações Projetivas Perspectiva Afins Translação Rotação Euclidianas Linear Similaridades Escalaento Isotrópico Identidade Escalamento Shear Reflexão 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 Alberto Raposo – PUC-Rio Escalamento Operação de escalamento: Na forma matricial: = by ax y x ' ' = y x b a y x 0 0 ' ' Matriz de escalamento D. Brogan, Univ. of Virginia

Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

Embed Size (px)

Citation preview

Page 1: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

1

Alberto Raposo – PUC-Rio

INF 1366 – Computação Gráfica Interativa

Revisando...

Alberto B. Raposo

[email protected]://www.tecgraf.puc-rio.br/~abraposo/INF1366/index.htm

Alberto Raposo – PUC-Rio

Estrutura de aplicação gráfica interativa tradicional

Carla Freitas, UFRGS

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

Alberto Raposo – PUC-Rio

TransformaçõesProjetivas

Perspectiva

Afins

TranslaçãoRotação

EuclidianasLinear

Similaridades

EscalaentoIsotrópico

IdentidadeEscalamento

Shear

Reflexão

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 Alberto Raposo – PUC-Rio

Escalamento

• Operação de escalamento:

• Na forma matricial:

=

by

ax

y

x

'

'

=

y

x

b

a

y

x

0

0

'

'

Matriz de escalamento

D. Brogan, Univ. of Virginia

Page 2: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

2

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

( ) ( )( ) ( )

−=

y

x

y

x

θθ

θθ

cossin

sincos

'

'

D. Brogan, Univ. of Virginia

Alberto Raposo – PUC-Rio

Translação 2D

++

+

=

y

x

y

x

ty

tx

t

t

yx

yx

''

y

xx

y

=

y

x

t

tt

M. Gattass, PUC-Rio

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 muitastransformações úteis em

CG1 2

1

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

x

y

D. Brogan, Univ. of Virginia

Alberto Raposo – PUC-Rio

Transformações 2D Básicas

• Representação em matrizes 3x3

ΘΘ

Θ−Θ

=

1100

0cossin

0sincos

1

'

'

y

x

y

x

=

1100

10

01

1

'

'

y

x

t

t

y

x

y

x

=

1100

01

01

1

'

'

y

x

sh

sh

y

x

y

x

Translação

RotaçãoCisalhamento (Shear)

=

1100

00

00

1

'

'

y

x

s

s

y

x

y

x

Escalamento

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

=

wz

yx

ponm

lkji

hgfedcba

wz

yx

''''

Alberto Raposo – PUC-Rio

Transformações 3D Básicas

=

wz

yx

wz

yx

1000010000100001

'''

=

w

z

y

x

t

t

t

w

z

y

x

z

y

x

1000

100

010

001

'

'

'

=

w

z

y

x

s

s

s

w

z

y

x

z

y

x

1000

000

000

000

'

'

'

IdentidadeEscalamento

Translação

D. Brogan, Univ. of Virginia

Page 3: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

3

Alberto Raposo – PUC-Rio

Transformações 3D Básicas

ΘΘΘ−Θ

=

wz

yx

wz

yx

1000010000cossin00sincos

'''

Rotação em torno de Z:

ΘΘ−

ΘΘ

=

w

z

y

x

w

z

y

x

1000

0cos0sin

0010

0sin0cos

'

'

'

ΘΘΘ−Θ=

wz

yx

wz

yx

10000cossin00sincos00001

'''

Rotação em torno de Y:

Rotação em torno de X:

Alberto Raposo – PUC-Rio

Visualização e Projeção

viewport

Modelos 3Dcamera setup

John Dingliana, 2004

Alberto Raposo – PUC-Rio

Taxonomia de Projeções

Alberto Raposo – PUC-Rio

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

para o plano z = 0

1

=

x

y

z

1

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

1

MIT EECS 6.837, Durand and Cutler

Alberto Raposo – PUC-Rio

Projeção cônica simples

xe

ye

ze

P

Pp

nz

yz

ny

xz

nx

p

e

e

p

e

e

p

−=

−=

−=

e

eh

eh

eh

zw

znz

yny

xnx

−=

=

=

=

=

10100

000

000

000

e

e

e

h

h

h

z

y

x

n

n

n

w

z

y

x

Alberto Raposo – PUC-Rio

Câmera

Page 4: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

4

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 Alberto Raposo – PUC-Rio

Matriz de Transformação de Visualização

Para transformar vértices:

Alberto Raposo – PUC-Rio

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

��

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

Alberto Raposo – PUC-Rio

Rasterizar

•Converter coordenadas da tela em cores de pixels

L. McMillanMIT 6.837 notes (Fall ’98)

Alberto Raposo – PUC-Rio

Scan-line Rasterization

• Requer um “setup”inicial para ser preparado

[P. Shirley, pag 55]

Cluter & Durand, MIT

Page 5: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

5

Alberto Raposo – PUC-Rio

Active Edge Table (AET)

Slater, Steed & Chrysanthou, 2002

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

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

Alberto Raposo – PUC-Rio

Equação de Iluminação

• Para uma fonte de luz:

L

n

SLDALAE IRVKILNKIKII )()( •+•++=

N

LR

V

observador

αθθ

D. BroganUniv. of Virginia

Alberto Raposo – PUC-Rio

Luz ambiente

•Para cada comprimento de onda amostrado(R, G, B), a luz ambiente refletida em umasuperfí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

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 6: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

6

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

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

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

Alberto Raposo – PUC-Rio

Shading

Alberto Raposo – PUC-Rio

Shading

Flat Gouraud

Page 7: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

7

Alberto Raposo – PUC-Rio

Shading

Gouraud Phong

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

Alberto Raposo – PUC-Rio

Transformações de Modelagem

• Modelos 3D definidos em seupróprio sistema de coordenadas(object space)

• Transformações de modelagemorientam os modelos de acordocom um sistema de coordenadascomum (world space)

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display Object space World space

Cluter & Durand, MIT

√√√√

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

√√√√

√√√√

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çãode foco é orientada ao longo de um dos eixos (normalmente z)

Cluter & Durand, MIT

√√√√

√√√√

√√√√

Alberto Raposo – PUC-Rio

Clipping (Recorte)

• Transforma para Normalized Device Coordinates (NDC)

• Partes do objetofora 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 8: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

8

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

√√√√

√√√√

√√√√

√√√√

√√√√

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

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

Alberto Raposo – PUC-Rio

Visibilidade / Display

• Cada pixel lembra o objetomais próximo (depth buffer)

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

fundamentais em computaçãográfica!

Modeling Transformations

Illumination(Shading)

Viewing Transformation(Perspective / Orthographic)

Clipping

Projection (to Screen Space)

Scan Conversion(Rasterization)

Visibility / Display

Cluter & Durand, MIT

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

√√√√

Alberto Raposo – PUC-Rio

Luz e Cor

Marcelo Gattass, PUC-Rio

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.5×1014 Hz)

Alberto Raposo – PUC-Rio

Luz branca

luz

branca

prisma

vermelhoalaranjadoamareloverdeazulvioleta

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

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

Newton

Cor λλλλVioleta 380-440 nm

Azul 440-490 nmVerde 490-565 nmAmarelo 565-590 nm

Laranja 590-630 nmVermelho 630-780 nm

Cor λλλλVioleta 380-440 nm

Azul 440-490 nmVerde 490-565 nmAmarelo 565-590 nm

Laranja 590-630 nmVermelho 630-780 nm

1 nm = 10-9 m

Page 9: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

9

Alberto Raposo – PUC-Rio

Fontes luminosas

fonte luminosa branca

100

0

50

λλλλ((((nm))))

E

luz branca

luz colorida

400 500 600 700

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 menossaturadas oumenos puras

λλλλ((((nm))))

E

matiz (hue)

comprimento de onda dominante

define amatiz (hue)

400 500 600 700

Alberto Raposo – PUC-Rio

Processos aditivos de formação de cores

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

λ

λ

Ea

λ

Eb

a

b

a+b

Ea+b

O olho não vê

componentes!

Alberto Raposo – PUC-Rio

Processos subtrativos de formação de cores

filtros

Luz branca

Filtroverde

Luz verde

λλλλ λλλλ λλλλ

EiEft

Ef(λλλλ) = t(λλλλ) . Ei (λλλλ)Ef(λλλλ) = t(λλλλ) . Ei (λλλλ)

transparência

Alberto Raposo – PUC-Rio

O olho humano

retina bastonetes

cones vermelhoverdeazul

Alberto Raposo – PUC-Rio

Espaço de cor do olho humano

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

.02

0

.04

.06

.08

.10

.12

.14

.16

.18

.20

400 440 480 520 560 600 640 680 λλλλ

fra

ção

de

luz

ab

sorv

ida

po

rca

da

con

e

comprimento de onda (nm)

B(λλλλ))))

G(λλλλ))))

R(λλλλ))))

Page 10: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

10

Alberto Raposo – PUC-Rio

Fração da luzabsorvida pelo olho

0

50

100

sen

sib

ilid

ad

e

rela

tiv

a

luminosidade

λλλλ((((nm))))

400 500 600 700

Alberto Raposo – PUC-Rio

Tons de cinza igualmente espaçadosBranco

Inte

nsid

ade

Preto

Posição

Branco

Preto

Inte

nsid

ade

Posição

Alberto Raposo – PUC-Rio

Banda de Mach

Posição

Branco

Preto

Inte

nsid

ade

Efeito da Banda deMach

Alberto Raposo – PUC-Rio

Contraste Simultâneo

Alberto Raposo – PUC-Rio

Contraste

Alberto Raposo – PUC-Rio

Contraste

Page 11: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

11

Alberto Raposo – PUC-Rio Alberto Raposo – PUC-Rio

Alberto Raposo – PUC-Rio

Conclusões do cérebro

Alberto Raposo – PUC-Rio

O problema de reprodução de cor em CG

Mundo Real

Espaço Virtual

E

λλλλ400 700

E

λλλλ

B

G

R

• mesma sensação de cor ⇒⇒⇒⇒ Metamerismo

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

• mesma sensação de cor ⇒⇒⇒⇒ Metamerismo

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

Alberto Raposo – PUC-Rio

Cores visíveis representadas no sistema CIE xyY

Alberto Raposo – PUC-Rio

520

480

490

500

510

540

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 12: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

12

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

Alberto Raposo – PUC-Rio

Alberto Raposo – PUC-Rio

Monitores

I ) Sistemas dos Monitores - mRGB

processo aditivo

pixel

Alberto Raposo – PUC-Rio

Sistemas de cordependentes de dispositivo - mRGB

I ) Sistemas dos Monitores - mRGB

B

normalmentetemos 1 byte

para cadacomponentemapeando[0, 255] em [0,1]

normalmentetemos 1 byte

para cadacomponentemapeando[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

Alberto Raposo – PUC-Rio

Sistemas de cordependentes de dispositivo - mRGB

I ) Sistemas dos Monitores - mRGB

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - CMY

II ) Sistemas das Impressoras -CMY ou CMYK

processopredominantementesubtrativo

C

Y

M

R G

B

K

luzbranca

(1,1,1)

tinta ciano (0,1,1)

luz ciano (0,1,1)

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

normal

θθθθ

Page 13: Transformações Modelagem Geométricawebserver2.tecgraf.puc-rio.br/~abraposo/INF1366/2007/17_Revisao_e... · Estrutura de aplicação ... Carla Freitas, UFRGS Alberto Raposo –

13

Alberto Raposo – PUC-Rio

Sistemas de cor dependentes de dispositivo - CMY

II ) Sistemas das Impressoras -CMY ou CMYK

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

verde

amarelo

ciano

magenta

branco

1.0

1.0

1.0

Y

M

C

W

K

preto

amarelo

ciano

magenta

branco

verde

vermelho

azul

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

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