Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente...
Transcript of Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente...
![Page 1: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/1.jpg)
Computação Gráfica
Agostinho Brito
Departamento de Engenharia da Computação e AutomaçãoUniversidade Federal do Rio Grande do Norte
30 de julho de 2015
![Page 2: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/2.jpg)
O que é computação gráfica
EntradaSaída IMAGEM MODELO
IMAGEM Processamento digital de Imagens Computação gráficaMODELO Visão computacional Geometria Computacional
![Page 3: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/3.jpg)
Origens...
Ivan Sutherland e seu “sketchpad”. Tese de doutorado no MIT (1963)
![Page 4: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/4.jpg)
O fomento da indústria de CG
Barateamento de circuitos eletrônicos e computadores.
Crescimento da indústria de software.
Indústria de jogos.
Indústria de entretenimento.
![Page 5: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/5.jpg)
É aplicada em:
Interfaces de usuário.
Traçado de gráficos (interativos).
Automação de escritório.
CAD.
Jogos
Simulação de sistemas.
Animação.
Arte e comércio.
...
![Page 6: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/6.jpg)
O que será estudado
Representação de figuras
Dispositivos de exibição.
OpenGL.
Algoritmos de rastreamento.
Algoritmos de preenchimento.
Recortes.
Transformações geométricas 2D e 3D.
Projeções em perspectiva.
Modelagem geométrica.
Representação de curvas no plano eno espaço.
Tratamento de linhas e superfíciesescondidas.
Rendering.
Modelos de iluminação.
Modelos de cor.
Tratamento de sombras.
Ray Tracing/Radiância.
Tratamento de Texturas.
![Page 7: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/7.jpg)
Representação de figuras
Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição.
Tais figuras podem ser representadas por pontos interligados.
Ex: quadrado unitário no primeiro quadrante
Algoritmo para desenho: Conecte P1P2P3p4 em sequência.
Algoritmo para desenho: Conecte E1E2E3E4 em sequência.
Pontos podem ser bidimensionais ou tridimensionais: (x1, y1) ou (x1, y1, z1).
![Page 8: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/8.jpg)
Preparando figuras para exibição
Operações com pontos:Mover o cursor para um ponto.Desenhar uma linha de um ponto a outro.Exibir um pixel (elemento de imagem) em um ponto.
Etapas da exibição:Transformação: rotação, translação, escalamento e projeções.Remoção de linhas e superfícies escondidas (recorte).Sombreamento, transparência, textura e efeitos de cor.
![Page 9: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/9.jpg)
Window & Viewport
Window (janela) : retângulo definindo parte do mundo a ser mostrado.
Viewport: retângulo no dispositivo de exibição onde a janela será mostrada.
sistema de coordenadas de mundo sistema de coordenadas de janela
Window
Viewports
![Page 10: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/10.jpg)
Window & Viewport
Sistema de coordenadas de mundo.Espaço onde o modelo é definido. Ex: R2 ou R3.Dimensões medidas em medidas físicas ou abstratas.
Sistemas de coordenadas de janelaEspaço onde a imagem do recorte é mostrada. ex: 640x480 pixels.Dimensões normalmente medidas em pixels.
![Page 11: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/11.jpg)
Transformação Window > Viewport
sistema de coordenadas de mundo (window) sistema de coordenadas de janela (viewport)
Etapas da transformação:1 Translação da janela (no sistema de coordenadas de mundo) para a origem.2 Escalamento da janela (no sistema de coordenadas da viewport) para adequação
às proporções da exibição.3 Translação (no sistema de coordenadas da viewport).
![Page 12: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/12.jpg)
Transformação Window > Viewport
Exemplo:
window(20.0, 10.0, 60.0, 50.0)→ viewport(100,30,200,350)
u =(x − 20.0)(
200− 10060.0− 20.0
)+ 100
v =(y − 10.0)(
350− 3050− 10
)+ 30
![Page 13: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/13.jpg)
Recorte
Operações de recorte visam determinar que partes dos objetos (geralmentelinhas) caem fora da janela para exibição.Em duas dimensões, a janela é determinada por um retângulo.
![Page 14: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/14.jpg)
Recorte
Em três dimensões, a janela de recorte é determinada por um paralelepípedo, ouum tronco (frustum), no caso de visões em perspectiva.
Left
Right
Near
Far
Top
Bottom
![Page 15: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/15.jpg)
Dispositivos Vetoriais
Foram os primeiros dispositivos gráficos de exibição. Tais dispositivos apresentavamas seguintes características:
Uma tela de fósforo era sensibilidada por um feixe de luz.
Linhas podiam ser traçadas de qualquer ponto para qualquer ponto na tela.
O tempo de traçado dos desenhos dependia velocidade de comunicação entre ocomputador e o dispositivo gráfico e do número de objetos a serem desenhados.
Ausência de cor.
Traçado de objetos tridimensionais era muito custoso.
feixe acesofeixe apagado
![Page 16: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/16.jpg)
Dispositivos de rastreamento
Dispositivos raster são como matriz de células discretas que podem ser acesas ouapagadas. As linhas desenhadas aparecem serrilhadas, semelhantes a escadas.A este efeito é dado o nome de aliasing.
O uso de dispositivos de rastreamento (raster graphics) permite que o tempo dedesenho da imagem na tela seja independente do número de objetos desenhados.
feixe acesofeixe apagado
→
![Page 17: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/17.jpg)
Dispositivos de rastreamento
Problema fundamental: não é possível, exceto em casos excepcionais, desenharlinhas retas de um ponto para outro.
Caso geral Casos especiais
![Page 18: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/18.jpg)
Implementação de um dispositivo raster
A implementação de um dispositivo raster pode ser feito com o uso de frame buffers,obedecendo às seguintes etapas:
Armazenar numa matriz os pontos a serem desenhados.
Ler a informação digital em cada elemento da matriz e converter para umavoltagem elétrica com um DAC (conversor digital-analógico).
Sensibilizar a tela gráfica nas coordenadas correspondentes às da matriz.
![Page 19: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/19.jpg)
Funcionamento de um dispositivo raster
8
8
Frame buffer
10101100
00001010(vermelho10)
01001011
(verde172)
(azul75)
Registradores
Rastreador CRT
8-bit DAC
8-bit DAC
8-bit DAC
8
![Page 20: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/20.jpg)
Dispositivos de interação lógica
Locator: provê informações de coordenadas em 2 ou 3 dimensões.Valuator: provê um valor simples, geralmente apresentado como um número real.
Button: utilizado para selecionar e ativar eventos ou procedimentos.Pick: identifica ou seleciona objetos na tela.
Keyboard: coleção de botões.
![Page 21: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/21.jpg)
Interfaces gráficas de usuário
Janelas
Cursores
Radio buttons
Avaliadores: sliders, dials...
Barras de rolagem (scroll bars)
Grids
Menus
Ícones
Rubber bands (usados para ajustar pontos finais de objetos)
![Page 22: Agostinho Brito · 2020. 11. 24. · Tratamento de sombras. ... Algoritmos de exibição geralmente aceitam polígonos ou arestas para exibição. Tais figuras podem ser representadas](https://reader033.fdocumentos.tips/reader033/viewer/2022060814/6092711733a5e7351d64fc42/html5/thumbnails/22.jpg)
Dispositivos de interação física
Tablet: consiste em superfície plana e uma caneta, usada para apontar umaposição na superfície do tablet. Também chamado mesa digitalizadora.
Touch panel: semelhante ao tablet, atua como um locator, onde o dispositivoapontador pode ser, por exemplo, um dedo.
Mouse: é dotado de sensores internos que atuam sobre dois valuators,indicando posição. Botões adicionais servem para realizar choice oupick de entidades na tela.
Joystick: semelhante ao mouse, mas com uma origem fixa.Trackball: semelhante ao mouse. Utilizados quando o espaço físico é reduzido
para a aplicação.Outros: Spaceball, data glove, caneta ótica, Kinetic, Google Cardboard, Oculos
XXX.