A detailed and understandable derivation of bicubic interpolation of pixel data seems conspicuously absent on the web, so I thought I'd try to work up a GuruGram on this topic.
A possible starting point appeared as
I've gotten through a verification of much of their arcane math and am to the point where I need verification of solutions to these plain old algebraic equations...
w0 = f(0,0) = a00 w1 = f(1,0) = a00 + a10 + a20 + a30 w2 = f(0,1) = a00 + a01 + a02 + a03 w3 = f(1,1) = a00 + a10 + a20 + a30 + a01 + a11 + a21 + a31 + a02 + a12 + a22 + a32 + a03 + a13 + a23 + a33
x0 = fx(0,0) = a10 x1 = fx(1,0) = a10 + 2a20 + 3a30 x2 = fx(0,1) = a10 + a11 + a12 + a13 x3 = fx(1,1) = 1*(a10 + a11 + a12 + a13) + 2*(a20 + a21 + a22 + a23) + 3*(a30 + a31 + a32 + a33)
y0 = fy(0,0) = a01 y1 = fy(1,0) = a01 + a11 + a21 + a31 y2 = fy(0,1) = a01 +2Aa02 + 3a03 y3 = fy(1,1) = 1*(a01+a11+a21+a31) + 2*(a02+a12+a22+a32) + 3*(a03+a13+a23+a33)
z0 = fxy(0,0) = a11 z1 = fxy(1,0) = a11 + 2a21 + 3a31 z2 = fxy(0,1) = a11 + 2a12 + 3a13 z3 = fxy(1,1) = 1*a11 + 2*a12 + 3*a13 + 2*a21 + 4*a22 + 6*a23 + 3*a31 + 6*a32 + 9*a33
Four solutions are available by inspection and another six by pairs of equations. The object is to solve a00 through a33 as functions of w1 through z3.
Your independent checking would be much appreciated. Even a minor error here would cause much later trouble. Please email me via snipped-for-privacy@tinaja.com .