Transformações de
Visualização 2D:
Window-to-Viewport
Antonio L. Bajuelos
Departamento de Matemática
Universidade de Aveiro
1
Transformações de Visualização 2D
Introdução
A visualização de uma imagem dum modelo envolve o
mapeamento das coordenadas dos pontos e das linhas
que o constituem nas coordenadas apropriadas do
dispositivo ou da estação de trabalho, onde a imagem irá
ser visualizada.
Isto é feito através de transformações conhecidas por
transformações de visualização
Utilizaremos as seguintes designações:
Sistema de coordenadas do mundo real (word
coordinate system, WCS)
Sistemas de coordenadas da ecrã (physical device
coordinate system, PDCS)
2
Transformações de Visualização 2D
Window--to
Window
to--Viewport.
Viewport. Definições
Window (janela): área rectangular visível no sistema de
coordenadas mundo
Viewport: área rectangular visível no sistema de
coordenadas do ecrã
Precisamos portanto de uma transformação que converta
as primitivas em coordenadas do sistema mundo em
coordenadas do sistema ecrã.
Transformação
Windows to Viewport
3
Transformações de Visualização 2D
Window--to
Window
to--Viewport (W
(W--toto-V)
Uma forma prática de efectuar a transformação (W
W-to
to--V)
é especificando una região rectangular em WCS
(Windows) e uma região rectangular correspondente em
PDCS (Viewport)
Se o window e a viewport não possuem a mesma razão
largura/altura, uma escala não uniforme é realizada.
4
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
Outro ponto é que pode-se ter múltiplas PDCS de uma
mesma WCS
WCS, o que é mostrado na figura a seguir
5
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
O problema:
Dada uma janela (window) e uma porta de visão, qual é
a matriz de transformação (MT) que mapeia a janela
em WCS, na porta de visão em PDCS?
Em princípio a MT pode ser desenvolvida como uma
transformação composta por três passos:
I.
Uma translação da janela para o origem do WCS.
II.
A seguir o tamanho da janela é escalonado para ser
igual ao tamanho da porta de visão
III. Finalmente, a translação é usada para posicionar a
porta de visão
6
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
Os três passos da transformação:
7
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
A matriz global da transformação:
u max − u min v max − v min
M T = T ( u min , v min ). S (
,
) .T (− x min ,− y min )
x max − x min y max − y min
8
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
A matriz global da transformação:
u max − u min v max − v min
M T = T ( u min , v min ). S (
,
) .T (− x min ,− y min )
x max − x min y max − y min
u max − u min
(
1 0 umin x max − x min
= 0 1 v min .
0
0 0 1
0
(
)
0
v max − v min
y max − y min
0
0
)
1 0 − x min
. 0 1 − y min
0
0 0
1
1
(
)
9
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
A matriz global da transformação:
10
Transformações de Visualização 2D
Window--to
Window
to--Viewport (cont
(cont...
...))
Exemplo de transformação
(300, 200)
(370, 160)
(10, 10)
(0, 0)
World coordinates
(“window”)
umax − u min
(
x max − x min
M T=
0
0
0
v max − v min
y max − y min
0
− x min .
− y min
Display coordinates
(“viewport”)
u max − u min
x max − x min
v max − v min=
y max − y min
1
+u min
+v min
)( )
5
6
=
0
0
0
4
3
0
25
3
40
−
3
1
−
11
Transformações de Visualização 2D
Window-to
Windowto--Viewport
Exercício::
Exercício
1. Determine a matriz global da transformação window-to-viewport
que mapeia uma janela com canto inferior esquerdo em (1,1) e
cujo canto superior direito está em (3,5) em:
(a) um enquadramento que é o próprio ecrã normalizado.
(b) um enquadramento que tem o canto inferior esquerdo em (0,0)
e o canto superior direito em (½,½)
(a)
1
2

N = 0

0

0
1
4
0
1
− 
2
1
− 
4
1 

(b)
1
4

N = 0

0

1
0 − 
4
1
1
− 
8
8
0 1 

12
Download

Window-to-Viewport - Universidade de Aveiro › SWEET