Método para obtener valores en puntos arbitrarios en el espacio 3D de una función definida en una cuadrícula regular
En el subcampo matemático del análisis numérico , la interpolación tricúbica es un método para obtener valores en puntos arbitrarios en el espacio 3D de una función definida en una cuadrícula regular . El enfoque implica aproximar la función localmente mediante una expresión de la forma
Esta forma tiene 64 coeficientes ; requerir que la función tenga un valor dado o una derivada direccional dada en un punto coloca una restricción lineal en los 64 coeficientes.
El término interpolación tricúbica se utiliza en más de un contexto; algunos experimentos miden tanto el valor de una función como sus derivadas espaciales, y es deseable interpolar conservando los valores y las derivadas medidas en los puntos de la cuadrícula. Estos proporcionan 32 restricciones sobre los coeficientes, y se pueden proporcionar otras 32 restricciones exigiendo la suavidad de las derivadas superiores. [1]
En otros contextos, podemos obtener los 64 coeficientes considerando una cuadrícula de 3×3×3 de cubos pequeños que rodean el cubo dentro del cual evaluamos la función, y ajustando la función en los 64 puntos de las esquinas de esta cuadrícula.
El artículo sobre interpolación cúbica indica que el método es equivalente a una aplicación secuencial de interpoladores cúbicos unidimensionales. Sea el valor de un polinomio cúbico monovariable (por ejemplo, restringido por valores, , , , de puntos de cuadrícula consecutivos) evaluado en . En muchos casos útiles, estos polinomios cúbicos tienen la forma de algún vector que es una función de solo. El interpolador tricúbico es equivalente a:
donde y .
A primera vista, podría parecer más conveniente utilizar las 21 llamadas descritas anteriormente en lugar de la matriz descrita en Lekien y Marsden. [1] Sin embargo, una implementación adecuada que utilice un formato disperso para la matriz (que es bastante disperso) hace que esta última sea más eficiente. Este aspecto es incluso mucho más pronunciado cuando se necesita interpolación en varias ubicaciones dentro del mismo cubo. En este caso, la matriz se utiliza una vez para calcular los coeficientes de interpolación para todo el cubo. Luego, los coeficientes se almacenan y se utilizan para la interpolación en cualquier ubicación dentro del cubo. En comparación, el uso secuencial de integradores unidimensionales funciona extremadamente mal para interpolaciones repetidas porque cada paso computacional debe repetirse para cada nueva ubicación.
Véase también
Referencias
- ^ ab Lekien, F.; Marsden, J. (21 de mayo de 2005). "Interpolación tricúbica en tres dimensiones". Revista de métodos numéricos en ingeniería . 63 (3): 455–471. doi : 10.1002/nme.1296 . ISSN 0029-5981.
Enlaces externos
- Implementación de interpolación tricúbica en Java/C++
- Implementación de interpolación tricúbica en C++
- Implementación de Python
- Implementación de NumPy
- [1] biblioteca einspline