• No results found

Experimental results

5.2 Data post processing

5.3.1 PLSR model for control

Embora o programa Tensor3D seja o resultado da inter-relação (conexão) entre

numerosos módulos ou classes da biblioteca VTK, destaca-se a classe vtkTensorGlyph, que utiliza as informações matemáticas contidas na representação matricial de um tensor para

deformar um modelo geométrico 3D (no ambiente VTK, uma instância da classevtkPolyData

Antes de considerar a classe vtkTensorGlyph, será abordado o conceito genérico de glyph. É comum em visualização científica dispor de um conjunto de dados distribuídos no espaço tridimensional. A cada ponto (x, y, z) do conjunto considerado podem estar associados, por exemplo, atributos de natureza escalar (pressão, temperatura, porosidade, etc.), vetorial (velocidade, aceleração, etc.) ou tensorial (tensão, deformação, etc.). Algumas técnicas de computação gráfica utilizadas em visualização científica visam representar tais atributos através de objetos tridimensionais posicionados nos pontos correspondentes. Tais objetos são denominados glyphs e sua forma, escala, orientação e cor podem ser modificadas de acordo com as informações associadas a cada ponto do conjunto de dados. Por exemplo, uma distribuição de temperaturas medidas em pontos do espaço tridimensional poderia ser representada através de um conjunto de pequenas esferas posicionadas nos pontos conhecidos.

Em termos de representação 3D dos dados, o simples fato de identificar visualmente uma esfera em determinado ponto seria indício de um registro de temperatura presente naquele ponto. Mas as propriedades de visualização do objeto gráfico considerado podem variar de acordo com outras informações. Continuando o exemplo das temperaturas, cada esfera (glyph) poderia receber uma cor associada à temperatura do ponto correspondente, de acordo com uma escala de cores do azul para o vermelho que acompanhasse a variação absoluta de temperaturas do conjunto. Portanto, duas ordens de informação numérica (coordenadas e temperatura) teriam correspondência direta com duas propriedades gráficas (posição e cor de uma esfera). Mas os glyphs possuem outras propriedades, como o tamanho relativo (escala). No exemplo considerado, as esferas poderiam ser visualizadas com tamanhos diferentes, levando em conta quão recente é a informação de temperatura associada ao ponto correspondente: para informações mais recentes poderiam ser utilizadas esferas de maior raio. O exemplo poderia continuar levando em conta outros atributos associados aos pontos. O que se deseja destacar é a poderosa capacidade de visualizar dados multidimensionais através de glyphs, associando-se a um atributo (escalar, vetorial, tensorial, etc.) uma ou mais propriedades dos objetos 3D considerados.

O sistema VTK possui uma classe, chamadavtkGlyph3D(SCHROEDER et al., 1996),

que permite implementar glyphs copiando uma representação geométrica em cada ponto de

um conjunto de dados. A definição do objeto ocorre criando instâncias da classe vtkPolyData (descrita na seção 3.4.2) e o glyph pode ser orientado de acordo com informações vetoriais e/ou redimensionado de acordo com informações escalares (incluindo magnitudes de vetores).

A classe vtkGlyph3D é especializada na visualização de informações escalares e

utilização de glyphs em visualização científica. No primeiro caso, é exibida a triangulação Delaunay de um conjunto de pontos no plano (WATSON, 1981). Os pontos foram destacados utilizando-se a representação de pequenas esferas (informação de posição). No segundo caso, utilizou-se um conjunto de pirâmides para representar um campo vetorial ao longo da superfície de uma esfera. As pirâmides estão orientadas na direção dos vetores (informação de posição e de orientação) do campo. As pirâmides poderiam sofrer mudança de escala ou de cor de acordo com a intensidade do campo (magnitude dos vetores correspondente).

Para grandezas tensoriais, como informações de tensão e deformação em determinado ponto do espaço, utiliza-se a classe vtkTensorGlyph, que representa a extensão da classe vtkGlyph3D para informações matriciais. Como esta, a primeira copia uma representação geométrica (novamente especificada através de uma instância da classe vtkPolyData) em cada ponto de aplicação do tensor. O objeto considerado é deformado (isto é, redimensionado e rotacionado) de acordo com as componentes normais e cisalhantes do tensor considerado. A mudança de escala e a rotação são controladas através dos autovalores e autovetores da matriz 3x3 do tensor, de acordo com o procedimento ilustrado a seguir (vide seção 5.7).

A Figura 5.10, obtida utilizando o programa Tensor3D, mostra a deformação de um

glyph (esfera semitransparente) usando a matriz de um tensor 3x3. Em (a) é possível

identificar a esfera antes da deformação, no sistema de coordenadas global XYZ. Para o

tensor considerado, a classe vtkTensorGlyph calcula os autovalores e seus autovetores

correspondentes. Em seguida, os pares (autovalor, autovetor) são ordenados segundo o valor decrescente dos autovalores. A Figura 5.10b mostra o sistema de eixos principais calculado para o tensor do exemplo. Tais eixos possuem comprimentos diferentes, proporcionais aos autovalores encontrados. Desta forma é possível identificar os eixos de maior estiramento (ê1), intermediário (ê2) e de maior encurtamento (ê3) do elipsóide de deformação associado ao

tensor. A Figura 5.10c mostra o resultado da etapa final do processo. O maior autovetor redimensiona o glyph (a esfera) na direção X, o intermediário na direção Y e o menor na direção Z. Em seguida, o objeto é rotacionado de forma que o eixo X de seu sistemalocal de

coordenadas coincida com o eixo principal maior ê1, o eixo Y com o eixo principal

intermediárioê2e o eixo Z com o eixo principal menor ê3. A figura não mostra o sistema de

coordenadas local do objeto, sendo XYZ o sistema global. O objeto redimensionado (deformado) e rotacionado da figura coincide com o elipsóide de deformação do tensor, já que sua forma inicial era a de uma esfera. Objetos diferentes podem ser utilizados, conforme será mostrado mais adiante.

(a) (b)

Figura 5.10 – Exemplo de uso da classe vtkTensorGlyph. (a) Esfera visualizada no sistema XYZ de eixos coordenados antes da deformação. (b) Visualização dos eixos principais ê1ê2ê3do tensor. (c) Visualização da

sfera deformada e orientada (elipsóide) usando as informações encontradas.

Figura 5.9 – Utilização de glyphs para representar diferentes ordens de informações (atributos) associadas a pontos tridimensionais. (a) Esferas realçam a posição dos pontos em uma malha de triângulos. (b) Pirâmides são posicionadas nos pontos de aplicação de grandezas vetoriais e orientadas de acordo com as mesmas.

(a) (b) (c)

e