Tengo un espacio 3D (x, y, z) con un parámetro adicional en cada punto (energía), dando 4 dimensiones de datos en total.Interpolación de un campo escalar en un espacio 3D
Me gustaría encontrar un conjunto de puntos x, y, z que correspondan a una superficie isoenergética encontrada mediante la interpolación entre los puntos conocidos.
La malla espacial tiene separación constante y rodea la superficie iso-energía por completo, sin embargo, que no ocupa un espacio cúbico (la malla ocupa un espacio más o menos cilíndrica)
velocidad no es crucial, puedo dejar este número de crujidos por un tiempo. Aunque estoy codificando en Python y NumPy, puedo escribir partes del código en FORTRAN. También puedo envolver las bibliotecas existentes de C/C++/FORTRAN para su uso en las secuencias de comandos, si existen tales bibliotecas.
Todos los ejemplos y algoritmos que he encontrado hasta ahora en línea (y en Recetas Numéricas) no alcanzan los datos 4D.
BTW - Las recetas numéricas tienen algoritmos para cubrir esto en la edición más reciente: solo se trata de datos en 3D, es decir, datos almacenados en una única ubicación 3D. Todos los interpoladores de función de base radial en Recetas numéricas son aplicables aquí y se discuten en 3D (la mayoría se extiende a nD). –
Sí, tienes razón. Mi edición es 1992 pero proporciona recetas (o analogías 2D) para la interpolación nD, siempre que la malla tenga 'valores de funciones tabuladas ... en los vértices de una matriz rectangular'. Tenía la impresión de que, dado que la malla (que es cierto, en el nivel fino, espaciada uniformemente con periodicidad rectangular) llena un espacio aproximadamente cilíndrico que las técnicas no se aplicarían. – Brendan