A primeira ideia para a resolução do problema foi, pegar a diferença entre as duas cores e dividir a diferença entre a distância entre os dois pontos. E essa divisão seria incrementada a cor do pixel anterior para definir a cor do próximo pixel. Mas gerou o seguinte resultado:
![]() |
Rasterização com a diferença de cor dividida pela distância entre os dois pontos |
Isso ocorreu por que a distância entre dois pontos não nos dá a quantidade de pixeis que serão pintados, fazendo com que o incremento seja diferente do necessário para fazer a interpolação.
Bom, para saber quantos pixeis serão pintados, basta saber em que octante se encontra e qual é a distância entre uma de suas coordenadas.
Por exemplo, no primeiro octante (0 <= m <= 1), a quantidade de pixeis que serão pintados é igual a diferença entre Xf - Xi, ou seja , Δx. Isso também acontece no oitavo octante.
Já no sétimo e no segundo octante, a quantidade de pixeis que serão pintados é igual a diferença entre o Yf - Yi, ou seja, Δy.
![]() |
Rasterização com a diferença de cor dividida pela diferença de coordenadas |
Nenhum comentário:
Postar um comentário