Трилінійна інтерполяція

Матеріал з testwiki
Перейти до навігації Перейти до пошуку

Трилінійна інтерполяція — узагальнення лінійної інтерполяції на тривимірний простір з регулярною сіткою.

Алгоритм

В тривимірному просторі з регулярною кубічною ґраткою з кроком 1, задано точку (x,y,z).

Обчислимо вагові коефіцієнти пропорційно відстані до сусідньої точки по кожній з осей:

xd=xx
yd=yy
zd=zz
Вісім точок кубічної ґратки оточують точку С.
Трилінійна інтерполяція.

Спочатко обчислимо 4 лінійні інтерполяції вздовж осі z (на малюнку направлена вправо):

fx,y=(1zd)f(x,y,z)+zdf(x,y,z)
fx,y=(1zd)f(x,y,z)+zdf(x,y,z)
fx,y=(1zd)f(x,y,z)+zdf(x,y,z)
fx,y=(1zd)f(x,y,z)+zdf(x,y,z)

Потім обчислимо 2 лінійні інтерполяції вздовж осі y (на малюнку направлена від глядача):

fx=(1yd)fx,y+ydfx,y
fx=(1yd)fx,y+ydfx,y

Вкінці лінійно проінтерполюємо вздовж осі x (на малюнку направлена вгору):

f(c)=(1xd)fx+xdfx.

Результат трилінійної інтерполяції не залежить від порядку вибору осей.

f(c)=INT(f(c0),f(c1)){f(c0)=INT(f(c00),f(c10))f(c1)=INT(f(c01),f(c11)){f(c00)=INT(f(c000),f(c100))f(c10)=INT(f(c010),f(c110))f(c01)=INT(f(c001),f(c101))f(c11)=INT(f(c011),f(c111))

Див. також