Docstoc

Slide 1 56 - PowerPoint

Document Sample
Slide 1 56 - PowerPoint Powered By Docstoc
					                             Professor:
Computação Gráfica I         Anselmo Montenegro
                             www.ic.uff.br/~anselmo




   Conteúdo:
    - Introdução



                                                      1
                   Instituto de Computação - UFF
Computação Gráfica : noção clássica




            DADOS                                IMAGENS
1200 1200
1.000000 1.000000 37.600000
                              Computação
2.000000 1.000000 39.600000
3.000000 1.000000 40.700000
                                Gráfica
4.000000 1.000000 42.600000
5.000000 1.000000 42.600000
6.000000 1.000000 43.100000
...




                                                               2
                               Instituto de Computação - UFF
Aplicações: cinema




                                                 3
                 Instituto de Computação - UFF
Aplicações: cinema




                          Jurassic Park ®


                                                 4
                 Instituto de Computação - UFF
Aplicações: cinema




                                                 5
                 Instituto de Computação - UFF
Aplicações: jogos eletrônicos




                                       Gears of war
                                       xbox360 ®



                                                      6
                   Instituto de Computação - UFF
Aplicações: engenharia




                          Petrobras – Tecgraf – PUC-Rio

                                                          7
                  Instituto de Computação - UFF
Aplicações: indústria




                                                   8
                   Instituto de Computação - UFF
Aplicações: medicina


                          Ys




                                    Xs
                    Zs




          Ana Elisa F. Schmidt – Tese de Doutorado – PUC-Rio
                                                               9
                         Instituto de Computação - UFF
Aplicações: medicina




                                                  10
                  Instituto de Computação - UFF
Aplicações: visualização científica




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



                                                          11
                   Instituto de Computação - UFF
Sub-áreas da Computação Gráfica

                           Modelagem



                      Modelos e Dados
   Síntese de Imagens                      Análise de Imagens
     (Visualização)                       (Visão Computacional)

                        Imagem digital


                          Processamento
                           de Imagens
                                                                  12
                            Instituto de Computação - UFF
Síntese de imagens




                                                 13
                 Instituto de Computação - UFF
Processamento de imagens




                               Tons de cinza




        Borramento           Detecção de arestas     14
                     Instituto de Computação - UFF
Visão Computacional




                      LAK 5519

                                                 15
                 Instituto de Computação - UFF
Visão Computacional




                        Juiz Virtual – Tecgraf – PUC-Rio

                                                           16
                 Instituto de Computação - UFF
Novas tendências: modelagem
baseada em imagens




                                                 17
                 Instituto de Computação - UFF
Fundamentos da Computação Gráfica


  • Modelos físicos              • Esquemas de
  • Modelos                        representação.
    matemáticos                  • Estruturas de
                                   dados e
                                   algoritmos.


Universo    Universo         Universo de      Universo de
 Físico    Matemático        Representação   Implementação


                                                        18
                        Instituto de Computação - UFF
Fundamentos da Computação Gráfica

                                                z
                                                f(u0,v0)
                                                           u

                                   v         I = f : U  R2 R
           Físico                           Matemático

                    M(zij)             float terreno[N][M];
                    Zij=f(xi,yj)       .
                    (xi,yj)
                                       .


        Representação                      Implementação
                                                                 19
                        Instituto de Computação - UFF
Requisitos da Computação Gráfica




     EFICIÊNCIA               REALISMO




                                                  20
                  Instituto de Computação - UFF
Profissionais da Computação Gráfica



 •   Usuários.
 •   Customizadores.
 •   Programadores de aplicações.
 •   Desenvolvedores de ferramentas.




                                                  21
                  Instituto de Computação - UFF
Computação Gráfica: um 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).

                                                                   22
                          Instituto de Computação - UFF
Computação Gráfica: um histórico




                       Ivan Sutherland



                                                  23
                  Instituto de Computação - UFF
