Fitting a polynomial to a set of points or to a skeleton
You can try fitting a multi-dimensional polynomial regression. It seems that for your data, a two dimensional regression model should be fine: 
$$ (a)x^2 + (b)x + (c)y^2 + (d)y + (e)xy + (f) $$

In python for example, you can fit a proper model using: 

import numpy as np
from sklearn.preprocessing import PolynomialFeatures

X = np.array([ [x0,y0], [x1,y1], ...  ])
poly = PolynomialFeatures(2)
poly.fit_transform(X)
poly = PolynomialFeatures(interaction_only=True)
poly.fit_transform(X)