質問
2D メッシュ アルゴリズムを読んで理解することに興味があります。Googleで検索すると出てくる たくさんの論文と情報源, ただし、ほとんどが学術的すぎて、初心者向きではありません。
そこで、ここで誰かが、初心者に適した読書ソース、または最初から学べるオープンソースの実装を勧めてくれませんか?ありがとう。
また、三角形メッシュの生成に比べて、四角形メッシュやミックスメッシュ(四角形と三角形を組み合わせたもの)に興味があります。
解決
Jonathan Shewchukのサイトを出発点として、Davidの2番目の回答です。
オープンソースソフトウェアに関しては、探しているものによって異なります。
- メッシュ生成に興味がある場合は、 CGAL のコードをご覧ください。 CGALのコードの低レベルの部分を理解することは、初心者には多すぎます。ただし、より高いレベルのアルゴリズムを見るのは、初心者にとっても非常に興味深いものです。また、 CGALのドキュメントは非常に詳細であることに注意してください。
- TetGen もご覧になれますが、そのソースコードはモノリシックであり、文書化されていません(他のプログラムから簡単に呼び出すこともできますが、それはライブラリというよりはむしろエンドユーザーソフトウェアです。それでも、かなり読みやすく、ユーザーマニュアルには、メッシュ生成、いくつかの参照。
- メッシュ処理にも興味がある場合は、 OpenMesh をご覧ください。 >
目標に関する詳細情報は、より関連性の高いポインターを提供するのに役立つでしょう。
他のヒント
Google 検索の最初のリンクをクリックすると、 ジョナサン・シューチャックの サイト。実際、ここから始めるのは悪くありません。彼はというプログラムを持っています 三角形 2D 三角測量用にダウンロードできます。そのページには、 リンク で使用されている参照へ 三角形の作成, の説明へのリンクを含む 三角測量アルゴリズム.
メッシュ生成にはいくつかのアプローチがあります。最も一般的な方法の 1 つは、 ドロネー三角形分割. 。一連の点を三角測量するのは非常に簡単で、それを行うアルゴリズムがいくつかあります。ワトソンや ルパートさんの 拘束された三角測量を作成するときに三角形で使用されるように、三角測量のエッジが入力形状のエッジと一致する場合、特定のエッジを回復する必要があるため、少し難しくなります。
まずはドロネー三角形分割を理解することから始めます。次に、他のメッシュ アルゴリズムをいくつか見てみましょう。
メッシュ生成に関する論文でよく見られるトピックには、次のようなものがあります。
- 堅牢性 - 浮動小数点の丸め誤差に対処する方法です。
- メッシュの品質 - 三角形/四面体の形状が正三角形に近いことを確認します。これが重要かどうかは、メッシュを作成する理由によって異なります。分析作業にとっては非常に重要ですが、
- 適切なメッシュ分布を実現するために、メッシュ内のノードを挿入する場所を選択する方法。
- 噛み合い速度
- 四角形/六面体メッシュの生成。これは三角形/四面体を使用するよりも困難です。
3D メッシュの生成は 2D よりもはるかに難しいため、多くの論文は 3D 生成に関するものです。
メッシュの生成は大きなトピックです。どのような側面 (2D または 3D など) に興味があるかについて、もう少し情報を提供していただけると助かります。あなたが何をすべきかについてのアイデアを教えていただければ、より良い情報源を見つけることができるかもしれません。