bhhbbhhb
1933 palavras
8 páginas
Aula #02RASTERIZAÇÃO DE LINHAS
Vimos como transformar as coordenadas reais de um ponto nas coordenadas de um pixel no interior de uma janela de visualização (mapeamento window-to-viewport). Não devemos nos esquecer que esse mapeamento converte tanto pontos do SRU em pixels do SRD como o contrário, ou seja, dado um pixel no SRD calcula-se o ponto no SRU. Desta vez, vamos ligar dois pixels para obtermos uma linha reta.
A motivação é simples. Em vez de mapearmos do SRU para o SRD cada ponto de uma aresta que liga dois vértices, mapeamos apenas os vértices (não esquecendo de efetuar o recorte, se necessário) e completamos as arestas com um algoritmo que considere apenas os pixels do SRD.
Sejam XRi e YRi as coordenadas de um ponto inicial Pi e XRf e YRf as coordenadas de um ponto Pf, final, ambos pertencentes ao R2 (logo, ao SRU). A equação da reta que passa por Pi e Pf é dada por: y = mx + b (figura 1)
figura 1. Elementos da Reta que passa por dois pontos dados (Pi, Pf)
É claro que, em um primeiro momento, precisamos transformar as coordenadas dos pontos Pi e Pf em coordenadas da janela de visualização (viewport) em pixels. Para tanto, procedemos como na aula anterior. Na maioria dos casos, contudo, já temos os pontos Pi e Pf em pixels. Por exemplo: Em um programa de desenho tipo PaintBrush, na ferramenta "linha", pressionamos o botão do mouse para indicar o pixel inicial (Pi). Em seguida, arrastamos o ponteiro através da tela com o botão do mouse pressionado e soltamos, indicando o ponto final (Pf). Neste caso, observe, não houve necessidade de transformação de pontos reais em pixels. No entanto, em programas como CAD/CAM ou programas que desenha gráficos (Excel, Grapher, etc...), o mapeamento window-to-viewport dos pontos Pi e Pf são necessárias. No entanto, seja em um caso ou no outro, o PREENCHIMENTO do espaço entre os pontos pode ser feito mais eficientemente calculando-se apenas os pixels que devem ser ativados mais próximos da reta teórica. A