Geometria 3D

Geometria de um rosto
Geometria de um rosto

Tipos de Geometrias

A geometria de um objeto 3D pode ser aproximada por várias técnicas.

Formas Básicas

Cubos, esferas, pirâmides, cones, etc.

As formas básicas são proporcionadas «diretamente» pelo sistema gráfico.

Geometrias Parametrizadas

Um cilindro é o rasto que uma circunferência deixa quando se desloca ao longo de um segmento de reta perpendicular ao plano da circunferência.

Certas formas podem ser definidas por um pequeno conjunto de parâmetros e objetos auxiliares e são proporcionadas por «funções» do sistema gráfico.

Conjuntos de Faces

Um rosto, o relevo de um terreno.

Formas mais irregulares têm de ser construídas definido individualmente as coordenadas dos vértices de uma rede de polígonos.


Além destas formas de construção de geometrias «estáticas» também são usadas técnicas que deformam a geometria inicial e que envolvem «esqueletos» e/ou «morphing». Estes técnicas não constam do programa deste curso.

Geometria construída

A geometria de um barco, construida a partir de proa, uma quilha e uma popa.

A popa e a proa são transformadas para se ajustarem à quilha. A quilha é uma extrusão, a proa é um conjunto de faces e a proa é uma transformação da popa.

Além das formas básicas, em geral estão disponíveis outras métodos para definir a geometria dos objetos gráficos.

Os métodos principais para construir geometrias são:

  • As geometrias parametrizadas; em particular, extrusões.
  • Os conjuntos de faces.

Exemplo/Aplicação da construção de geometrias.

Vamos ilustrar estes dois métodos construindo um objeto que usa ambos. O casco de um barco tem três partes:

  • A proa (bow), usando um conjunto de faces.
  • A quilha (keel), com uma extrusão.
  • A popa (stern), transformando a proa.

Extrusões

Peças de alumínio feitas por extrusão (fonte: Wikipedia)
Peças de alumínio feita por extrusão

A secção transportada ao longo da espinha gera uma geometria 3D :

Exemplos de extrusões

  • [2D] Um segmento é o rasto dum ponto quando se movimenta «a direito».
  • [2D] Um quadrado é o rasto dum segmento quando se movimenta «a direito»
  • [2D] Um círculo é o rasto dum segmento quando roda em torno dum ponto.
  • [3D] Um cubo é o rasto dum quadrado ao longo dum segmento.
  • [3D] Um cilindro é o rasto duma circunferência ao longo dum segmento.

Parâmetros das extrusões

Uma extrusão é definida por:

  • A secção
    • Uma superfície 2D assente no plano Y=0.
    • Por exemplo, uma circunferência, um disco, um «L».
  • A espinha
    • Uma sequência de pontos no espaço 3D.
  • Parâmetros adicionais
    • Parâmetros específicos de cada sistema gráfico, que controlam pormenores do rendering desta geometria.
    • Por exemplo, no sistema X3D as extrusões podem ter rotações e escalas definidas ao longo da espinha.

Estes parâmetros definem uma geometria de acordo com o seguinte processo:

  1. A secção, que é definida no plano Y=0 é «transportada» para o primeiro ponto da espinha e orientada para o ponto seguinte.
  2. Da mesma forma, a secção é colocada no segundo ponto da espinha.
  3. Os vértices correspondentes da primeira e da segunda secções são ligados, formando um quadrilátero entre cada par de vértices.
  4. Este processo é depois repetido para o resto dos pontos da espinha, resultando numa superfície de extrusão («arrasto») ao longo da espinha.

Conjuntos de Faces

Aproximações de uma geometria por conjuntos de faces
Coelho de Stanford
fonte: Artigo «Computer Graphics (computer science)» na Wikipédia

Formas pouco regulares (por exemplo, um rosto ou um terreno) têm de ser construídas definido individualmente as coordenadas dos vértices e ligando esses vértices para formar faces (triângulos ou quadriláteros).

Parâmetros dos conjuntos de faces

Um conjunto de faces é definido por:

  • Os vértices
    • Um ponto no espaço 3D, dado pelas suas coordenadas x, y, z.
    • Em geral os vértices são «arrumados» numa lista e referenciados pelo seu índice nessa lista.
  • As faces
    • Uma lista de três (ou, no caso do X3D, mais) vértices.
    • Normalmente é usado o índice na lista dos vértices, em vez das coordenadas.

Regra da mão direita

Um aspeto importante na definição de uma face é a ordem em que os (índices dos) vértices são dados.

Dados três pontos no espaço 3D, A, B, C, a face «para cima» é definida pela regra da mão direita. Se os pontos forem dados pela ordem A, C, B então a face «para cima» é oposta.

Quando esta regra é esquecida o resultado típico são «faces invisíveis».