Interpolação temporal em NumPy/matplotlib
-
12-11-2019 - |
Pergunta
Ao criar animações no ParaView existe uma função para interpolar temporariamente arquivos de entrada.Ao gerar uma animação por meio de vários gráficos de contorno em NumPy/matplotlib, existe uma função semelhante que pode ajudar a tornar a animação mais suave ou preciso interpolar temporalmente os dados manualmente?
Solução
VTKs TemporalInterpolator
serve para interpolar dados em malhas espaciais não estruturadas entre intervalos de tempo.Você tem seus dados em matrizes NumPy bidimensionais e a tarefa de interpolá-los é muito mais fácil.Por este motivo, não existe uma função dedicada para isso, e você terá que fazer isso manualmente.
Vamos assumir a0
é a sua matriz de dados bidimensional no momento t0
, e a1
são os dados em t1
.Por algum tempo t0 <= t <= t1
, os dados interpolados linearmente a_t
é
delta_t = t1 - t0
a_t = (t1 - t) / delta_t * a_0 + (t - t0) / delta_t * a_1
Existem esquemas de interpolação mais avançados do que esta simples interpolação linear, mas o VTK TemporalInterpolator
também usa esse esquema simples.