Computação Gráfica: um 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.
                                                               24
                            Instituto de Computação - UFF
Computação Gráfica: um 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).
                                                              25
                          Instituto de Computação - UFF
Computação Gráfica: um 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.
                                                               26
                         Instituto de Computação - UFF
Ciclo de vida dos problemas


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

   – Modelagem.

   – Visibilidade.

   – Imageamento.

   – Animação.
                                                     27
                     Instituto de Computação - UFF
Ferramentos para a programação
gráfica



                VisualBasic Java
               Delphi              C / C++
                         DirectX
        GLUT PHIGS            CanvasDraw
                      IUP/lua
       RenderWare
                              ToolBook
     ?? Motif  HOOPS Xlib
     ?        GKS        QuickDraw
                  OpenGL

                                             C &OpenGL
                                              (c/ GLUT)

                                                          28
                        Instituto de Computação - UFF
Programa do curso


 • Parte I

   – Introdução.

   – Cores.

   – Imagens.

   – Introdução à OpenGL.


                                                    29
                    Instituto de Computação - UFF
Programa 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.




                                                                30
                           Instituto de Computação - UFF
Programa 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.

                                                                        31
                             Instituto de Computação - UFF
                         Professor:
Computação Gráfica I     Anselmo Montenegro
                         www.ic.uff.br/~anselmo




   Conteúdo:
    - Cores



                                                  32
               Instituto de Computação - UFF
Cores: intuição




                                        Luz
                                         +
                                      Sistema
                                      Visual


                                                  33
                  Instituto de Computação - UFF
Cores: noção física de cor

                   Natureza dual da luz
            ONDA                          PARTÍCULA


              v

         l=v/f

            c=lf
c = Velocidade da Luz @ 3.0x108 m/s

                                                              34
                              Instituto de Computação - UFF
Cores: cor como onda eletro-magnética


                       Onda eletro-magnética

             102 104     106 108 1010 1012 1014 1016 1018 1020

                                   Micro-Ondas         Ultra-Violeta     f (Hertz)
     l (m)        rádioAM FM,TV            Infra-Vermelho      RaiosX


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

                                                 VISÍVEL


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



                                                                                          35
                                  Instituto de Computação - UFF
Cores: cor como onda eletro-magnética


                                                 Newton
                                   vermelho
                                   alaranjado
                                   amarelo
                                   verde
                                   azul
                                   violeta
            prisma

                                        Cor        l
                                       Violeta 380-440 nm
                                       Azul     440-490 nm
                                       Verde    490-565 nm
                                       Amarelo 565-590 nm
   luz branca (acromática) tem         Laranja 590-630 nm
   todos os comprimentos de onda       Vermelho 630-780 nm

                                                1 nm = 10-9 m
                                                                36
                        Instituto de Computação - UFF
Cores: distribuição espectral da luz


                   Distribuição espectral da luz

               E
         100
                                           luz branca



          50                           luz colorida



           0
                                                       l
               400       500     600       700
                                                      (nm)

                                                             37
                          Instituto de Computação - UFF
Cores: processo de formação


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

• Tipos de processos de formação:

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




                                                        38
                        Instituto de Computação - UFF
Cores: processo de formação aditivo




                                 Ea+b(l) = Ea (l)+Eb(l)
      Ea
                                        Ea+b
                            a
               l
                           a+b
       Eb
                            b
                                                  l
               l


                                     O olho não vê
                                     componentes!

                                                          39
                   Instituto de Computação - UFF
Cores: processo de formação subtrativo


    filtros   Ei            t            Ef       transparência

                   l                l         l


                Luz             Filtro   Luz
               branca           verde    verde



                                                  Ef(l) = t(l) . Ei (l)

   corantes




                         azul
                        amarelo

                                                                          40
                         Instituto de Computação - UFF
