Матеріал з Вікіпедії — вільної енциклопедії.
Трилінійна інтерполяція — узагальнення лінійної інтерполяції на тривимірний простір з регулярною сіткою.
В тривимірному просторі з регулярною кубічною ґраткою з кроком 1, задано точку (x,y,z).
Обчислимо вагові коефіцієнти пропорційно відстані до сусідньої точки по кожній з осей:
![{\displaystyle x_{d}=x-\lfloor x\rfloor }](https://wikimedia.org/api/rest_v1/media/math/render/svg/a770df8a9bcda4e683949afc5c2d0299b6475e19)
![{\displaystyle y_{d}=y-\lfloor y\rfloor }](https://wikimedia.org/api/rest_v1/media/math/render/svg/f4207765559982cb77689709509f11dbcbd16966)
![{\displaystyle z_{d}=z-\lfloor z\rfloor }](https://wikimedia.org/api/rest_v1/media/math/render/svg/837ee22d74e87e275f7fa9ceed5ee45585158e14)
Вісім точок кубічної ґратки оточують точку С.
Трилінійна інтерполяція.
Спочатко обчислимо 4 лінійні інтерполяції вздовж осі z (на малюнку направлена вправо):
![{\displaystyle f_{\lfloor x\rfloor ,\lfloor y\rfloor }=(1-z_{d})\cdot f(\lfloor x\rfloor ,\lfloor y\rfloor ,\lfloor z\rfloor )\;+\;z_{d}\cdot f(\lfloor x\rfloor ,\lfloor y\rfloor ,\lceil z\rceil )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b18e01160b2a830c8e38d32d5fa3d455cc926327)
![{\displaystyle f_{\lfloor x\rfloor ,\lceil y\rceil }=(1-z_{d})\cdot f(\lfloor x\rfloor ,\lceil y\rceil ,\lfloor z\rfloor )\;+\;z_{d}\cdot f(\lfloor x\rfloor ,\lceil y\rceil ,\lceil z\rceil )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a9e9f8b73bb71c2ec26db51b3db14ecce51cfee1)
![{\displaystyle f_{\lceil x\rceil ,\lfloor y\rfloor }=(1-z_{d})\cdot f(\lceil x\rceil ,\lfloor y\rfloor ,\lfloor z\rfloor )\;+\;z_{d}\cdot f(\lceil x\rceil ,\lfloor y\rfloor ,\lceil z\rceil )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d24c00bfb99f6bc397598d1f5c10d9d400ba0dde)
![{\displaystyle f_{\lceil x\rceil ,\lceil y\rceil }=(1-z_{d})\cdot f(\lceil x\rceil ,\lceil y\rceil ,\lfloor z\rfloor )\;+\;z_{d}\cdot f(\lceil x\rceil ,\lceil y\rceil ,\lceil z\rceil )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a7f15aecde34ae337eaf42856493f9344b4f4c14)
Потім обчислимо 2 лінійні інтерполяції вздовж осі y (на малюнку направлена від глядача):
![{\displaystyle f_{\lfloor x\rfloor }=(1-y_{d})\cdot f_{\lfloor x\rfloor ,\lfloor y\rfloor }+y_{d}\cdot f_{\lfloor x\rfloor ,\lceil y\rceil }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7a372ddda6e5ef42a9ab1034ce8d553b03477bf3)
![{\displaystyle f_{\lceil x\rceil }=(1-y_{d})\cdot f_{\lceil x\rceil ,\lfloor y\rfloor }+y_{d}\cdot f_{\lceil x\rceil ,\lceil y\rceil }}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0c5ceb6879d88e7bdf6acda6a36b5c77596a866d)
Вкінці лінійно проінтерполюємо вздовж осі x (на малюнку направлена вгору):
![{\displaystyle f(c)=(1-x_{d})\cdot f_{\lfloor x\rfloor }+x_{d}\cdot f_{\lceil x\rceil }.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d0f9d418784ba2823a1af9b022ee6245a322bc41)
Результат трилінійної інтерполяції не залежить від порядку вибору осей.