You can smooth the path with the following code:
from scipy.ndimage import gaussian_filter1d import numpy as np a=np.array([[78.03881018900006, 30.315651467000066], [78.044901609000078, 30.31512798600005], [78.04927981700007, 30.312510579000048], [78.050041244000056, 30.301755415000059], [78.072646124000073, 30.281720353000082], [78.07902308000007, 30.273344651000059]]) x, y = aT t = np.linspace(0, 1, len(x)) t2 = np.linspace(0, 1, 100) x2 = np.interp(t2, t, x) y2 = np.interp(t2, t, y) sigma = 10 x3 = gaussian_filter1d(x2, sigma) y3 = gaussian_filter1d(y2, sigma) x4 = np.interp(t, t2, x3) y4 = np.interp(t, t2, y3) plot(x, y, "o-", lw=2) plot(x3, y3, "r", lw=2) plot(x4, y4, "o", lw=2)
Here is the result: the blue dots are the source data, the red curve is the smoothed curve that contains many dots, if you want the point of delivery to be like the source data, you can try with the red curve and get green dots.
You can set sigma to change the smooth level of gaussian_filter1d() .
