Este programa aborda o desenvolvimento de algoritmos de computação gráfica, englobando técnicas de rasterização para desenho de retas (DDA, Bresenham) e circunferências (Bresenham), bem como algoritmos de recorte, incluindo regiões codificadas (Cohen-Sutherland) e equação paramétrica (Liang-Barsky).
Rasterização
- Retas - DDA, Bresenham
- Circunferência - Bresenham
Recorte
- Regiões codificadas - Cohen-Sutherland
- Equação paramétrica - Liang-Barsky
- Para navegar depois do zoom in você pode usar o botão do scroll ou o botão direito.
- As ferramentas ja vem como default DDA e o Sutherland.
- A ferramenta do pincel não está associada com as outras ferramentas, sendo possível apenas apagar.
- As retas são geradas uma por vez na ferramenta de reta.
- Na ferramenta de poligono é possivel gera diversas retas juntas formando objetos abertos e fechados, para começar outro objeto clique novamente na ferramenta do poligono.
- Para criar a janela do recorte clique em pontos que gere uma diagonal principal (Esquerda para direita, cima baixo), caso queira deletar o retangulo do corte faça um retangulo com pontos na diagonal secundaria.
- Todas as transformações geométricas são realizadas no ultimo objetos desenhado, pode ser reta ou poligono.
- Exemplo de input das transformações geométricas.
- Translação: Clique em um novo local na tela.
- Rotação: Valor do angulo (90, 60).
- Escala: Fator escala, numero decimal.
- Reflexão: Eixos da reflexão (x, y, xy) em lowercase.
- O projeto foi desenvolvido em flutter, por esse motivo os arquivos principais estão no path abaixo:
paint_algorithm/lib/*.
- Os arquivos contendo o algoritmos estão no mesmo path porem na pasta algoritmo:
paint_algorithm/lib/algorithms/*.
O executável está nas releases do github mas também pode ser rápidamente acessado.
Baixe o executável no link abaixo, descompacte o arquivo e execute o paint.exe dentro da pasta Release.
Feito por: