Radial Basis Function RBF Gaussian based Interpolation

487 Views Asked by At

Based on short description below (an image), how do I find the highlighted f function value? I understand that it is a value associated with the vertex, sorry I am not a good math student to understand whole RBF. Please help me.

I am doing 3d mesh deformation, basically transforming reference mesh to target mesh

============================

Edit:

Thanks @fang, but from programmer's point of view, i still don't understand, sorry about that. I assume the f(x) values are the corresponding output values from training data and only required when I want calculate weights(w) ? - I got the idea from articles published by Dr. James McCaffrey: https://msdn.microsoft.com/en-us/magazine/dn532201.aspx

Training dataset:

allData[0] = new double[] { -0.784, 1.255, -1.332, -1.306, 0, 0, 1 };

allData1 = new double[] { -0.995, -0.109, -1.332, -1.306, 0, 0, 1 };

allData[2] = new double[] { -1.206, 0.436, -1.386, -1.306, 0, 0, 1 };

*bold = input values

*italic = f(x) values?

=========================== enter image description here

1

There are 1 best solutions below

0
On

The $f(\mathbf{x_i})$ are the input that you want to interpolate with. In general, $\mathbf{x_i}$ is a vector of any dimension. For 2D problems where $\mathbf{x_i}=(x_i,y_i)$, you can use any bivariate function (e.g. $z=f(x,y)=3x^2+4xy+5y^2+6$) and plug in as many $(x,y)$ values to get the corresponding $z$ values. After RBF interpolation, you can then compare how well the $P_f(\mathbf{x})$ approximates the original function $f(x,y)$.