Bikuutiointerpolaatio on laskennallisen matematiikan kuutiointerpoloinnin laajennus kahden muuttujan funktioon, joiden arvot on annettu kaksiulotteisessa säännöllisessä ruudukossa. Bikuutiointerpoloinnista saatu pinta on tasainen funktio vierekkäisten neliöiden rajoilla, toisin kuin bilineaarisesta interpolaatiosta tai lähimmän naapurin interpoloinnista johtuvat pinnat .
Bicubic-interpolaatiota käytetään usein kuvankäsittelyssä , mikä antaa paremman kuvanlaadun kuin bilineaarinen interpolointi. Bikuutiointerpolaatiota käytetään myös CNC - koneiden ohjausalgoritmeissa pinnan epäsäännöllisyyksien huomioon ottamiseksi esimerkiksi piirilevyjä jyrsinnässä.
Bikuutiointerpoloinnin tapauksessa funktion arvo halutussa pisteessä lasketaan sen arvojen kautta 16 vierekkäisessä pisteessä, jotka sijaitsevat tason neliöiden kärjessä .
Kun käytät alla olevia kaavoja bikuubisen interpoloinnin ohjelmalliseen toteuttamiseen, muista, että ja arvot ovat suhteellisia, eivät absoluuttisia. Esimerkiksi pisteelle, jonka koordinaatit . Koordinaattien suhteellisten arvojen saamiseksi on tarpeen pyöristää todelliset koordinaatit alaspäin ja vähentää saadut luvut todellisista koordinaateista.
,
missä
, , , , , , , , , , , , , , , ,Samalla tavalla voidaan käyttää korkeamman asteen interpolaatioita, jotka laskevat funktion arvot naapuripisteistä .
Oletetaan, että on tarpeen interpoloida funktion arvo neliön sisällä sijaitsevassa pisteessä , ja funktion arvo kuudessatoista vierekkäisessä pisteessä tunnetaan .
Sitten interpoloidun pinnan määrittävän funktion yleinen muoto voidaan kirjoittaa seuraavasti:
.
Kertoimien löytämiseksi on välttämätöntä korvata funktion arvot tunnetussa kuudessatoista pisteessä yllä olevaan yhtälöön. Esimerkiksi:
.
Täysin matriisimuodossa:
,
missä
,
,
.
Ratkaisemalla tuloksena olevan lineaarisen algebrallisen yhtälön järjestelmän , voit löytää arvot eksplisiittisesti:
.
Kerran löydettyjä kertoimia voidaan nyt käyttää toistuvasti laskemaan funktion interpoloitu arvo neliön mielivaltaisissa pisteissä .
On huomattava, että tämä menetelmä varmistaa itse funktion ja sen toisen derivaatan jatkuvuuden vierekkäisten neliöiden rajoilla, mutta johtaa ensimmäisten derivaattojen katkeamiseen 4×4 solujen rajoilla. Itse funktion ja sen ensimmäisen derivaatan jatkuvuuden varmistamiseksi on välttämätöntä korvata funktion arvot ja ensimmäisten derivaattojen arvot x- ja y-suunnissa keskussolun kärjessä alkuperäiseen lausekkeessa derivaatat lasketaan keskeisten erojen kautta. Johdannaisten korvaamiseksi lauseke on erotettava vastaavasti.
Toinen menetelmän tulkinta on, että interpoloidun arvon löytämiseksi voidaan ensin suorittaa kuutiointerpolointi yhteen suuntaan ja sitten toiseen.
Funktiolle , jolla on tunnetut arvot , , voit muodostaa kuutiospliinin: , tai matriisimuodossa:
,
missä
,
.
Jotta voit löytää interpoloidun arvon neliöstä , voit ensin laskea neljä arvoa , , , kiinteälle , sitten rakentaa kuutiospliini neljän saadun pisteen kautta ja näin suorittaa laskelman :
.
On huomattava, että tämä lähestymistapa varmistaa itse funktion ja sen toisten derivaattojen jatkuvuuden solurajalla, mutta ei takaa ensimmäisen derivaatan jatkuvuutta. Ensimmäisen derivaatan jatkuvuuden varmistamiseksi on tarpeen korvata funktion arvot ja sen ensimmäiset derivaatat keskussolun rajalla. Sitten spline-kertoimet näyttävät tältä:
,
.