問題タブ [tetgen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
852 参照

3d - 3D Delaunay Tessallation からの 3D ボロノイ図の作成

3D Delaunay Tessallation ( TetGen で生成) をボロノイ図に変換しようとしています。TetGen がボロノイ図を作成できることは知っていますが、異常な境界条件のため、自分で変換を実行する必要があります。

私はここで二面性に完全に困惑しています。私は4つのうち2つを持っています:

  1. 各 Delaunay 頂点は、1 つのボロノイ セルに対応します (セルの中心は頂点にあります)。
  2. 各 Delaunay 四面体は、1 つのボロノイ頂点に対応します (四面体の中心は頂点にあります)。

Delaunay の各面が 1 つのボロノイ エッジに対応することはわかっており、面の頂点はありますが、そこからボロノイ エッジを取得するにはどうすればよいでしょうか。

また、各 Delaunay エッジは 1 つのボロノイ面に対応しますが、エッジに対応する面を見つけるにはどうすればよいでしょうか?

0 投票する
1 に答える
1417 参照

python - tetgen または三角形 (またはメッシュピー) を使用して中空ドームを作成する

tetgen を使用して、中空のドームを作成しようとしています。私は三角形を使用していて、円を三角測量し、方程式 z = sqrt(abs(r^2 - x^2 - y^2)) に従って z 値を上げるだけでしたが、端の近くで非常に悪いストレッチをしていました。

したがって、このドームの多数のポイントを生成し、それを埋めずにメッシュ化したいと思います。基本的に、Tetgen は .node および .faces ファイルを提供することでこれを実行しますが、問題はまだ底を取得していることです。そして、それを取り除く方法がわかりません。私は tetgen と meshpy にかなり慣れていないので、誰かがこれのワークフローを教えてくれたら、とてもありがたいです。答えは実はとても簡単かもしれません。

たとえば、単純な関数を使用して、円の下部にポイントを作成できます。

次に、次の関数を使用して、ドーム上にランダム ポイントを生成します。

次に、単純に .node ファイルからヘッダーを平手打ちし、tetgen を実行して .face ファイルを取得します。このアプローチの唯一の問題は、オープンドームにする必要があるときに底がそこにあることです.

私はむしろmeshpyを使用したいと思いますが、これらのポイントを生成してからmeshpyにフィードすると、何も返されません...

print np.array(mesh.facets) と print np.array(mesh.points) は空の配列になりました。

すべてのファセットも設定せずにmeshpyを使用する方法、またはこのビルド方法を使用してコマンドラインtetgenのようにファセットを構築する方法について誰かアイデアがありますか? これは、ドームの底が開いていないという私の問題を実際に取り除くわけではありませんが、私が解決しようとしてきたことです. どんな助けでも大歓迎です。ありがとう!

0 投票する
1 に答える
830 参照

c++ - C++ で TetGen を使用してメッシュ ファイルをロードする

C++ で TetGen ライブラリを使用してメッシュ ファイルをロードしたいのですが、拘束された Delaunayメッシュを表示するためにコード内で有効にする正しい手順やスイッチがわかりません。

デフォルトの動作で(rocq.inria.frから)恐竜メッシュの基本的なロードを試しました:

形状は次のようになっているはずです。

ここに画像の説明を入力

TetViewを使用すると、完全に機能します。しかし、私のコードでは、次の結果が得られました。

恐竜メッシュ結果

Delaunay ConstraintのPiecewise Linear Complex (plc)プロパティをアクティブにしようとしました。

メッシュからいくつかのパーツを取得しました。

恐竜メッシュからさらにいくつかのパーツ

もっとパーツがあるのか​​もしれませんが、入手方法がわかりません。

0 投票する
1 に答える
238 参照

c++ - Tetgen: サーフェスの指定された三角形から開始して、サーフェスの接続性を変更せずに新しいメッシュを作成します

tetgen を使用していますが、問題があります。サーフェスの指定された三角形から開始して、メッシュを作成したいと思います。指定された三角形を変更したくありません。特に、私は次のようなドメインに取り組んでいます。内部に穴のある外部の立方体のボックス (ボックスも) があります。私が持っている三角形は、内面と外面のものです。2 つのサーフェス間にメッシュを構築したいと考えています。残念ながら、私は成功していません。

私が使用する入力は次のタイプです。

  • ノード数、3、0、1 (領域なし、マーカーあり)

-ノードのリスト

  • ファセット数、1 (マーカー)

-ファセットのリスト

  • 1(1穴)

-穴の座標

  • 0 (リージョンなし)

ファセットのリストは、内部と外部の両方のサーフェスの三角形のリストです。この種のドメインの最も単純なメッシュを検討しました。そして、私がtetgenに与える入力は「正しい」と確信しています。私はそれをmatlabに表示しましたが、それは私が望むものと一致しています。おそらく、私が望むものは tetgen が望むものではありません... それにもかかわらず、tetgen は交差していない交差三角形を見つけます。彼らは側面を共有していますが、ファセットは側面を共有できると思います! または私は間違っていますか?それとも、いくつかの三角形が同一平面上にあるという事実ですか? 概念的に言えば、私の入力に何か問題があると思いますが、何がわかりません。

tetgen を呼び出すときは、表面の変化を避けるために「-Y」スイッチを使用します。-p スイッチと -q スイッチの両方を別々にまたは一緒に試しました。しかし、常に同じエラーが発生します。誰か助けてくれませんか?

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

0 投票する
1 に答える
836 参照

3d - .stl を tetgen にインポートするには?

stl-model の Delaunay 四面体化を tetgen に提供させようとしていますが、ファセットの交差に関するエラーが常に発生します。

このモデルは人間の心臓の ascii .stl モデルであり、コンピュータ断層撮影データから取得されます (必要に応じてリンクを提供できます)。まず、MeshFix を使用して修復するよりも、100 の局所性と 1.00 の許容値でアダプティブ レンダリングを使用して CTAn ソフトウェアで構築します。MeshFix は、.off またはバイナリの .stl ファイルを出力します。

.off モデルを tetgen にインポートしようとすると、常に次のエラーが発生します。

ファイル off.off の 2 行目のヘッダーの読み取り中に構文エラーが発生しました。

バイナリ .stl をサポートしていないため、.stl ファイルを tetgen に直接インポートすることはできません。そのため、MeshLab を使用してまず acsii .stl に変換し、その結果を tetgen にインポートします。

しかし、この場合、別のエラーがあります:

ほぼ自己交差する 2 つのファセットが見つかりました

二面角の許容値を下げるように勧めています。次のメッセージを取得するためだけにこれを行います。

自己交差する 2 つのファセットが見つかりました

-d プレフィックスを使用して、そのようなファセットをすべて検出することをお勧めします。私はこれを行い、次のメッセージを受け取ります:

交差する面はありません

それは例外的な命題を与えるので、今私は混乱しています。

ここにいる誰かが tetgen に精通している場合は、どうすれば自分のモデルを tetgen にインポートできるか教えていただけますか? いくつかの修復ツールとさまざまなプレフィックスを試しましたが、これまでのところ何も機能しませんでした.

また、誰かが tetgen コミュニティへのリンクを持っていれば、本当に感謝しています。

0 投票する
1 に答える
51 参照

c++ - Ubuntu - Web サイトのアドレスが変更されたため、tar.gz のダウンロード エラーが発生しました

FW4SPLターミナルで呼び出された C++ フレームワークの依存関係をコンパイルしようとしてcmakeいます。コマンドmake -j4を入力すると、各依存関係が自動的にダウンロード、ビルド、およびインストールされます。

しかし、コンパイル中にエラーが発生します。

http://www.tetgen.org/1.5/src/tetgen1.5.0.tar.gzその理由は、 のリンクがもう存在せず、会社tetgenが Web サイトのアドレスを に変更したためだと思いますhttps://launchpad.net/ubuntu/+archive/primary/+files/tetgen_1.5.0.orig.tar.gz

このファイルを手動で開くこともできtar.gzますが、問題は、make -j4コマンドが自動的に開く必要があるため、どのディレクトリで開く必要があるかがわからないことです。このtar.gzファイルが存在するディレクトリは、どこにでもある可能性があります。

どんな助けでも大歓迎です。