Pythonで凸型レイヤーを生成しようとしているポイントのリストがあります。
現在、私は単に以下を使用しています:
def convex_layers(points):
points = sorted(set(points))
layers = []
while points:
#Create the next convex hull
hull = convex_hull(points)
#Create the new list of points
for point in hull:
points.remove(point)
#Update the list of layers
layers.append(hull)
return layers
これは、凸包を一度に1つずつ作成するためだけのものです。それは機能しますが、単純に加算を繰り返すだけで乗算しようとするのとよく似ています。だから私が求めているのは、ポイントのセットから凸状のレイヤーを作成するためのより効率的なアルゴリズムがあるかどうかです