假设我有一个多边形的顶点,它们都是逆时针方向的。我希望生成n沿该多边形边界的等距点。有谁知道任何现有的包可以做到这一点,如果没有,可以使用一种算法吗?我正在用Python工作。例如,如果所讨论的多边形是矩形,我想要的是:
在此输入图像描述 https://i.stack.imgur.com/sbtaT.png
shapely
:
import shapely.geometry as sg
import shapely.affinity as sa
import matplotlib.pyplot as P
import numpy as np
n = 7
k = 11
ori = sg.Point([0,0])
p = [sg.Point([0,1])]
for j in range(1,n):
p.append(sa.rotate(p[-1],360/n,origin=ori))
ngon = sg.Polygon(p)
P.figure()
P.plot(*ngon.exterior.xy,"-k")
P.scatter(*np.transpose([ngon.exterior.interpolate(t).xy for t in np.linspace(
0,ngon.length,k,False)])[0])
P.axis("equal");P.box("off");P.axis("off")
P.show(block=0)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)