擅长:python、mysql、java
<p>等长部分的二维分段线的细分:</p>
<pre><code>import matplotlib.pyplot as plt
%matplotlib inline
from scipy.interpolate import interp1d
import numpy as np
x = [0, 1, 8, 2, 2]
y = [1, 0, 6, 7, 2]
# Linear length on the line
distance = np.cumsum(np.sqrt( np.ediff1d(x, to_begin=0)**2 + np.ediff1d(y, to_begin=0)**2 ))
distance = distance/distance[-1]
fx, fy = interp1d( distance, x ), interp1d( distance, y )
alpha = np.linspace(0, 1, 15)
x_regular, y_regular = fx(alpha), fy(alpha)
plt.plot(x, y, 'o-');
plt.plot(x_regular, y_regular, 'or');
plt.axis('equal');
</code></pre>
<p><a href="https://i.stack.imgur.com/Bu164.png" rel="noreferrer"><img src="https://i.stack.imgur.com/Bu164.png" alt="result"/></a></p>