Desenho de trajetórias

Outra funcionalidade que foi pedida a fim de melhorar a visualização da simulação foi o desenho das trajetórias descritas pelas moléculas em difusão. Para isso, foi necessário criar uma nova classe - Path -, cujo objetivo é gerenciar os pontos das retas que compõem a trajetória. Também foi feita uma pequena alteração no modo como o ambiente de difusão é desenhado na tela: o modo de exibição wireframe foi trocado pelo modo de exibição translúcido, facilitando a percepção de tridimensionalidade do ambiente. O resultado dessas duas alterações pode ser visto na Figura [*].

Figura: Exibição da simulação após a alteração do modo de exibição do ambiente de difusão e da inclusão da trajetória de difusão das moléculas
Image Sim-v2-r27

Inicialmente, o desenho da trajetória foi feito de modo bastante ineficiente, com a alocação de cada polilinha ocorrendo a cada atualização. Esta implementação foi necessária devido ao modo de operação da classe vtkPolyline, da biblioteca VTK; esta classe não era otimizada para desenhar uma polilinha dinâmica, o que era necessário para representar a trajetória de uma molécula em movimento. Pesquisou-se, então, como utilizar outras classes da biblioteca para chegar a esse resultado, e acabou-se por utilizar a classe vtkPolyData em conjunto com a classe vtkPoints. Esta última permite a adição e a alteração de um conjunto de pontos, enquanto a primeira define uma topologia sobre os pontos, no caso um conjunto de linhas.

Luiz Fernando Oliveira Corte Real 2008-11-28