Cores: processo de formação por
pigmentação



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

           índices de refração distinto
           do material base                             tons mais
                                                        claros
                                 tinta branca           (tints)            tinta colorida
                                                                             (saturada)



                                   Cinzas
                                   (greys)           tons
                                                               tons mais
        PALHETA
                                                               escuros
           DO                                                  (shade)
         PINTOR
                                 tinta preta
                                                                                            41
                                 Instituto de Computação - UFF
Cores: modelo matemático



         E            Cor branca ideal


                                     Cor com comprimento de
                                     onda dominante

                                         Cor arbitrária

                                         Cor mocromática,
                                         pura ou espectral
                                          l
                                         (nm)
                f :RR

                                                             42
                 Instituto de Computação - UFF
Cores: espaço de cores E



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

 • Possui dimensão infinita.

 • Para manipulá-lo
   computacionalmente é                                  l
                                                        (nm)
   necessário representá-lo.


                                                         43
                        Instituto de Computação - UFF
Cores: representação


  E                              E
          C(l)                            C(l1)


                                 C(l0)
                                                           C(ln)


                      l                                             l
                                        l0 l1   ...   ln
                     (nm)                                          (nm)
                                     Amostragem pontual

          R : E  Rn ,
          R(C (l )) = (C (l0 ),...,C (ln ))
                                                                        44
                     Instituto de Computação - UFF
Cores: reconstrução


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


              E
                  C(l0) C(l1)



                                        C(ln)


                                                 l
                     l0 l1   ...   ln
                                                (nm)

                                                        45
                        Instituto de Computação - UFF
Cores: sistemas receptores


• Amostram cores.
• Possuem um conjunto de
  sensores.
• Cada sensor é                                            C(l)
  caracterizado por uma
  resposta espectral Si(l).
                                                     l0

              R(C (l )) = C (l )  (C1 ,  , Cn ),
                          
                    C i =  C ( l ) S i ( l ) dl
                          

                                                             46
                           Instituto de Computação - UFF
Cores: sistemas emissores


• Reconstroem cores.

• Possuem um conjunto de
  emissores Pk, k=1...n.                  P1(l) P2(l) P3(l)

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

• O conjunto de cores que                        n
                                     Cr (l ) =  ck Pk (l )
  podem ser recontruídas por
  um sistema emissor é
  denominado gamute                             k =1



                                                                  47
                           Instituto de Computação - UFF
Cores: o problema de representação e
reconstrução de cores

• Questões fundamentais:

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

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

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



                                                     48
                     Instituto de Computação - UFF
Cores: uma solução par o problema de
representação-reconstrução

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

• Número de cores = 3

• Cores: vermelho, verde e azul

• Inspiração: sistema visual humano


                                                    49
                    Instituto de Computação - UFF
Cores: representação no sistema visual
humano

                             retina bastonetes
                                    cones vermelho
                                           verde
                                           azul




                                                     50
                  Instituto de Computação - UFF
Cores: representação no sistema visual
humano

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

                          .20
                                        G(l)
                          .18
                          .16                        R(l)
fração de luz absorvida




                          .14
     por cada cone




                          .12
                          .10
                          .08
                          .06
                          .04
                                B(l)
                          .02
                           0
                           400 440 480 520 560 600 640 680     l
                                comprimento de onda (nm)
                                                                                                51
                                                            Instituto de Computação - UFF
Cores: representação no espaço
tricromático



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

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




                                                      52
                      Instituto de Computação - UFF
Cores: funções de reconstrução de cor
no sistema CIE-RGB


                                                           C(l ) = r R(l) + g G(l) + b B(l)
                                   0.4
                                          B(l )                             R(l )
       Valores dos tri-esimulos




                                                           G(l )
                                   0.2




                                                                                        l
                                     0    400        500              600       700   (nm)
                                            438 nm




                                                             546 nm




                                  - 0.2


                                                                                              53
                                                           Instituto de Computação - UFF
