INF 366 Computação Gráfica Interativa Revisando... Alberto B. Raposo abraposo@tecgraf.puc-rio.br http://www.tecgraf.puc-rio.br/~abraposo/inf366/inde.htm Estrutura de aplicação gráfica interativa tradicional Carla Freitas, UFRGS
Modelagem Geométrica Tipos de estruturação de dados Wireframe (representação de arestas) Boundar 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-Pol Transformações Projetivas Afins Similaridades Euclidianas Identidade Translação Rotação Escalaento Isotrópico Linear Escalamento Refleão Shear Perspectiva 2
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 Escalamento Operação de escalamento: a b Na forma matricial: D. Brogan, Univ. of Virginia a b Matri de escalamento 3
4 Rotação 2D Na forma matricial: Emborasin(θ) e cos(θ) sejam funções nãolineares de θ, é combinação linear de e é combinação linear de e ( ) ( ) ( ) ( ) θ θ θ θ cos sin sin cos D. Brogan, Univ. of Virginia Translação 2D + + + t t t t t t t M. Gattass, PUC-Rio
5 Coordenadas Homogêneas Coloca uma 3a coordenada para cada ponto 3D (,, w) representa um ponto em (/w, /w) (,, ) representa um ponto no infinito (,, ) não é permitido Sistema conveniente para representar muitas transformações úteis em CG 2 2 (2,,) or (4,2,2) or (6,3,3) D. Brogan, Univ. of Virginia Transformações 2D Básicas Representação em matries 33 cos sin sin cos t t sh sh Translação Rotação Cisalhamento (Shear) s s Escalamento
6 Transformações em 3D Mesma idéia que em 2D: Coordenadas homogêneas: (,,,w) Matries de trasnformação 44 w p o n m l k j i h g f e d c b a w Transformações 3D Básicas w w w t t t w w s s s w Identidade Escalamento Translação D. Brogan, Univ. of Virginia
7 Transformações 3D Básicas w w cos sin sin cos Rotação em torno de Z: w w cos sin sin cos w w cos sin sin cos Rotação em torno de Y: Rotação em torno de X: Visualiação e Projeção viewport Modelos 3D camera setup John Dingliana, 24
Taonomia de Projeções Projeção Ortográfica Simples Projeta todos os pontos ao longo do eio para o plano MIT EECS 6.837, Durand and Cutler 8
9 Projeção cônica simples e e e P P p n n n p e e p e e p e e h e h e h w n n n e e e h h h n n n w Câmera
Transformações de Visualiação Cria-se uma visualiação centrada na câmera Câmeraestánaorigem Câmera olha para o eio no sentido negativo O up é alinhado com o eio D. Brogan, Univ. of Virginia Matri de Transformação de Visualiação Para transformar vértices:
Recorte (clipping) Clip contra uma aresta (plano) de cada ve 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
Rasteriar Converter coordenadas da tela em cores de piels L. McMillan MIT 6.837 notes (Fall 98) Scan-line Rasteriation Requer um setup inicial para ser preparado [P. Shirle, pag 55] Cluter & Durand, MIT 2
Active Edge Table (AET) Slater, Steed & Chrsanthou, 22 Modeling Transformations Illumination (Shading) Pipeline Gráfico Cluter & Durand, MIT Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa 3
Transformações de Modelagem Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) 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) Scan Conversion (Rasteriation) Visibilit / Displa Object space World space Cluter & Durand, MIT Iluminação (Shading) (Lighting) Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Vértices acessos (shaded) de acordo com as propriedades do material, da superfície (normal) e das fontes de lu Clipping Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa Cluter & Durand, MIT 4
Transformação de Visualiação Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Cluter & Durand, MIT Mapeia o world space para o ee space Posição do observador é colocada na origem e a direção de foco é orientada ao longo de um dos eios (normalmente ) Projection (to Screen Space) Ee space Scan Conversion (Rasteriation) Visibilit / Displa World space Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa Clipping (Recorte) Transforma para Normalied Device Coordinates (NDC) Ee space Partes do objeto fora do volume de visualiação (view frustum) são removidas Cluter & Durand, MIT NDC 5
Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Projeções Objetos são projetados para o espaço 2D da imagem (screen space) NDC Cluter & Durand, MIT Screen Space Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa Modeling Transformations Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Clipping Rasteriação Cluter & Durand, MIT Rasteria objetos em piels Interpola valores (cores, profundidade, etc.) Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa 6
Modeling Transformations Illumination (Shading) Visibilidade / Displa Cluter & Durand, MIT Cada piel lembra o objeto mais próimo (depth buffer) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasteriation) Visibilit / Displa 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! Lu e Cor Marcelo Gattass, PUC-Rio 7
Lu Onda eletro-magnética 2 4 6 8 2 4 6 8 2 λ (m) rádioam FM,TV Micro-Ondas Infra-Vermelho VISÍVEL Ultra-Violeta RaiosX 6 4 2-2 -4-6 -8 - -2 f (Hert) vermelho (4.3 4 H), laranja, amarelo,..., verde, aul, violeta (7.5 4 H) lu branca prisma Lu branca vermelho alaranjado amarelo verde aul violeta Newton lu lubranca (acromática) tem tem todos todosos oscomprimentos de de onda onda Cor Cor λλ Violeta Violeta 38-44 38-44 nm nm Aul Aul 44-49 44-49 nm nm Verde Verde 49-565 49-565 nm nm Amarelo Amarelo 565-59 565-59 nm nm Laranja Laranja 59-63 59-63 nm nm Vermelho Vermelho63-78 nm nm nm -9 m 8
Fontes luminosas fonte luminosa branca E lu branca 5 lu colorida 4 5 6 7 λ (nm) Características das fontes luminosas E comprimento de onda dominante define a mati (hue) E intensidade define o brilho (brightness) 4 5 6 7 mati (hue) λ (nm) 4 5 6 7 brilho (brightness) λ (nm) E a concentração no comprimento de onda dominante define a saturação ou purea cores pastéis são menos saturadas ou menos puras 4 5 6 7 saturação λ (nm) 9
Processos aditivos de formação de cores E a+b (λ) a+b (λ) E a (λ)+e a (λ)+e b (λ) b (λ) E a E a+b E b λ λ a a+b b λ O olho não vê componentes! Processos subtrativos de formação de cores filtros E i t E f transparência λ λ λ Lu branca Filtro verde Lu verde E f (λ) f (λ) t(λ) t(λ).. E i (λ) i (λ) 2
O olho humano retina bastonetes cones vermelho verde aul Espaço de cor do olho humano Olho humano: Cones (RGB) e Bastonetes (cegos para cor) fração de lu absorvida por cada cone.2.8 G(λ).6 R(λ).4.2..8.6.4.2 B(λ) 4 44 48 52 56 6 64 68 λ comprimento de onda (nm) 2
Fração da lu absorvida pelo olho luminosidade sensibilidade relativa 5 4 5 6 7 λ (nm) Tons de cina igualmente espaçados Branco Intensidade Preto Branco Posição Intensidade Preto Posição 22
Banda de Mach Branco Intensidade Preto Posição Efeito da Banda de Mach Contraste Simultâneo 23
Contraste Contraste 24
25
Conclusões do cérebro O problema de reprodução de cor em CG Mundo Real E 4 7 λ Espaço Virtual E R B G λ mesma mesma sensação sensação de de cor cor Metamerismo Metamerismo só só distingue distingue 4 4 mil mil cores cores (< (< 2 2 9 9 ) ) 9 9 bits bits deveriam deveriam ser ser suficientes suficientes 26
Cores visíveis representadas no sistema CIE Y Cores visíveis representadas no sistema CIE Y..9.8.7.6.5.4.3.2. 52 5 Verde 5 Cian 49 Aul 48 4 54 Purpura 56 Amarelo Branco 58 Vermelho 6 7..2.3.4.5.6.7.8.9. 27
Gamute de cromaticidade de dispositivos..9.8 C 2 cor não realiável C cor não realiável na impressora.7.6.5.4.3.2. C C 2 W gamute de um monitor gamute de uma impressora..2.3.4.5.6.7.8.9. 28
Monitores I ) Sistemas dos Monitores - mrgb piel processo aditivo Sistemas de cor dependentes de dispositivo - mrgb I ) Sistemas dos Monitores - mrgb C ciano. G verde W branco Y amarelo processo aditivo K vermelho B. preto aul M magenta. R normalmente normalmente temos temos bte bte para para cada cada componente componente mapeando mapeando [, [, 255] 255] em em [,] [,] 29
Sistemas de cor dependentes de dispositivo - mrgb I ) Sistemas dos Monitores - mrgb Sistemas de cor dependentes de dispositivo - CMY II ) Sistemas das Impressoras -CMY ou CMYK lu branca (,,) θ normal lu ciano (,,) tinta ciano (,,) processo predominantemente subtrativo papel branco (,,) componente vermelha é absorvida Y M R K B G C 3
Sistemas de cor dependentes de dispositivo - CMY II ) Sistemas das Impressoras -CMY ou CMYK Conversão RGB para CMY e vice-versa C ciano. G verde W branco Y amarelo aul. C ciano preto K verde B. aul K preto vermelho. R M magenta W branco magenta. vermelho M amarelo. Y (r,g,b) (c,m,) (-r, (-r, -g, -g, -b) -b) (c,m,) 3