オクトリーキューブから四面体


8

私はボリュームメッシュの詳細を学習しようとしていて、単純なボリュームメッシャーの実装を試みることにしました。私が選択した戦略は、いくつかの基準に基づいて洗練されたオクツリーを使用してスペースを分割することです。2つの隣接するセル間の差が1以下になるように(いわゆる2:1ルール)、オクツリーのバランスが取れていることを確認しました。

細胞を四面体にカットする必要があります。Body Centered Cubic(BCC)がこれを行うための一般的な方法であることを読みましたが、残念ながら、異なるレベルの2つの隣接するキューブ間の違いを処理する方法をうまく説明している文献は見つかりませんでした。

以下に示すように立方体を6つの四面体にカットするのが一般的であることも確認しましたが、異なるレベルの立方体を処理する方法を説明するものは何も見つかりませんでした。

http://www.ics.uci.edu/~eppstein/projects/tetra/sixcube.gif

Octreeの立方体を四面体にカットする方法を誰かに説明してもらえれば、このテーマに関する論文やプレゼンテーションを紹介していただければ幸いです。

回答:


2

次の2つの方法で行うことができます。

  • メッシュにぶら下がっているノードがあることを受け入れます。オクツリーのセルにリファインされた2:1の関係があるのと同じように、tetメッシュにも同じ種類の2:1の関係があります。六面体を等方性(BCC)でテットに微調整すると、八分木の隣接するセル間の2:1の関係もテットに継承されます。

  • ノードをぶら下げたくない場合は、後処理ステップを実行できます。BCCのリファインを行ったとすると、サイズが2倍異なる隣接テットが存在する可能性があります。大きいものをリファインして、小さい方のネイバーと一致するようにする必要があります。これを行う方法は、2Dの場合、紙の上で理解するのは簡単です。3Dでは少しトリッキーですが、隣人と一致するようにテットを異方性に調整できることがわかります。


吊り下げノードは許可されていません。これを2Dで解決するのは非常に簡単ですが、3Dでは複雑になります。BBCの詳細と、ぶら下がっているノードの処理方法について説明した論文を参照していただけますか?
WesDec 2012

いいえ、ごめんなさい。私は六面体のような人です。手元にテト文学はありません。グラハム・キャリーのグリッドの本に何かが見つかるかもしれません。
Wolfgang Bangerth 2012

1

BCCメッシュを実行する方法と、ぶら下がっているノードを処理する方法を明確に説明した次の論文を見つけました。

適応性のある高品質の四面体メッシュ生成

等値面スタッフィング

次のプレゼンテーションでは、BCCの説明に加えて、面心立方(FCC)についても説明しています。非結合最適四面体メッシュ


シューチャックの等値面詰め紙は本当に良いです。私がスクロールしてこれを見る前に、私はそれを投稿するつもりでした。
Nick Alger
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.