問題タブ [mesh]
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.
math - 優れた 3D メッシュ ライブラリ
優れた 3D メッシュ ライブラリを探しています
- 一般的な形式 (OFF、OBJ...) を読み取ることができる必要があります。
- ハーフエッジ構造と三角スープの両方をサポートする必要があります
- 障害や不正なメッシュに対して寛容であるべきです。
- 基本的な幾何学的操作 - 交点、法線計算など'
- 最も重要なこと - 無限のテンプレートと継承階層で複雑にならないようにしてください。
CGAL と OpenMesh の両方を試しましたが、どちらも最後のポイントで惨めに失敗しました。
具体的には、最も高度なコード分析ツールを使用しても追跡できない CGAL です。
これまでのところ、私は自分自身を引っ張ることを真剣に考えています。
私の好みは C++ ですが、他のオプションも受け入れます。
algorithm - メッシュ アルゴリズムとメッシュ ライブラリの読み取り
2D メッシュ アルゴリズムを読んで理解することに興味があります。Google で検索すると、多くの論文や情報源が見つかりますが、そのほとんどは学術的すぎて初心者向けではありません。
それで、ここで誰かが(初心者に適した)読書ソース、または私が最初から学ぶことができるオープンソースの実装を推奨しますか? ありがとう。
また、三角形のメッシュ生成に比べて、四角形のメッシュや混合メッシュ (quad と tri を組み合わせたもの) に興味があります。
graphics - ポリゴン メッシュからエッジを一意に見つけるためのアルゴリズム
一連のポリゴン データから一意のエッジを取得できる優れたアルゴリズムを探しています。この場合、ポリゴンは 2 つの配列によって定義されます。1 つの配列はポリゴンごとのポイント数で、もう 1 つの配列は頂点インデックスのリストです。
動作しているバージョンがありますが、500,000 ポリゴンを超えるとパフォーマンスが低下します。私のバージョンでは、各面を歩き回り、各エッジの並べ替えられた頂点を stl::set に追加します。私のデータ セットは主に三角形と四角形のポリゴンで、ほとんどのエッジは共有されます。
これのためのよりスマートなアルゴリズムはありますか?
graphics - Direct3D メッシュを変換する
TransformMesh
関数を書いてみました。Mesh
この関数は、オブジェクトとオブジェクトを受け入れMatrix
ます。アイデアは、マトリックスを使用してメッシュを変換することです。これを行うために、頂点バッファーをロックし、各頂点で Vector3::TransformCoordinate を呼び出しました。期待した結果は得られませんでした。結果のメッシュは認識できませんでした。
私は何を間違っていますか?
matlab - (半) 対数 3d プロットを描画するには? (マトラブ)
2D プロットの semilogx と semilogy を知っています。SURF と MESH に相当するものはありますか?
opengl - 垂直方向の変形を受けるポリゴン メッシュの一定の水平方向の帯の高さ (OpenGL ES 1.1)
通常のアルゴリズムを使用して標準のポリゴン メッシュにテクスチャ マッピングを実装すると、y 軸に沿った変形に関連する問題が発生する可能性があります。変形は、この方向の頂点ではなく、一定の高さの四角形の行のバンドに沿って続きます。 x 軸に沿ったものと比較して独立してストレッチします。
メッシュの頂点を定義するときに、各行が下部頂点と上部頂点の両方を定義し、その上の行の頂点の下部行を共有する 1 つの行の上部行の頂点になるため、私はこれに遭遇しています。
x 軸または z 軸のいずれかに沿ってメッシュを変形させるだけであれば問題ありませんが、これを考慮せずに y 軸に沿ってメッシュを変形させると、四角形の列が 1 つのバンドとして一緒に機能することがわかります。独立した点の行の代わりに一定の高さ。y 軸に沿ってメッシュの変形が見られますが、これらのバンドの幅が変化しないため、テクスチャの裂けも見られ、メッシュにギャップが生じます。
この方法で構築されたポリゴン メッシュに (x,y) ディスプレイスメント マップ フィルターを適用する最善の方法について提案がある他の誰かがこれに遭遇しましたか? それとも、メッシュを定義するアプローチを根本的に変更する必要がありますか?
メッシュ生成アルゴリズムの例は、テクスチャ マッピングに関する ZEUS OpenGL|ES チュートリアル で見ることができます。
ありがとう。
3d - .PLY ファイルからモデルをハーフエッジ データ構造にロードする
.ply ファイルとして保存されている 3d モデルをハーフ エッジ データ構造メッシュにロードする .PLY パーサーを構築しようとしています。
大きな質問で申し訳ありません。私は非常に冗長で、すべての詳細をレイアウトしたことを確認したかったのです。このため、最終的な目標をすぐにもう一度言います。これは、ユーザーが、続く巨大なテキスト ブロックを読む前に、私が何を望んでいるのかを理解できるようにするためです。
1) .PLY ファイルの頂点と面のリストからハーフエッジをメモ化するための適切なハッシュは何でしょうか?
また
2) .PLY ファイルのデータからハーフエッジ構造を埋めるためのより良い方法はありますか?
.PLY ファイルには頂点がリストされ、その後にメッシュの面が続きます。明らかな解決策は、最初に頂点テーブルを埋めてから、面リストを使用してエッジ テーブルを生成することです。問題は、すべてのエッジにパートナー エッジがあるため、クアッド メッシュの場合、ロードする最初のクワッドには 8 つのハーフ エッジが必要になることです。これは最初は問題ではありません。顔の 4 つのハーフエッジを作成し、各エッジを逆にして相手のハーフエッジを作成するだけです。ここでの問題は、4 つの異なる面に関連付けられた 4 つのぶら下がりハーフ エッジが作成されることです。
したがって、攻撃には 2 つの方法があります。最初に面のすべてのエッジを生成し、次にパートナーのエッジをペアにしようとします。私はこのアプローチが本当に好きではありません。多くの検索と並べ替えが必要になるため、プログラム的には効率が悪いようです。
2 番目: 最初に述べたように続行します。指定された最初の面から開始し、ポリゴンの作成に必要なエッジを生成します。エッジが作成されると、その双子も作成されます。ただし、エッジ リストをメモ化するので、すべてのエッジがテーブルにハッシュされます。次に、他の面のエッジを生成するときに、エッジが既に生成されている場合 (以前にロードされた面のパートナー エッジであるため)、テーブルからポインタを取得するだけです。
これは私が立ち往生しているところです。エッジ リストをメモ化するためのインテリジェントなハッシュ関数が必要です。効率を上げるには、衝突を最小限に抑える必要があります。私が今考えているスキームは、それらを作成した 2 つの頂点に基づいてエッジに名前を付けることです。IE エッジ 01 と 10 はツインです。最悪のシナリオでは、すべての頂点が結合される可能性のあるハッシュ テーブルが作成され、これは最終的にサイズ 2^n (n = 頂点の数) になり、これはまったく受け入れられません。私の目標は、衝突を最小限に抑えながら、ハッシュを実際のエッジの数 (= 面ごとのエッジの数の合計) に近づけることです。
*注意: ハーフエッジは「反時計回りのみ」の描画スキームを適用するため、名前の競合は発生しません。エッジを描画する 2 つの頂点に基づいてエッジに名前を付けることで、すべての名前が単一のハーフエッジに固有であることを保証します。
apache-flex - フラッシュ メッシュのトゥイーン/アニメーション
Flash オーサリング ツールでメッシュを正しくトゥイーン/アニメートする方法はありますか?
シェイプ トゥイーンは、特定の頂点の動きを認識せず、接続を保持せず、一般的に混乱を招きます。形状のヒントは、自明ではないメッシュには少なすぎます。とにかく、手作業が多すぎます。
2 つのメッシュ シェイプ間でスムーズなアニメーションを実現しようとしていますが、すべてのポイントと頂点が保持され、新しいポイント/頂点は追加されていません。
問題のメッシュは厳密には 2D ですが、ソリューションが Actionscript/Papervision3D の支援を必要としているかどうかは気にしませんが、キーフレーム メッシュの状態のオーサリングはフラッシュ オーサリング ツールでインタラクティブに行う必要があります (手作業でコーディングするには形状/動きが複雑すぎるため) )。
アイデア?
c++ - C / C ++用の軽量OBJメッシュファイルローダー?
CまたはC++用のシンプルで軽量なWavefrontOBJメッシュファイルリーダーを探しています。(つまり、OBJ形式のメッシュを指定し、ファイルから読み込んで、できれば頂点と三角形のリストとしてアクセスできるようにします。)推奨事項はありますか?
マテリアルプロパティや存在する可能性のあるその他の派手なデータをサポートする必要はありません。ジオメトリだけが問題ありません。