Esse trabalho tem como objetivo complementar os conhecimentos obtidos na disciplina de Computação Gráfica com o desenvolvimento de uma aplicação prática, que envolva o uso de entrada e saída diferenciada da padrão teclado/console. É obrigatório que o resultado seja apresentado graficamente em uma estrutura correspondente à matriz de pixels (Área de Desenho).
Essa aplicação pode ser desenvolvida em qualquer linguagem de programação e plataforma, desde que sejam disponibilizados os itens solicitados na Seção 3 deste documento.
O trabalho é individual e cópias serão zeradas!
O conteúdo a ser implementado deve contemplar os seguintes itens:
a) Transformações geométricas 2D: translação, rotação, escala e reflexões X/Y/XY com fatores de transformação informados pelo usuário (sem uso de valores fixos)
b) Rasterização:
- Retas - DDA, Bresenham
- Circunferência – Bresenham
c) Recorte:
- Regiões codificadas – Cohen-Sutherland
- Equação paramétrica – Liang-Barsky
A estrutura de dados deve contemplar vértices/pontos, retas e polígonos, de tal modo que possam ser selecionados por meio de região retangular indicada via interface. Lembre-se de que o uso de teclado deve ser evitado e a informação deve ser fornecida por cliques (ou eventos similares, como toque) na Área de Desenho ou estrutura similar.
Deverão ser entregues:
- código funcionando: comentado, endentado e organizado. Entregar o projeto completo;
- vídeos com os testes executados com captura de tela e áudio explicativo;
- executável ou correspondente (ou link para download);
- instalador para Windows com opção de disponibilização de bibliotecas e componentes.
Será avaliado, além do conteúdo, a forma de apresentação, a correção no uso da língua portuguesa e a clareza na exposição dos argumentos.
Trabalhos entregues após a data estipulada não serão aceitos. Caso o projeto completo com o código fonte não seja entregue, o trabalho não será aceito.
Este é o vídeo demonstrando o funcionamento do programa:
O executável está disponível em releases.
O manual de usuário está disponível através deste link.
A documentação está disponível através deste link.