Por que o esquema instanciação é
conhecido também como esquema de representação
para tecnologia de grupo?
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.
OpenGLProgramming
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:
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:
O esquema de representação é ambíguo?
Justifique.
O esquema de representação é unívoco?
Justifique.
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?
Como se pode obter as coordenadas
dos vértices de um tetraedro a partir de um raio? Dê
um algoritmo geométrico.
Como se pode mudar a posição dos modelos
num espaço tridimensional?
Obs: Utilize Makefile para gerar o
executável do programa.
Em quais aplicações o esquema varredura
tem se mostrado eficiente? Por quê?
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.
Explique o princípio de construção
de modelos geométricos com uso de curvas PD
( position and direction curve).
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.
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.
Cite duas aplicações apropriadas para
o esquema de representação enumeração
espacial.
É 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.
Discuta as seguintes operações sobre
representações em octree:
translação;
rotação; e
mudança de escala.
Faça o mesmo em relação a voxels.
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.
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
Samet, H. e Webber, R.E. Hierarchical Data Structures and Algorithms
for Computer Graphics. Part I: Fundamentals. IEEE CG&A, Maio 1988,
pp. 48-58.