使用Python在两个n维点之间的直线上均匀间隔的点

xxls0lw8  于 2023-08-02  发布在  Python
关注(0)|答案(2)|浏览(81)

我需要在两个N维点之间的直线上均匀地间隔X点。我想创建一个Python函数,它将点和X作为输入,并返回X点的坐标。

get_points(point_a=(1, 1), point_b=(2, 2), x=10)
>>> [(x0, y0), (x1, y1), ..., (x8, y8), (x9, y9)]

字符串
我怎么能做到呢?

cngwdvgl

cngwdvgl1#

如果你想要x内部点(所以第一个和最后一个不与ab重合),那么线段被分成(x+1)子区间:

xstep = (b[0]-a[0]) / (x+1)
ystep = (b[1]-a[1]) / (x+1)
result = [(a[0] + xstep*i, a[1] + ystep*i) for i in range(1, x+1)]

字符串

wbrvyc0a

wbrvyc0a2#

如果你生活在numpy土地上:

alpha = np.linspace(0,1,n)
interpolants = np.outer(x1, alpha) + np.outer(x2, 1-alpha)

字符串

相关问题