Pedro de Botelho Marcos Março/2008 1
Sumário Introdução Ciclo de Visualização Dados 3D Dados Vetoriais Referências 2
Introdução O que? Representação visual de dados. Para? Facilitar a análise de grandes quantidades de dados. Onde? Computação de Alto Desempenho. 3
Modelos de Visualização Ciclo de Visualização Pipeline de Visualização 4
Ciclo de Visualização Proposto por Upson; Possui três etapas; Deve se considerar apenas os dados de maior relevância; Se o resultado encontrado não for o esperado deve se repetir a simulação com a inserção de mais dados relevantes. 5
Ciclo de Visualização 1)Os dados da simulação são colocados em formato apropriado. Exemplo: Reordenar os dados ou considerar apenas uma parte deles; Entrada: Dados Saída: Dados 6
Ciclo de Visualização 2)Os dados são mapeados de uma forma que possam ser mostrados. Exemplo: Os dados são mapeados na forma de figuras geométricas, por exemplo, triângulos e retângulos. Entrada: Dados Saída: Primitivas geométricas 7
Ciclo de Visualização 3)As figuras geométricas produzidas no estágio anterior são renderizadas. Entrada: Primitivas geométricas Saída: Imagem 8
Pipeline de Visualização 9
Dados 3D Por que? Dados 3D são os tipos mais comuns produzidos por sistemas físicos; Contras 1)Tempo de visualização; 2)Informações podem ser perdidas; 10
Elementos de Dados Existem duas maneiras de dividir um volume em pequenos elementos. 1)Voxels: Um voxel é uma área de valor constante cercando um ponto do grid. 2)Cells: Este método divide o volume em diversos elementos cujos vértices são pontos do grid. 11
Elementos de Dados 12
Elementos de Dados Existem duas principais maneiras que levam em conta a natureza continua dos dados: 1)Interpolação 2)Valor Constante 13
Interpolação O valor da dado varia; O valor de um ponto pode ser obtido pela combinação dos pontos do grid a sua volta; Neste caso são usados Cells para representar os dados. 14
Valor Constante Não importa como ocorre a variação dos dados; Nesta caso são usados Voxels para representar os dados. 15
Grids Existem diferentes maneiras de distribuir os elementos de dados em um conjunto de dados 3D; A seguir serão mostrados os três tipos principais. 16
Grids Regulares Este é o tipo mais comum. Consiste em elementos retangulares de mesmo tamanho distribuídos ao longo do volume. 17
Grids Retilíneos Neste tipo os elementos estão alinhados porém, não possuem o mesmo tamanho. 18
Grids Estruturados Neste tipo de grid os elementos não possuem o mesmo tamanho e não estão mais alinhados. 19
Algoritmos Objetivo: Representar dados 3D em uma imagem 2D sem perder informações; Dois tipos de renderização serão abordados: Renderização de Superfícies e Renderização por Volumes. 20
Renderização de Superfícies Método indireto de obter uma imagem a partir de um conjunto de dados 3D; As superfícies são produzidas pelo mapeamento dos valores dos dados em uma série de primitivas geométricas. Este processo é conhecido como Isosurfacing. 21
Cuberille É um dos algoritmos mais usadas para visualização de dados 3D; Proposto por Herman e Lui em 1979; Consiste em decidir se um elemento, geralmente um voxel, pertence a superfície ou não. 22
Cuberille Seu funcionamento ocorre da seguinte maneira: 1)Verificar se o volume é feito de Voxels cúbicos; 2)Verificar quais Voxels pertencem ao objeto e quais não pertencem; Maior número de voxels Maior tempo de computação Maior grau de realismo 23
Marching Cubes É uma variação do Cuberille; Criada nos anos 60, seu uso na renderização de superfícies foi acontecer apenas nos anos 80; Proposto por Lorensen and Cline. 24
Marching Cubes Seu funcionamento ocorre da seguinte maneira: Verifica se o elemento de volume intercepta a superficie; Se afirmativo, gera um triangulo através dos vértices do elemento de volume pertencentes a superfície; Conecta os elementos gerados produzindo a imagem. 25
Marching Cubes Desvantagens: 1)Pouca precisão para visualizar pequenos detalhes; 2)As deduções feitas sobre os dados podem não ser válidas; 3)Perda das informações do interios da superfície são perdidas. 26
Renderização por Volume Mostrar os dados diretamente sem a necessidade do uso de superfícies; Projeta os dados em uma tela de imagem em um processo que envolve a vizualização e o sombremento da imagem; Os detalhes internos do volume são mantidos. 27
Renderização por Volume Um dos principais algoritmos foi proposto por Levoy; 1)Classificação e sombreamento: Obter do objeto o valor de sua opacidade e sua cor; 2)Ray Casting: Combinar os elementos para obter a imagem final. 28
Animação Permite que o objeto seja visualizado por diferente ângulos ao longo do tempo; Para que o efeito 3D seja percebido é necessário que a animação tenha uma taxa mínima de 10fps. 29
Dados Vetoriais O que? Informações que possuem um vetor informando a sua direção; Exemplo: Velocidade. Onde? Sistemas físicos 30
Visualizando vetores Como um vetor pode ter diversos valores para um mesmo ponto, é necessário que eles sejam simplificados para que possam ser visualizados. Para isto, existem alguns métodos que são mostrados a seguir. 31
Visualizando Vetores 1)Extrair uma única componente dos pontos e analisá la; Exemplo: Velocidade de um carro na direção X. Este é o método mais simples e também o menos usado. 32
Visualizando Vetores 2)Extrair a magnitude do vetor Calcula se o módulo dos vetores do campo vetorial. Interessante para ter uma boa visão do campo, porém, pode não possuir todos os detalhes para um bom entendimento do sistema como um todo. 33
Visualizando Vetores 3)Calcular o divergente do campo v = v1/ x + v2/ y + v3/ z Se o divergente do campo vetorial tem algum significado físico importante este pode ser um método interessante. 34
Hedgehogs Cada ponto do grid é representado por uma seta. As setas contém informações sobre o campo vetorial em estudo. 1)Tamanho representa a intensidade; 2)Direção representa a direção do campo vetorial no ponto; 35
Hedgehogs 36
Hedgehogs Interessante se os pontos do grid não forem muito próximos; Fornecem apenas informações do ponto; Se os pontos forem muito próximos pode ocorrer embaralhamento das setas. 37
Hedgehogs 38
Hedgehog Unitário Todas as setas têm módulo unitário; Diminui o embaralhamento; Cores são usadas para diferenciar a intensidade das setas 39
Hedgehog Unitário 40
Hedgehog Sombreado Define com clareza para onde a seta está apontando; Aumenta o problema de embaralhamento das setas. 41
Hedgehog Sombreado 42
Sensores Usados para visualizar a variação de um ponto ao longo do tempo; Diversos sensores em diversos pontos mostrarão como o sistema se comporta ao longo do tempo. 43
Sensores 44
Referências http://www2.epcc.ed.ac.uk/computing/training/docu http://en.wikipedia.org/wiki/isosurface http://en.wikipedia.org/wiki/marching_cubes http://en.wikipedia.org/wiki/voxel http://en.wikipedia.org/wiki/volume_rendering 45