Preenchimento de Polígonos & Recorte (Rasterizer2D.cs)
O arquivo Rasterizer2D.cs implementa o preenchimento de polígonos côncavos e complexos e o recorte contra a janela de visualização.
1. Preenchimento por Varredura (Scanline Polygon Fill)
Para preencher o interior de qualquer polígono geométrico linha por linha:
- Tabela de Arestas Ativas (AET): Guarda as arestas que cruzam a linha horizontal atual .
- Regra de Paridade (Par-Ímpar): Ordena os pontos de corte da linha em . Pinta os pixels entre o 1º e o 2º corte, pula do 2º ao 3º, e pinta do 3º ao 4º.
2. Algoritmo de Inundação (Flood Fill baseado em Fila)
O Flood Fill (ferramenta de balde de tinta) substitui uma cor conectada por uma nova cor.
No nosso projeto, utilizamos uma Fila Explícita (Queue<Point>), garantindo estabilidade e memória suficiente para qualquer preenchimento.
3. Recorte de Linhas de Cohen-Sutherland (Outcodes de 4 bits)
O algoritmo divide o espaço em 9 regiões usando códigos binários de 4 bits [Cima, Baixo, Direita, Esquerda]:
- Totalmente Visível:
- Totalmente Invisível:
- Caso Contrário: Corta a linha na borda e recalcula o segmento restante.
👉 Próximo Passo: Entre no módulo de Computação Gráfica 3D & Matrizes MVP.