2016-08-11 5 views
1

私は特別な種類の三角メッシュを持っています。 (すなわち、私が持っている点のセットを三角測量するために通常のアルゴリズムを使用していないが、私は化学データに対してこれを行う特別なアルゴリズムに従った)。その結果、多くの三角形と四角形の複雑な3D形状が得られます。メッシュの穴を数える

私は自分の仕事を進める前に、表面の穴の数(三角形の間の穴)と四面体の間の「空(ボイド)」(空のボリューム)を数える必要があります。私のデータから単純な形状の穴の

例:

enter image description here

enter image description here

は、これを達成するための任意の既知のアルゴリズムまたはこれを行うのに役立ちます任意のPythonライブラリはありますか?

ありがとうございました。

答えて

1

あなたが計算しようとしている量は、単純な複合体の最初と最後の数値であると思われます(Betti numbers)。 Google検索を行う場合は、そのようなことを計算するさまざまな方法に関する文献があります。それらの多くはマトリックスベースであるように見える(例えば、https://jeremykun.com/2013/04/10/computing-homology/を参照)。エッジを崩壊させることに基づいて問題を解決する直接的な方法もあります。私はそれの簡単な実装を書くことができます(私はそれが行列よりも簡単になるかわからない)を参照してください。

関連する問題