Escolar Documentos
Profissional Documentos
Cultura Documentos
Visualização 2D
Visualização de objetos 2D
Transformações de modelagem
Transformações de visualização
Mapeamento Window/Viewport
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 de visualização
SRU SRT
y
xt x
yu P
yt P’
y
xu x
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
ywmin yvmax
(xu,yu) (xt,yt)
xvmax - xvmin
xt = xvmin + (xu - xwmin) *
xwmax - xwmin
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)
20
10
10 20 30
11