- mapeamento - visualização Prof. Julio Arakaki 2005
Visualização em 2 Dimensões (2D) Através da mudança do sistema de coordenadas, podem-se obter diferentes visualizações de um desenho/figura. Por exemplo: Aproximação de Imagem: neste caso, uma determinada região retangular (figura 1) é redesenhada utilizando-se a tela toda (figura 2). Figura 1. Área retangular a ser redesenhada. Figura 2. Utilização da tela toda para redesenhar a área selecionada. Deformação de Imagem: a deformação da imagem ocorre devido à característica de se manter a proporção entre a área do desenho (representado pelo retângulo tracejado na figura 3) e uma das janelas retangulares da tela (figura 4). Desenho Figura 3. Gráfico a ser desenhada na tela do computador. Figura 4. Tela com várias janelas. Neste caso, uma das janelas será utilizada para desenhar o gráfico. 2
As janelas retangulares que representam a origem ( o que vai ser desenhado) e o destino ( onde será desenhado) possuem nomes padronizados como descritos a seguir. Janela de desenho ( window ) Define a porção do desenho que deverá ser apresentado no dispositivo gráfico de saída. window Figura 5. Área representando uma janela de desenho. Janela de visualização ( viewport ) Define a porção do dispositivo gráfico de saída onde deve ser apresentada a porção de desenho definido pela window. viewport Figura 6. Área retangular da tela representando uma janela de visualização. Para representar uma figura ou trecho dela numa janela de visualização, é necessário fazer um mapeamento entre estas regiões retangulares. No Item a seguir demonstra-se como fazer isto matematicamente. 3
Mapeamento de regiões retangulares O mapeamento entre as regiões retangulares, é feito através da transformação entre os sistemas de coordenadas. Neste caso, o ponto (xw, yw), pertencente a uma figura na janela de desenho ( window ), deve ser mapeado no ponto (xv, yv) da janela de visualização ( viewport ). Assim sendo, o ponto (xv, yv) deve ser calculado de modo que ele seja desenhado no dispositivo de saída. Se todos os pontos da janela de desenho forem calculados e desenhados na janela de visualização, obtém-se, desta maneira, a figura numa viwport do dispositivo de saída. A figura 7 mostra exatamente como deve ser feito este mapeamento entre a window e a viwport. Neste caso, a window corresponde a um trecho retangular do sistema de coordenadas de desenho (também conhecido como sistema de coordenadas de usuário). (xw, yw) (xwmax, ywmax) Janela de desenho window (xwmin, ywmin) (xv, yv) Sistema de coordenadas de desenho ou de usuário ou globais Janela de visualização viewport (xvmax, yvmax) (xvmin, yvmin) Sistema de coordenadas de vídeo ou de dispositivo Figura 7. Mapeamento entre window e viwport. 4
O cálculo é feito através da proporção entre as dimensões da janela de desenho ( window ) e a janela de visualização ( viewport ). Ou seja, a proporção do desenho é mantida em relação a estas duas janelas. Essa característica é representada na figura 8, onde a proporção corresponde a passagem das coordenadas pelo sistema de coordenadas normalizadas (em porcentagem, valores entre 0 e 1), para depois ser convertido para coordenadas de dispositivo: xw xw min xv xv min xv max xv min = xv = xv min+ ( xw xw min ) xw max xw min xv max xv min xw max xw min Analogamente pode-se calcular o valor de yv da seguinte maneira: yw yw min yw max yw min = yv yv min yv = yv min+ yv max yv min yv max yv min yw max yw min ( yw yw min ) Dispositivo de saída Dispositivo de saída Sistema de coordenadas normalizadas Sistema de coordenadas de desenho Figura 8. Mapeamento entre sistemas de coordenadas de desenho, normalizadas e de dispositivo. 5