La interpolación trilineal es un método de interpolación multivariable en un retículo regular tridimensional.[1] Se aproxima linealmente al valor de una función en un punto intermedio dentro de un prisma rectangular axial local, utilizando los datos de la función en los puntos del retículo. Para un retículo no estructurado arbitrario (como se usa en el análisis del método de los elementos finitos), se deben usar otros métodos de interpolación. Si todos los elementos de la malla son tetraedros (símplices 3D), entonces las coordenadas baricéntricas proporciona un procedimiento de cálculo más sencillo.
Comparado con la interpolación lineal y con la bilineal
La interpolación trilineal es la extensión de la interpolación lineal,[1] que opera en espacios con dimensión, y de la interpolación bilineal, que opera con la dimensión , a la dimensión . Todos estos sistemas de interpolación utilizan polinomios de orden 1, lo que proporciona una precisión de orden 2, y requieren valores predefinidos adyacentes que rodeen el punto de interpolación. Hay varias formas de llegar a la interpolación trilineal, que es equivalente a la interpolación tridimensional tensorial de orden 1 con B-splines, y el operador de interpolación trilineal también es un producto tensorial de 3 operadores de interpolación lineal.[2]
Método
Ocho puntos de las esquinas de un cubo que rodean al punto de interpolación CRepresentación de la interpolación 3DUna visualización geométrica de la interpolación trilineal. El producto del valor en el punto deseado y el volumen total es igual a la suma de los productos del valor en cada esquina y el volumen parcial diagonalmente opuesto a la esquina
En una red periódica y cúbica, sean , y sean las diferencias entre cada uno de , , y la coordenada más pequeña relacionada, es decir:[3]
donde indica el punto de red debajo de , y indica el punto de red por encima de y de manera similar para y .
Primero se interpola en (imagínese que se está "empujando" la cara del cubo definida por hacia la cara opuesta, definida por ), dando:
donde significa el valor de la función de A continuación, se interpolan estos valores (en , "empujando" de a ), dando:
Finalmente, se interpolan estos valores en (recorriendo una recta):
Esto da un valor previsto para el punto.
El resultado de la interpolación trilineal es independiente del orden de los pasos de interpolación en los tres ejes: cualquier otro orden, por ejemplo en , luego en y finalmente en , produce el mismo valor.
Las operaciones anteriores se pueden visualizar de la siguiente manera: Primero se localizan las ocho esquinas de un cubo que rodean al punto de interés. Estas esquinas tienen los valores , , , , , , , .
A continuación, se realiza una interpolación lineal entre y para encontrar , y para encontrar , y para encontrar , y para encontrar .
Ahora se interpola entre y para encontrar , y para encontrar . Finalmente, se calcula el valor mediante interpolación lineal de y .
En la práctica, una interpolación trilineal es idéntica a dos interpolaciones bilineales combinadas con una interpolación lineal:[3]
Algoritmo alternativo
Una forma alternativa de escribir la solución al problema de interpolación es[4]
donde los coeficientes se encuentran resolviendo el sistema lineal
↑ abSamuel R. Buss (2003). 3D Computer Graphics: A Mathematical Introduction with OpenGL. Cambridge University Press. pp. 117 de 371. ISBN 9780521821032. Consultado el 29 de febrero de 2024.
↑Hierarchical and Geometrical Methods in Scientific Visualization. Springer Science & Business Media. 2003. pp. 219 de 367. ISBN 9783540433132. Consultado el 29 de febrero de 2024.
↑ abPattern Recognition and Artificial Intelligence: Third International Conference, ICPRAI 2022, Paris, France, June 1–3, 2022, Proceedings, Part I. Springer Nature. 2022. pp. 463 de 704. ISBN 9783031090370. Consultado el 29 de febrero de 2024.
↑Dennis Yoder. «Trilinear Interpolation». NASA(en inglés). Consultado el 29 de febrero de 2024.
Enlaces externos
pseudocódigo de la NASA, describe una interpolación trilineal inversa iterativa (dados los vértices y el valor de C, encuentre Xd, Yd y Zd).
Paul Bourke, Métodos de interpolación, 1999. Contiene un método muy inteligente y simple para encontrar la interpolación trilineal que se basa en la lógica binaria y se puede extender a cualquier dimensión (tetralineal, Pentalineal, ...).
Kenwright, Deformación del tetraedro de forma libre. Simposio Internacional sobre Computación Visual. Springer International Publishing, 2015 [1].