私はConvexHullクラスのscipyを使用して、一連の点の凸包を作成しています。私は凸包から新しい点Pの最小距離を計算する方法に興味があります。凸包への距離を計算する
np.max(np.dot(self.equations[:, :-1], points.T).T + self.equations[:, -1], axis=-1)
:インターネットの助けを借りて、私はポイント
Pまたは点の集合
ポイント凸包ファセットへの距離を計算するために、この式を思い付い自分で少しひねると
あなたがトンを見ることができるように
:
2Dで凸包のために上記の式は、次のプロットになります結果はかなり良く、凸包内の点を修正します(ここでの距離は負で、-1で乗算する必要があります)。また、ファセットに最も近いが凸包の頂点に最も近い点については正しくない点についても正しい。 (これらの領域に点線でマークを付けました)これらの点について、正しい最小距離は凸包の頂点までの最小距離です。
どのように正確にn次元における点Pまたは点のセット点ため凸包に最小距離を計算する頂点のファセットに最も近い、または最も近くにある点を区別することができますスペース(少なくとも3D)?
が凸包セグメントのそれぞれのセグメント式にポイントを使用するように指定された場合最小値を取る – user4421975
@ user4421975あなたのコメントを精緻化できますか?セグメント式のポイントは何ですか?各点の – Woltan
は、http://stackoverflow.com/questions/849211/shortest-distance-between-a-point-and-a-a-segmentを使用して、凸包の各線分までの距離を計算し、最も近いものを取る – user4421975