22
Computação Gráfica Agostinho Brito Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte 30 de julho de 2015

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

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

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

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

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

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

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

É 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.