Esquemas de Representação - I


Tópicos

  1. Instanciação
  2. Varredura
  3. Enumeração Espacial

Exercícios de Fixação

  1. Por que o esquema instanciação é conhecido também como esquema de representação para tecnologia de grupo?
  2. Considere um esquema de instanciação em que formas geométricas sejam descritas pela função T.P, onde T e P correspondem, respectivamente, a mudança de escala (não necessariamente uniforme) e a primitiva genérica unitária. Caracterize as transformações T para as quais se obtém sempre representações válidas.
  3. OpenGL Programming Guide provê um conjunto de rotinas auxiliares para definir formas tridimensionais por instanciação (Observe que o objetivo deste exercício é simplesmente ilustrar uma possível interface de definição de um objeto por instanciação! Mesa/ OpenGL NÃO suporta nenhum modelo de dados geométricos tridimensionais propriamente ditos). Essas rotinas são:
    auxSolidSphere(GLdouble raio)
    auxSolidCube(GLdouble tamanho)
    auxSolidBox(GLdouble largura, GLdouble altura, GLdouble profundidade)
    auxSolidTorus(GLdouble raioMenor, GLdouble raioMaior)
    auxSolidCylinder(GLdouble raio, GLdouble altura)
    auxSolidIcosahedron(GLdouble raio)
    auxSolidOctahedron(GLdouble raio)
    auxSolidTetrahedron(GLdouble raio)
    auxSolidDodecahedron(GLdouble raio)
    auxSolidCone(GLdouble raio, GLdouble altura)
    auxSolidTeapot(GLdouble tamanho)
    O programa light.c ilustra a chamada da rotina auxSolidSphere para instanciar uma esfera. Teste o programa alterando tanto os valores dos parâmetros como as rotinas. Responda, caso seja implementado este esquema de representação:
    1. O esquema de representação é ambíguo? Justifique.
    2. O esquema de representação é unívoco? Justifique.
    3. Quais são restrições aos valores dos parâmetros de cada função de forma que seja garantida a validade das representações neste esquema?
    4. Como se pode obter as coordenadas dos vértices de um tetraedro a partir de um raio? Dê um algoritmo geométrico.
    5. Como se pode mudar a posição dos modelos num espaço tridimensional?
    Obs: Utilize Makefile para gerar o executável do programa.
  4. Em quais aplicações o esquema varredura tem se mostrado eficiente? Por quê?
  5. Explique o princípio de construção de uma classe de superfícies de revolução. Defina uma sintaxe de representação e dê três exemplos.
  6. Explique o princípio de construção de modelos geométricos com uso de curvas PD ( position and direction curve).
  7. Explique o princípio de construção de superfícies regradas. Mostre que ele pode ser considerado um caso particular de modelos com curvas PD. Defina uma sintaxe de representação e dê três exemplos.
  8. Estenda o princípio de construção de modelos com curvas PD, incluindo a possibilidade de variar a escala do gerador em cada ponto do diretor.
  9. Cite duas aplicações apropriadas para o esquema de representação enumeração espacial.
  10. É correto dizer que o espaço de memória necessário para representar um objeto em octree é função da área da superfície do objeto, e não do seu volume? Justifique.
  11. Discuta as seguintes operações sobre representações em octree:
    1. translação;
    2. rotação; e
    3. mudança de escala.
    Faça o mesmo em relação a voxels.
  12. Existe um algoritmo de complexidade de ordem constante para identificar o ponto mais próximo de um dado ponto nos esquemas de representação enumeração espacial? Justifique.
  13. O programa quadtree.c demonstra a implementação de um algoritmo para rotacionar um retângulo, representado em quadtree, em torno de um ponto dado (maiores explicações em LEIAME).
    Os arquivos example1, example2 e example3 exemplificam distintos ângulos de rotação. Utilize Makefile para gerar o executável quadtree e teste com outros ângulos.
    Observe ainda a codificação linear gerada para cada quadtree.

Referência Complementar


Voltar para página do curso.