問題タブ [meshlab]
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.
mesh - 生成された破損した大きな ply ファイル - エラーを見つける方法
ply ファイルに格納された円柱リストからメッシュを生成する Java クラスを作成しました。手動で生成した 3 つのシリンダーのリストを使用してファイルをテストしました。結果のファイルは、Meshlab と Cloudcompare の両方で開くことができます。実際のプログラムでこのクラスを使用すると、13000 を超えるシリンダーのメッシュを作成する必要があります。Cloudcompare で次のエラーが表示されます:読み取りエラー(アクセス権がありませんか?)
Meshlab これ : エラーの詳細、予期しない eof
ヘッダーで定義された正確な数の頂点と面が ply ファイルに含まれているかどうかは既に確認しました。また、nan (winedit で「n」、「a」などをチェック) 値が含まれていないことも確認しました。
最後の行を削除することで、3 つの手作りのシリンダー ファイルからテスト ファイルでエラーを再現できます。しかし、前述のように、行番号が正しいかどうかは既に確認しました (ただし、50 万行下にスクロールすることは不可能であるため、私の目には空の行である可能性があります)。
ply ファイルのエラーを解析するプログラムはありますか? ここでは、オープンソース ツールを歓迎します。それとも、ファイルが大きすぎますか? 正確には436302行。plyのASCIIバージョンを使用しています。
file - すべての内部構造ではなく、MeshLab の内部面を削除する
次のように、連続したキューブで構成される stl ファイルがあります。

立方体の共有面をすべて削除する必要があるため、構造が 1 つの連続したソリッドになります。
内部構造をすべて削除することはできないことに注意してください。オブジェクトは中空であり、内部構造を維持する必要があります。隣接する立方体の共有面を削除したいだけです。
MeshLabでそれを行う方法はありますか? ありがとう、
import - Assimp と MeshLab Wavefront オブジェクト (.obj) のインポート
Assimp ライブラリを使用して Wavefront オブジェクト ファイル (.obj) をインポートすると、特定の頂点が 2 倍になるのはなぜだろうと思っていたのですが、Assimp SourceForge のディスカッション ( http://sourceforge.net/p/assimp/discussion/ ) で次の回答を見つけました。 817654/スレッド/026e9640/?limit=25#ba6c ):
次のことを想像してください: ある範囲の頂点をグラフィックス カードにアップロードします。次に、インデックス バッファーを介して GPU に、頂点 3、6、および 7 によって形成される最初の三角形を指示します。2 番目の三角形は、1、2、および 6 です。何が起こるでしょうか? GPU は立方体を描画しますが、立方体の各コーナーは同じ UV データ、法線ベクトル、頂点カラー、またはメッシュが必要とするその他のものを共有します。
では、どのように立方体のコーナーを取得し、そのコーナーに接するすべての面で異なる UV マッピングを取得するのでしょうか? GPU に「頂点 3 を使用するように指示することはできませんが、その頂点の UV 座標の代わりに UV 座標を使用してください」。GPU はこれを行うことができません。そのため、そのコーナーで頂点を複製する必要があります。同じ位置に 2 つの頂点がありますが、UV 座標は異なります。
それがAssimpがあなたのためにしていることです。JoinIdenticalVertices を指定すると、24 個の頂点を持つ立方体が得られます。なんで?立方体には 8 つの角がありますが、各角には 3 つの立方体の側面が接触しており、その角のそれぞれに異なる UV 座標が設定されているため、各角の 3 つのバージョンになります。JoinIdenticalVertices を指定しない場合、再利用のない単純な頂点の配列が得られます。つまり、立方体の各辺にそれぞれ 3 つの頂点を持つ 2 つの三角形が必要で、最終的に 36 の頂点になります。
別の方法として、3D uv 座標とキューブ マップを使用して、そのキューブをテクスチャリングすることもできます。これはキューブに対してのみ機能する特殊なケースですが、キューブでも機能します。GPU は内部で 6 つのテクスチャへのマッピングを行います。上記の説明は一般的なケースであり、遭遇する可能性のあるすべてのメッシュでこのように機能します。
それは理にかなっています。
MeshLab が .obj インポート操作をどのように処理するかわからないことを前提として、私が見つけた答えが正しければ、そのようなオブジェクトをインポートしたときに頂点カウンターが増加しないのはなぜですか? 法線/接線/UV がある場合に、頂点を分割せずに .obj ファイルをインポートする方法はありますか?
php - Meshlabserver : X サーバー エラーに接続できません
Ubuntu 14.04 OS を実行しているマシンにメッシュラボがインストールされています。コマンドを使用してコマンドラインからアクセスできますmeshlabserver。しかし、コマンドを使用してphpスクリプトから呼び出そうとするたびに問題が発生します
エラーが表示されますmeshlabserver: cannot connect to X server。いくつかのWebサイトを調べた後、次のことを行いました。
meshlabserver実行可能ファイルをから/usr/binに移動し、次/usr/local/binを使用して実行可能アクセス許可を与えました
しかしwhoami、phpスクリプトからコマンドを実行すると(を呼び出してmeshlabserver)www-data、. だから私はすべてのユーザーに実行権限を与えましmeshlabserverた
しかし、それでも同じmeshlabserver: cannot connect to X serverエラーが表示されます。meshlabserverコマンドラインから実行すると、comamnd は正常に動作します。
meshlab私のウェブサイトのphpスクリプトから本当に呼び出す必要があります。したがって、どんな助けでも大歓迎です。前もって感謝します。
3d - 2 つの類似したメッシュ間でテクスチャをマッピングする方法
3D スキャナーを使用して .obj 3D メッシュ ファイルにキャプチャしたオブジェクトのモデルが 2 つあります。これら 2 つのメッシュは同じオブジェクトを表していますが、実際のメッシュは異なります (キャプチャ プロセス中の小さなエラーとノイズのため)。それでも、これら 2 つのメッシュは完全に一致しています。
一方のテクスチャを他方にコピーしたい。メッシュ B の最も近いノードからメッシュ A にテクスチャを「コピー」する方法を探しています。
Meshlab または Blender を使用してこれを達成するにはどうすればよいですか?
graphics - テクスチャ座標を含む PLY ファイルの仕様
何らかの目的で、テクスチャが埋め込まれた PLY ファイル (Stanford Triangle Format) を読み取る必要があります。PLY ファイルの仕様をいくつか見ましたが、テクスチャ マッピングの構文を指定する単一のソースを見つけることができませんでした。PLY ファイルを読み込むライブラリはたくさんあるようですが、テクスチャをサポートしていないライブラリがほとんどのようです (クラッシュするだけです。そのうちの 2 ~ 3 つを試しました)。以下は、テクスチャを含む ply ファイルのヘッダーにあります。
私が理解していないのは行property list uint8 float texcoordです。また、顔に対応するリストは
このリストは何ですか。フォーマットは何ですか?PLY が要素の独自のプロパティを定義する機会を提供することは理解していますが、テクスチャの処理はほぼ標準のようであり、かなりの数のアプリケーション (人気の Meshlab など) が上記の構文を使用してテクスチャ付き PLY ファイルを開くようです。 .
テクスチャ化された PLY ファイルを読み取るための標準構文と、可能であればこの情報のソースを知りたいです。