Cores: como obter as funções de
reconstrução de cor

                        rR(l)
                          gG(l)              R = 700 nm
                            bB(l)            G = 546 nm
                                             B = 435.8 nm




                        Cor Monocromática
                              C(l)

             C(l ) = rR(l) + gG(l) + bB(l)

                                                            54
                     Instituto de Computação - UFF
Cores: interpretando as componentes
negativas


                              gG(l)               R = 700 nm
                                bB(l)             G = 546 nm
                                                  B = 435.8 nm



                            rR(l)



                            Cor Monocromática
                                  C(l)

       C(l ) + rR(l) = gG(l) + bB(l)
       C(l ) = r’R(l) + gG(l) + bB(l) , onde r’R(l) = - rR(l)
                                                                 55
                         Instituto de Computação - UFF
Cores: geometria dos espaços de cor
tricromáticos




  E                       E
                                      C’(l)=tC(l)
          C(l)
                                           C(l)



                   l                          l
                  (nm)                       (nm)



                                                    56
                  Instituto de Computação - UFF
Cores: geometria dos espaços de cor
tricromáticos




                   c’ = tc                                        croma

             c    Variação de
                  luminância




                                    Cada reta passando pela origem(menos a
tc = tR(C(l)) = tR(C(l)) =          própria origem) define uma informação de
  R(tC(l)) = R(C’(l))=c’            cromaticidade (croma)


                                                                               57
                             Instituto de Computação - UFF
Cores: Triângulo de Maxwell




                           (0,1,0)
         :c1+c2+c3




                                     (1,0,0)

                 (0,0,1)

                                                      58
                      Instituto de Computação - UFF
Cores: coordenadas de cromaticidade




                  c
                                     ci
                            c =
                              *

                                c1  c2  c3
                              i
             c*




                                                  59
                  Instituto de Computação - UFF
Cores: sólidos de cor e diagramas de
cromaticidade


• É um cone.

