Você está na página 1de 11

Fundamentos de Computação Gráfica

Visualização 2D

„ Visualização de objetos 2D
„ Transformações de modelagem

„ Transformações de visualização

„ Mapeamento Window/Viewport

„ Exibindo regiões do universo

„ Visualização 2D usando OpenGL

„ Visualização 2D: conseqüências

Introdução

Programa Sistema
Modelo
Aplicativo Gráfico

Visualização

1
Pipeline de visualização 3D
volume de
descrição visualização
geométrica
transformação
recorte
de câmera

projeção

imagem
rasterização mapeamento

Visualização de objetos 2D
„ Processo para
1. Percorrer a representação dos objetos gráficos
„ Descrição vetorial (geometria, topologia)
„ Coordenadas SRO → SRU
2. Converter em imagem
„ Coordenadas de dispositivo (SRU → SRD)
„ Vetorial → Matricial
3. Apresentar na tela
„ Atributos visuais

2
Visualização de objetos 2D
„ Componentes:
„ Transformação das coordenadas
„ SR Objeto → SR Universo → SR Tela
„ Conversão vetorial → matricial
„ Forma
„ Aparência

Transformações de modelagem
„ Objetos modelados no SRO
„ Instanciamento para universo
„ Escala
„ Rotação
„ Translação
„ Transformação SRO → SRU
„ Acumulada na MT Corrente

3
Transformação de visualização
„ Objetos no SRU
„ Imagem no SRT

„ Transformação SRU → SRT

Transformação de visualização

SRU SRT
y
xt x
yu P
yt P’
y
xu x

Problema: Conhecendo P=(xu,yu)


Determinar P’=(xt,yt)

4
Transformação de visualização
„ Mapeamento das coordenadas dos pontos do
objeto no universo (SRU) para a tela (SRT)
„ Parâmetros:
„ Window (janela de seleção): porção visível do
universo
„ Viewport (janela de exibição): região de desenho na
tela

Window/Viewport

Universo Tela
y window viewport

5
Window/Viewport

Universo Tela
y viewport
window

Window/Viewport

Universo Tela
y window 1 viewport 1

viewport 2

window 2 x

6
Visualização 2D

SRT

WINDOW Transformação de
VIEWPORT
Visualização
SRU

Transformação de visualização
„ Mapeamento
„ Window → Viewport
„ Janela de Seleção → Janela de Exibição
„ SRU → SRT
„ Parâmetros ???
„ Limites dos retângulos
„ no SRU
„ no SRT

7
Mapeamento window → viewport

SRT xvmin xvmax

ywmax Window yvmin Viewport

ywmin yvmax

SRU xwmin xwmax

Mapeamento window → viewport

(xwmax, ywmax) (xvmax, yvmax)

(xu,yu) (xt,yt)

(xwmin, ywmin) (xvmin, yvmin)

xvmax - xvmin
xt = xvmin + (xu - xwmin) *
xwmax - xwmin

yt = yvmin + (yu - ywmin) * yvmax - yvmin


ywmax - ywmin

8
Mapeamento window → viewport
„ Mapeamento pode ser visto como um conjunto
de transformações
„ Qual a matriz M que representa o
mapeamento window → viewport?
1. Translação da window para a origem
2. Escala para que a window tenha as mesmas
dimensões da viewport
3. Translação da window para a posição inicial
da viewport

Visualização 2D em OpenGL

9
Visualização 2D: conseqüências
„ Efeitos possíveis
„ Compressão horizontal/vertical
„ Ampliação/Redução (zoom-in e zoom-out )
„ Panorâmica (panning)
„ Várias janelas na tela
„ visões de regiões diferentes do mesmo universo
„ detalhamento do universo

Exercício
„ Como implementar comandos do tipo:
„ View-All ou Fit ?
„ View 50% ?
„ View 200% ?

10
„ Dados
„ triângulo (cheio) no SRU: (0,0) → (10, 0) → (0, 20)
„ Tela: 100x100
„ janela de exibição: Min=(10, 84) → Max=(58, 20)
„ janela de seleção: Min=(-1,-1) → Max=(15,15)

Indique todas as transformações realizadas para a exibição


do triângulo na tela, mostrando o resultado visual aproximado.
30

20

10

10 20 30

11

Você também pode gostar