Trabalho de Computação Gráfica (2002/1)

Desenvolvimento de uma aplicação 2D - Editor de Curvas Paramétricas

Objetivos do trabalho

Especificação do trabalho

Como já visto em aula, a correta utilização de curvas paramétricas é essencial em diversas atividades de desenho e modelagem.

O resultado deste trabalho será a criação de um editor simplificado para curvas. Você pode escolher o modelo de curvas que desejar (Bezier, B-Spline, Hermite, Catmull-Rom) e implementá-lo.

O editor deverá ser escrito em C/C++, utilizando o pacote gráfico OpenGL para visualização 2D. As seguintes opções devem estar disponíveis:

A curva deverá ser criada com o mouse, onde cada clique indicará um dos pontos de controle. As demais opções podem ser disponibilizadas através de teclas específicas ou de um menu.

A área de desenho inicial deverá ser estabelecida previamente, por exemplo, 100 x 100 unidades. Note que são coordenadas de universo, não de tela! Isto significa que a janela de seleção (glOrtho) deverá ser especificada como, por exemplo, -50 a 50 para X e -50 a 50 para Y.

As opções de deslocar, aproximar e afastar devem simplesmente alterar esses parâmetros e redesenhar a tela.

Veja este exemplo, que desenha a função seno na tela.

Para descobrir a posição de universo equivalente à posição do mouse, você deverá utilizar as fórmulas de mapeamento vistas em aula, só que ao contrário (SRD para SRU, ao invés de SRU para SRD):

	xu = (xd*(xmax-xmin)/(largura))+xmin
	yu = (yd*(ymin-ymax)/(altura))+ymax

Onde:

Avaliação

O programa será avaliado segundo os seguintes critérios:

  1. Edição interativa da curva
  2. Opções de visualização

Realização e Prazo

O trabalho poderá ser realizado em duplas e entregue no dia 01/07/2002.

Deverá ser entregue um disquete etiquetado com o nome dos alunos e o código-fonte do trabalho.

Bibliografia Adicional