If one calculates the gradient (np.gradient) of the points you have, plot this data (gradient vs length along the line or arc length) and see where the moving average of the gradient begins to change - I picked moving average because this should account for noise (or you can use the appropriate filter Savitzky–Golay) - I know this is an OLD post