bugfix> python > 投稿

ポリゴンの頂点があり、それらがすべてCCW方向になっているとします。生成したいnこのポリゴンの境界に沿った等距離ポイント。これを行う既存のパッケージを知っている人はいますか?そうでない場合は、使用できるアルゴリズムを知っていますか?私はPythonで働いています。たとえば、問題のポリゴンが長方形の場合、次のようにします。

ここに画像の説明を入力してください

回答 1 件
  • 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)
    
    

あなたの答え