Superfícies de computação gráfica
Superfícies poligonais
Os objetos são representados como uma coleção de superfícies. A representação do objeto 3D é dividida em duas categorias.
Boundary Representations (B-reps) - Descreve um objeto 3D como um conjunto de superfícies que separa o interior do objeto do ambiente.
Space–partitioning representations - É usado para descrever propriedades interiores, dividindo a região espacial que contém um objeto em um conjunto de pequenos sólidos contíguos não sobrepostos (geralmente cubos).
A representação de limite mais comumente usada para um objeto gráfico 3D é um conjunto de polígonos de superfície que envolvem o interior do objeto. Muitos sistemas gráficos usam este método. Conjunto de polígonos são armazenados para a descrição do objeto. Isso simplifica e acelera a renderização da superfície e a exibição do objeto, pois todas as superfícies podem ser descritas com equações lineares.
As superfícies poligonais são comuns em aplicações de design e modelagem de sólidos, uma vez que seus wireframe displaypode ser feito rapidamente para dar uma indicação geral da estrutura da superfície. Em seguida, as cenas realistas são produzidas pela interpolação de padrões de sombreamento na superfície do polígono para iluminar.
Tabelas Poligonais
Neste método, a superfície é especificada pelo conjunto de coordenadas do vértice e atributos associados. Conforme mostrado na figura a seguir, existem cinco vértices, de v 1 a v 5 .
Cada vértice armazena as informações das coordenadas x, y e z, que são representadas na tabela como v 1 : x 1 , y 1 , z 1 .
A tabela Edge é usada para armazenar as informações da borda do polígono. Na figura a seguir, a aresta E 1 fica entre os vértices v 1 ev 2, que é representado na tabela como E 1 : v 1 , v 2 .
A tabela de superfície do polígono armazena o número de superfícies presentes no polígono. Na figura a seguir, a superfície S 1 é coberta pelas arestas E 1 , E 2 e E 3, que podem ser representadas na tabela de superfície do polígono como S 1 : E 1 , E 2 e E 3 .
Equações planas
A equação para superfície plana pode ser expressa como -
Axe + Por + Cz + D = 0
Onde (x, y, z) é qualquer ponto do plano e os coeficientes A, B, C e D são constantes que descrevem as propriedades espaciais do plano. Podemos obter os valores de A, B, C e D resolvendo um conjunto de três equações planas usando os valores das coordenadas para três pontos não colineares no plano. Vamos supor que os três vértices do plano sejam (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) e (x 3 , y 3 , z 3 ).
Vamos resolver as seguintes equações simultâneas para as razões A / D, B / D e C / D. Você obtém os valores de A, B, C e D.
(A / D) x 1 + (B / D) y 1 + (C / D) z 1 = -1
(A / D) x 2 + (B / D) y 2 + (C / D) z 2 = -1
(A / D) x 3 + (B / D) y 3 + (C / D) z 3 = -1
Para obter as equações acima na forma determinante, aplique a regra de Cramer às equações acima.
$ A = \ begin {bmatrix} 1 & y_ {1} & z_ {1} \\ 1 & y_ {2} & z_ {2} \\ 1 & y_ {3} & z_ {3} \ end {bmatrix} B = \ begin {bmatrix} x_ {1} & 1 & z_ {1} \\ x_ {2} & 1 & z_ {2} \\ x_ {3} & 1 & z_ {3} \ end {bmatrix} C = \ begin {bmatrix} x_ {1} & y_ {1} & 1 \\ x_ {2} & y_ {2} & 1 \\ x_ {3} & y_ {3} & 1 \ end {bmatrix} D = - \ begin {bmatrix} x_ {1} & y_ {1} & z_ {1} \\ x_ {2} & y_ {2} & z_ {2} \\ x_ {3} & y_ {3} & z_ {3} \ end {bmatrix } $
Para qualquer ponto (x, y, z) com parâmetros A, B, C e D, podemos dizer que -
Ax + By + Cz + D ≠ 0 significa que o ponto não está no plano.
Ax + By + Cz + D <0 significa que o ponto está dentro da superfície.
Ax + By + Cz + D> 0 significa que o ponto está fora da superfície.
Malhas poligonais
Superfícies e sólidos 3D podem ser aproximados por um conjunto de elementos poligonais e de linha. Essas superfícies são chamadaspolygonal meshes. Na malha poligonal, cada aresta é compartilhada por no máximo dois polígonos. O conjunto de polígonos ou faces, juntos, formam a “pele” do objeto.
Este método pode ser usado para representar uma ampla classe de sólidos / superfícies em gráficos. Uma malha poligonal pode ser renderizada usando algoritmos de remoção de superfície oculta. A malha poligonal pode ser representada de três maneiras -
- Representação explícita
- Ponteiros para uma lista de vértices
- Indicadores para uma lista de borda
Vantagens
- Ele pode ser usado para modelar quase qualquer objeto.
- Eles são fáceis de representar como uma coleção de vértices.
- Eles são fáceis de transformar.
- Eles são fáceis de desenhar na tela do computador.
Desvantagens
- Superfícies curvas só podem ser descritas aproximadamente.
- É difícil simular algum tipo de objeto como cabelo ou líquido.