Bikubisk interpolation

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 26. november 2018; checks kræver 16 redigeringer .

Bikubisk interpolation  er en udvidelse af kubisk interpolation i beregningsmatematik til tilfældet med en funktion af to variable, hvis værdier er givet på et todimensionelt regulært gitter. Overfladen som følge af bikubisk interpolation er en glat funktion på grænserne af tilstødende kvadrater, i modsætning til overflader som følge af bilineær interpolation eller nærmeste nabointerpolation .

Bikubisk interpolation bruges ofte i billedbehandling , hvilket giver bedre billedkvalitet end bilineær interpolation. Bikubisk interpolation bruges også i styrealgoritmer til CNC- maskiner for at tage højde for overfladeuregelmæssigheder, for eksempel ved fræsning af printplader.

Metodeprincip

I tilfælde af bikubisk interpolation beregnes værdien af ​​funktionen på det ønskede punkt gennem dens værdier ved 16 tilstødende punkter placeret ved hjørnerne af kvadraterne i planet .

Når du bruger formlerne nedenfor til programmatisk at implementere bikubisk interpolation, skal du huske, at værdierne af og er relative, ikke absolutte. For eksempel for et punkt med koordinater . For at opnå relative værdier af koordinater er det nødvendigt at runde de reelle koordinater ned og trække de opnåede tal fra de reelle koordinater.

,

hvor

, , , , , , , , , , , , , , , ,

På lignende måde kan højere ordens interpolationer bruges til at beregne værdierne af funktionen fra nabopunkter .

Bikubisk spline interpolation

Lad os antage, at det er nødvendigt at interpolere værdien af ​​funktionen i et punkt, der ligger inde i kvadratet , og værdien af ​​funktionen er kendt i seksten tilstødende punkter .

Så kan den generelle form af funktionen, der definerer den interpolerede overflade, skrives som følger:

.

For at finde koefficienterne er det nødvendigt at erstatte funktionens værdier ved kendte seksten punkter i ovenstående ligning. For eksempel:

.

Helt i matrixform:

,

hvor

,

,

.

Ved at løse det resulterende system af lineære algebraiske ligninger kan du finde værdierne eksplicit:

.

Når først fundet koefficienter kan nu bruges til gentagne gange at beregne den interpolerede værdi af funktionen ved vilkårlige punkter i kvadratet .

Det skal bemærkes, at denne metode sikrer kontinuiteten af ​​selve funktionen og dens anden afledte på grænserne af tilstødende kvadrater, men fører til et brud i de første afledede ved grænserne af 4×4 celler. For at sikre kontinuiteten af ​​selve funktionen og dens første afledede, er det nødvendigt at erstatte værdierne af funktionen og værdierne af de første afledede i x- og y-retningerne ved hjørnerne af den centrale celle i originalen udtryk beregnes de afledte gennem centrale forskelle. For at substituere derivater skal udtrykket differentieres i overensstemmelse hermed.

Sekventiel kubisk interpolation

En anden fortolkning af metoden er, at man for at finde den interpolerede værdi først kan udføre kubisk interpolation i den ene retning og derefter i den anden.

For en funktion med kendte værdier , , , kan du konstruere en kubisk spline: , eller i matrixform:

,

hvor

,

.

For at finde den interpolerede værdi i firkanten kan du derfor først beregne fire værdier , , , for fixed , derefter bygge en kubisk spline gennem de fire opnåede punkter og dermed fuldføre beregningen :

.

Det skal bemærkes, at denne tilgang sikrer kontinuiteten af ​​selve funktionen og dens anden afledte ved cellegrænsen, men sikrer ikke kontinuiteten af ​​den første afledte. For at sikre kontinuiteten af ​​den første afledte er det nødvendigt at erstatte værdierne af funktionen og dens første afledte ved grænsen af ​​den centrale celle. Så ser spline-koefficienterne ud som:

,

.

Se også

Litteratur