MODELAGEM DE SÓLIDOS
É importante separar este assunto em dois tópicos distintos:
Representação Aramada ou por "wire frame"
Nesta representação os objetos são descritos por um conjunto de arestas que definem as bordas do objeto. O método nada mais é do que uma extensão 3D do método de representação de objetos 2D por arestas.
A principal vantagem desta técnica é a sua velocidade na exibição dos modelos pois é necessário apenas exibir um conjunto de linhas.
Porém, há sérios inconvenientes no uso da representação aramada:
Figura 1 - Ambigüidades da representação aramada
Esta técnica consiste em definir um modelo através de um conjunto de polígonos que delimitam uma região fechada do espaço. Esta região define o interior do modelo. Aos polígonos que limitam a região dá-se o nome de FACES. O objeto formado por esta técnica é normalmente chamado de POLIEDRO, ou seja, composto de muitos DIEDROS (diedro = semi-espaço).
Esta técnica também pode ser considerada uma extensão(mais inteligente) da modelagem 2D por arestas. Como naquele caso, onde há, pelo menos, duas formas de armazenamento das arestas, neste, é possível fazer uma analogia com as faces, que podem ser representadas de duas formas básicas:
FACE: (x1, y1, z1)-(x2, y2, z2)- .... - (xn, yn, zn);
FACE: v1, v2, v3, ...., vn
VÉRTICES:
1 - (x1, y1, z1)
2 - (x2, y2, z2)
.... .... ....
n - (xn, yn, zn)
Também conhecidos como Modelos de Subdivisão(ou Decomposição) do Espaço esta classe de formas de armazenagem decompõem o sólido em "pedaços".
Decomposição em células ou partes
Enumeração Exaustiva/Enumeração de Ocupação Espacial
A idéia é dividir o espaço em regiões e definir o objeto através das regiões que ele ocupa neste espaço. Esta técnica é bastante útil quando e deseja calcular propriedades de massa, pois basta saber, por exemplo o volume de uma das partes em que o espaço foi dividido e multiplicar este valor pelo número de divisões ocupadas pelo objeto.
figura(Foley,549)
Figura 2 - Exemplo de objeto descrito por Voxels
Vantagens
Desvantagem
Representação por Octrees
Considerada um caso particular da Enumeração de Ocupação Espacial, a técnica "representação por OCTREE" (ou árvore com 8 filhos) envolve o objeto, que em seguida é dividido em 8 cubos menores de igual tamanho(OCTANTES). Cada um destes é então classificado em:
Quando um octante for classificado em "Cheio-Vazio" ele é novamente dividido em 8 partes iguais e o processo de classificação é refeito para as novas partes. Este algoritmo repete-se até que só hajam cubos com as duas primeiras classes.
Esta forma de armazenamento é um caso especial de Enumeração Espacial. Neste caso, os voxels passam a ser cubos de dimensões variáveis.
Em geral armazena-se a estrutura em forma de árvore
figura(Foley,554)
Figura 3 - Exemplo de objeto descrito por Octree
Vantagens
Desvantagem
Algoritmo de Construção de uma OCTREE
typedef struct octree
{
XYZR Min, Max; /* Limites do nodo */
char codigo; /* PRETO, BRANCO, CINZA */
struct octree *oct[8]; /* 8 nodos-filhos*/
}OCTREE;
/* PRETO : nodo TODO ocupado pelo objeto */
/* BRANCO : nodo NÃO ocupado pelo objeto */
/* CINZA : nodo PARCIALMENTE ocupado pelo objeto */
CriaArvore(Sólido, OCTREE *raiz, nível)
{
C = Classifica(Objeto, raiz->Min, raiz->Max);
if (C = PRETO) raiz->codigo = PRETO;
if (C = BRANCO) raiz->codigo = BRANCO;
if (C = CINZA)
{
raiz->codigo = CINZA;
subdivide(raiz); /* gera os oito filhos */
for(i=0;i<8;i++)
{ /* chama a função de criação */
CriaArvore(Sólido, raiz->oct[i], nível-1);
}
}
}
Instanciamento de Primitivas(justaposição de sólidos primitivos)
Esta técnica de modelagem cria novos objetos através do posicionamento de objetos por transformações geométricas
Outra forma de crria objetos com esta técnica é o uso de Primitivas Parametrizáveis Com isto pode-se criar, por exemplo, um conjunto de Peças mecânicas ou Roupas, com apenas alguns comandos.
Método de CSG consiste em construir um objeto a partir da combinação operatória (união, intersecção e diferença) de dois ou mais sólidos. A figura 4exemplifica o uso desta técnica. No exemplo pode-se observar a realiza.cão de um diferença entre um retângulo e uma elipse.
Figura 4- Uso da técnica de CSG
A representação por varredura cria objetos baseada na noção de que uma curva C1 quando deslocada no espaço ao longo de uma trajetória dada por uma outra curva C2 descreve uma superfície que pode ser usada para definir um sólido. À curva C1 dá-se o nome de CONTORNO ou GERATRIZ e à C2, o nome de CAMINHO OU DIRETRIZ.
Varredura Translacional(Extrusão)
Um objeto "O" definido por varredura translacional é obtido pela translação de uma curva C ao longo de um vetor V, por um distância D. A figura 5 exemplifica a criação de dois objetos por esta técnica. A varredura translacional de um retângulo gera um paralelepípedo, de uma circunferência gera um cilindro.
Figura 5 - Criação de objetos por varredura translacional
Varredura Rotacional
Neste tipo de modelagem por varredura a superfície do objeto é descrita por uma curva que gira em torno de um eixo. Na figura 6 temos, à esquerda, uma curva e à direita o objeto gerado pela rotação de C em torno do eixo Y.
Figura 4 - Criação de objeto por varredura rotacional
Esta técnica permite gerar sólidos através de cortes.
Toma-se um eixo (segmento de reta)
Figura 5 - Criação de objeto por seções planas
Superfícies Bezier
figura(Foley,521)
Superfícies B-Splines
figura(Barsky 53 ou Roggers, 452)
Patches de COONS
Interpola 4 curvas paramétricas
figura(Roggers, 424 ou Plastock
onde,