IMPA


 Processamento Geométrico
 2012 - trabalhos


Trabalho 1 – representações de malhas (para 10/4)

O objetivo do trabalho é aprender a gerar algumas representações de malhas de triângulos.

O tema é aproximar uma esfera com uma malha de triângulos usando o método indicado na figura acima: começando com algum sólido inscrito na esfera, tipicamente um sólido platônico como o octaedro ou o icosaedro, subdividimos cada triângulo em quatro triângulos iguais, ligando os pontos médios dos lados do triângulo original e depois projetando esses pontos na esfera.

  1. Implemente o método descrito acima e gere um arquivo semelhante ao STL, isto é, no qual cada triângulo é representado pelas coordenadas dos seus vértices. Não é necessário gerar usar o formato STL: basta gerar um triângulo por linha ou bloco. Esse passo é essencialmente um aquecimento para o passo seguinte.

  2. Modifique a sua implementação para gerar um arquivo no formato OFF, no qual as coordenadas de cada vértice aparecem somente uma vez. A principal dificuldade é obter um nome único para cada vértice e compartilhá-lo nos vários triângulos. Pode ser necessário usar uma estrutura de dados que represente explicitamente as adjacências dos triângulos.

Não perca tempo escrevendo um programa gráfico para visualizar essas malhas. Existem muitos programas que fazem isso bem e que leem OFF. Por outro lado, o uso de um visualizador é essencial para verificar se o seu programa está correto.

O trabalho será discutido em aula com o André.

Trabalho 2 – interpolação de normais (para 22/5)

Reproduza o experimento descrito em aula para a comparação dos métodos de interpolação de normais em vértices com os pesos: uniforme, por área, por ângulo. Use a aproximação poligonal natural do cilindo e também algumas variações como mostra a figura abaixo. Faça o mesmo para a esfera que você aproximou no trabalho anterior. As normais interpoladas convergem para as normais corretas?

Trabalho 3 – suavização de malhas (para 5/6)

Perturbe a posição dos vértices das malhas da esfera e do cilindro calculadas nos trabalhos anteriores. Use perturbações gerais e perturbações naturais, como na direção radial ou tangente, e no caso do cilindo na direção da geratriz e na direção da rotação.

Suavize as malhas perturbadas usando as duas variantes do Laplaciano estudadas em aula: uniforme e cotangente. Compare com as malhas originais não perturbadas e com as superfícies suaves subjacentes.


Last update: Wed May 9 21:55:08 BRT 2012 . Logo borrowed from the OpenGL Programming Guide.