• É convexo.                     Plano X+Y+Z=1



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



          Diagrama de cromaticidade (projeção do
          sólido de cor sobre o Triângulo de Maxwell
                                                              60
                              Instituto de Computação - UFF
Cores: sistemas de cor


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


                            c = c1 P1(l) + c2 P2(l) + c3 P3(l)
                     c



                              P1

                P3
                                                                 61
                     Instituto de Computação - UFF
Cores: sistemas de cor padrão


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

• Independentes de dispositivos físicos.

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

                                                       62
                       Instituto de Computação - UFF
Cores: sistemas CIE-RGB


• Primeiro sistema padrão proposto.

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

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

                                                    63
                    Instituto de Computação - UFF
                    Cores: funções de reconstrução de cor
                    no sistema CIE-RGB


                                   C(l ) = R r(l) + G g(l) + B b(l)                            Cores espectrais

                            0.4
                                   b(l )                             r(l )
                                                                                                         520 nm
Valores dos tri-esimulos




                                                    g(l )
                                                                                          500 nm
                            0.2
                                                                                                                        546,1 nm
                                                                                                                  1.0


                                                                                                                                    700 nm

                              0    400        500              600           700     l             1.0                             1.0
                                     438 nm




                                                      546 nm




                                                                                   (nm)


                           - 0.2
                                                                                                   Reta púrpura

                                                                                                                                    64
                                                                               Instituto de Computação - UFF
Cores: limitações do sistema CIE-RGB


        Y


                        520 nm


         500 nm
                                       546,1 nm
                                 1.0



                  Z                                700 nm

                  1.0                             1.0       X


                                                                65
                          Instituto de Computação - UFF
Cores: sistema CIE-XYZ


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

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

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


                                                    66
                    Instituto de Computação - UFF
Cores: sistema CIE-XYZ




                                                 67
                 Instituto de Computação - UFF
Cores: sistema CIE-XYZ




                                                 68
                 Instituto de Computação - UFF
Cores: sistema CIE-XYZ




                          y
                         1.0
                         0.9   520
                                      540
                         0.8 510
                         0.7 Verde
                                            560
                         0.6
                               500            580
                         0.5           Amarelo
                               Cian
                         0.4           Branco     600
                         0.3   490
                                            Vermelho 700
                                Azul
                         0.2    480 Purpura
                         0.1     400

                               0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0   x

                                                                         69
                 Instituto de Computação - UFF
Cores: funções de reconstrução de cor
no sistema CIE-XYZ

                  C(l ) = X(l) X + Y(l) Y + Z(l) Z

                2.0
                1.8
                            Z(l)             Cores Básicas do CIE 1931
                1.6
                1.4
                1.2                          X(l)
                                     Y(l)
        Valor




                1.0
                0.8
                0.6
                0.4
                        X(l)
                0.2

                                                           l
                      400          500      600     700 (nm)

                                                                         70
                                         Instituto de Computação - UFF
Cores: sistema CIE-XYZ


    y                                                y
  1.0                                              1.0
        C2
  0.8                                              0.8

  0.6   b              cores
                       saturadas                   0.6
                C1                                       C
  0.4       a                                      0.4             C’
  0.2   Branco                                           Branco
                                                   0.2


        0.2 0.4      0.6   0.8 1.0   x
                                                         0.2 0.4    0.6   0.8 1.0 x




                              a                   C’ é complementar a C
 saturação de C1 =                                          
                             a+b
                                                   a C’ + b C = Branco

                                                                                      71
                                         Instituto de Computação - UFF
Cores: comparação entre os sistemas
CIE-RGB e CIE-XYZ




                                                  72
                  Instituto de Computação - UFF
Cores: conversão entre os sistemas CIE-
RGB e CIE-XYZ

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

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




                                                   73
                   Instituto de Computação - UFF
Cores: sistemas de cor da Computação
Gráfica



      • Sistemas dos Dispositivos.

      • Sistemas Computacionais.

      • Sistemas de Interface.




                                                   74
                   Instituto de Computação - UFF
Cores: sistemas dos monitores



                Processo
                 Aditivo




                                  pixel



                                                  75
                  Instituto de Computação - UFF
Cores: sistemas dos monitores - mRGB



                     G                                  processo aditivo
                     verde              Y
            1.0
                                        amarelo
                             W
      C
    ciano                branco


                     K                  vermelho
                    preto           1.0            R

                  azul         M                       Normalmente temos 1 byte
        1.0
                              magenta                  para cada componente
                                                       mapeando[0, 255] em [0,1]
    B


                                                                                   76
                                  Instituto de Computação - UFF
Cores: sistemas as impressoras -
CMY(K)


               processo subtrativo




                                            luz ciano (0,1,1)

                                                   tinta ciano (0,1,1)

                                  papel branco (1,1,1)
                               componente vermelha é absorvida




                                                                     77
                   Instituto de Computação - UFF
Cores: gamute no diagrama de
cromaticidade dos dispositivos

            y
           1.0
           0.9
           0.8
           0.7
                     C2
           0.6                   gamute de um monitor
           0.5      C1

           0.4
                         W
           0.3
           0.2
           0.1                   gamute de uma impressora

                 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 x


                                                             78
                             Instituto de Computação - UFF
Cores: sistemas de interface


•    Permitem uma especificação intuitiva de
     cores.

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

•    Utilizam o seguinte esquema:
    1. Escolha da crominância.
    2. Escolha da luminância(brilho).

                                                        79
                        Instituto de Computação - UFF
Cores: sistemas de interface



•   Escolha da crominância:

    –   Escolha de um ponto no espaço de croma
        (bidimensional).
        •   Primeiro o usuário escolhe a matiz (a cor pura).
        •   Depois o usuário escolhe a saturação (nível de mistura da
            cor pura com o branco).




                                                                    80
                            Instituto de Computação - UFF
Cores: sistema HSV


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

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

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




                                                               81
                            Instituto de Computação - UFF
Cores: sistema HSV




                                                 82
                 Instituto de Computação - UFF

				
DOCUMENT INFO