問題タブ [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.

0 投票する
2 に答える
6432 参照

mesh - マーチング キューブによって生成されたメッシュをリアルタイムで滑らかにする方法は?

私は現在、プロジェクト (CT 画像からの人間の歯のリアルタイム レンダリング) にマーチング キューブ アルゴリズムを使用しています。レンダリング結果は次のとおりです。

http://www.freeimagehosting.net/uploads/4c2e2c94be.jpg

MC で生成されたメッシュはあまり滑らかではないことがわかります。MCの出力に適用できるリアルタイムの平滑化アルゴリズムを知っていますか? または、MC の改良版で滑らかな表面を生成できるものはありますか?

平滑化アルゴリズムは高速である必要があることに注意してください。これは、インタラクティブな変形中の等値面の再計算のために、後で MC を約 30HZ で使用する必要があるためです。

0 投票する
2 に答える
1016 参照

directx - DirectX9を使用したメッシュの表示-メッシュの違い

これは、.xメッシュを表示するための私のプログラムです。メッシュtiger.xを表示することはできますが、 ball.xを表示することはできません。2つのメッシュの違いは何ですか?コードで処理する必要があるものはありますか?ただし、DirectX SDKに付属しているような標準のメッシュビューアを使用して、両方のメッシュを表示できます。

ありがとう。

0 投票する
2 に答える
463 参照

c++ - 2Dオブジェクトへの3D効果の追加-DirectX

directX.xメッシュファイルをロードする簡単なプログラムを作成しました。ロードした画像は次のように表示されます

しかし、MeshViewerが表示するのはこのようなもの です。

3Dの外観を得るには何をする必要がありますか?DirectXライブラリのどの呼び出しを行う必要がありますか?

0 投票する
5 に答える
4607 参照

algorithm - 3D メッシュで丸みを帯びたエッジとコーナーを生成するアルゴリズム

3D メッシュから始めて、そのメッシュのポリゴン間のエッジとコーナーに丸みを帯びた外観を与えるにはどうすればよいでしょうか?


他のアプローチを思いとどまらせることなく、現在私が問題に取り組んでいる方法は次のとおりです。

正多面体のメッシュが与えられた場合、メッシュのエッジに丸みを帯びた外観を与えることができます。そのためには、各ポリゴンをその平面に沿ってスケーリングし、各シリンダーがそのポリゴンと交わる各ポリゴンに正接するようにシリンダー セグメントを使用してエッジを接続します。

キューブを含む例を次に示します。

キューブ

ポリゴンをスケーリングした後の立方体は次のとおりです。

ポリゴンをスケーリングした後の立方体

円柱を使用してポリゴンのエッジを接続した後の立方体は次のとおりです。

角の丸い立方体

私が問題を抱えているのは、特に各コーナーで 3 つ以上のエッジが交わる場合に、ポリゴン間のコーナーを処理する方法を考え出すことです。また、通常の多面体だけでなく、すべての閉じた多面体で機能するアルゴリズムも必要です。

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

direct3d - 任意の .X (DirectX 3D オブジェクト) をプログレッシブ メッシュとして使用できますか?

Direct3D のプログレッシブ メッシュについて学習しています。SDK サンプル (ProgressiveMesh) を試し、コードをいじって、既定のオブジェクトを他の .X ファイルに置き換えました。

アプリケーションは、一部の .X ファイルでは機能する場合がありますが、すべてではなく、特にファイル サイズが大きくてクラッシュする場合があります。

いずれかの .X オブジェクトをプログレッシブ メッシュとして使用できるかどうかを教えてもらえますか? この例では、オブジェクトがプログレッシブ メッシュに自動的に変換されますか? そうでない場合、プログレッシブ メッシュ ファイルを取得して SDK サンプルに読み込むにはどうすればよいですか?

ありがとう!

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

iphone - 画面の片隅にiPhoneのopenglメッシュレンダリング?

この長いコードブロックについては申し訳ありませんが、すべてを含めるのは理にかなっていると思います。何で遊んでも、メッシュをフルスクリーンでレンダリングすることはできません。GLビューと同様に、ビューポートはフルスクリーンです。何が起こるかです:

http://img191.imageshack.us/img191/247/screenshot2010082000163.png

これは私の描画ループで実行されるコードです:

ありがとうございました!

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

c++ - 多角形メッシュのハーフエッジ構造表現を生成するには?

ポリゴン メッシュ データの入力 (数値データ形式) に基づくハーフエッジ構造の数値データを表示する出力を生成したいと考えています。

基本的にポリゴン モデルを読み取るための概念は次のとおりです。

INPUT の場合、ファイルは OFF 形式で、次のようなデータが含まれます
(a) 最初の部分: 頂点の数、面の数、およびエッジの数。
(b) 2 番目の部分: 各頂点の線、
(c) 最後の部分: 各ポリゴン面の線。

例: (上から)
最初の部分:
4 4 6

後半:
-1.7 0.0 1.0
1.7 0.0 1.0
0.0 0.0 -2.0
0.0 3.0 0.0

最後の部分:
3 0 1 2
3 0 3 2
3 3 2 1
3 0 2 3

また、プログラムは次のデータを生成できる必要があります。

(a) 頂点:
1. 頂点インデックス (頂点入力の総数)
2. 各 x 座標、y 座標、z 座標、およびハーフ エッジ
(b) ハーフ エッジ:
1. ハーフ エッジ インデックス (頂点入力の総数)上記 a.2. から生成されるハーフ エッジ)
2. 開始頂点、面、次のハーフ エッジ、および隣接するハーフ エッジ。
(c) フェース:
1. フェース インデックス (b.2. に示すように、0 から始まるフェースの総数)
2. ハーフ エッジ。

視覚的なグラフィックを表示する必要はなく、アルゴリズムを使用して単純な Half-Edge Structure データを生成し、メモ帳などを使用して OUTPUT ファイルを読み込む必要がある、というような概念です。

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

opengl - 3D モデル レンダリングの基本に関するリソース

何かを見逃したのかもしれませんが、これに関する質問はまだ見つかりませんでした。誰かが知っている場合は、リンクを投稿していただければ幸いです。

非常に使いやすい大規模なオープンソース エンジンがすでにたくさん出回っていることは知っています。それが必要であることは問題ではありませんが、使用したいものがどのように機能するかがわからないのは好きではありません。しかし、周りを見渡しても何も見つかりません。私は、エンジンを作るというクレイジーな孤独な使命を帯びたマゾヒスティックなナッツジョブではありません。

私はすでに OpenGL のすべての基本を行っており、何かを描画するためにハードコードすることができます。最初に起動してから完全なランスルーは必要ありませんが、それをモデルのレンダリングに移行する方法についての手がかりがありません。どこにもそれを説明しているようには見えません。モデルをレンダリングするためにそれらをどのように使用するかを自分で理解できるかどうかを確認するために、ファイルタイプの構造について何かを見つけられるかどうかを確認しようとしましたが、それは少し行き止まりでした.

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

c# - フラットな 2D メッシュを押し出し、深さを与える方法

同一平面上の接続された三角形のセット、つまり 2D メッシュがあります。ここで、z 軸方向に数単位押し出す必要があります。メッシュは頂点のセットによって定義され、レンダラーは三角形の配列と照合することで認識します。

メッシュの例:

頂点: (0,0,0), (10,0,0), (10,10,0), (0,10,0) <-- (x,y,z) 三角形: (1, 2, 3) & (3, 4, 1) <-- ここの数字は上の頂点の位置を参照します。

ここに 2D の正方形があります。次に、そのリストに頂点と三角形を追加して、押し出し形状を作成する必要があります。三角形は時計回りでなければなりません。

これには簡単なアルゴリズムがありますか?ありがとうございました。

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

arm - BeagleBoard 用 OpenEmbedded の DTN

OpenEmbeddedを使用してDTNを構築しようとしています。残念ながら、DTN は Tcl 8.3 または 8.4 と DB 4.2、4.3、4.4 または 4.5 を使用しますが、bitbake は Tcl 8.5 と DB 5.0 を使用しています。

OpenEmbedded レシピ ディレクトリには、他のファイルとともに以下が存在します。

デシベル/
デシベル/db_4.3.29.bb
デシベル/db4-native.incデシベル/db3-native_3.2.9.bb デシベル/db_5.0.21.bb デシベル/db3-3.2.9 デシベル/db4.inc
デシベル
/ ファイル デシベル/デシベル-native_4.3.29.bb db/db3_3.2.9.bb db/db-native_5.0.21.bb db/db5.inc tcltk/ tcltk/tk tcltk/tk_8.4.19.bb tcltk/tcl-native_8.4.19.bb tcltk/ tk-8.5.8 tcltk/tk-native_8.4.19.bb tcltk/tk_8.5.8.bb tcltk/ファイル tcltk/tcl tcltk/tcl-8.5.8 tcltk/tcl_8.5.8.bb tcltk/tcl_8.4.19.bb `


















bitbake が dtn を構成していたある時点で、次のことが起こります。

| | pow を含むライブラリをチェックしています... -lm
| dlopen を含むライブラリをチェックしています... -ldl
| | | configure: tcl インストールの確認 (バージョン 8.4)
| /opt/OpenEmbedded/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi usr/include で tcl.h (バージョン 8.4) をチェックしています... no
|
| | configure: tcl インストールの確認 (バージョン 8.3)
| /opt/OpenEmbedded/build/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include で tcl.h (バージョン 8.3) をチェックしています... いいえ
| configure: エラー: 使用可能な tcl.h が見つかりません
注: タスクが失敗しました: /opt/OpenEmbedded/build/tmp/work/armv7a-angstrom-linux-gnueabi/dtn-2.5.0-r5/temp/log.do_configure. 27117
ERROR: TaskFailed イベント例外、中止します
エラー: /opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb do_configure のビルドに失敗しました
エラー: タスク 11 (/opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb, do_configure) に失敗しました
注: タスク概要: 897 個のタスクを試行しましたが、そのうち 883 個は再実行する必要がなく、1 個は失敗しました。
エラー: '/opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb' が失敗しました '

これを解決するために、dtn_2.5.0.bb に移動し、--with-tclver=8.5 を追加しました。
DBでも同じことが起こり、もう一度解決するために同じことをしました。

しばらくして、bitbake をコンパイルすると、次のことが起こりました。

| | storage/BerkeleyDBStore.cc:35 から含まれるファイル:
| storage/BerkeleyDBStore.h:31:2: エラー: #error "Berkeley DB メジャー バージョン 4 を使用する必要があります" | /opt/OpenEmbedded/build/tmp/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/../../../.. から含まれるファイル/
arm-angstrom-linux-gnueabi/include/c++/4.3.3/ext/hash_set:64,
| ストレージから/../util/StringUtils.h:39,
| storage/DurableStore.h:35 から
| ストレージから/BerkeleyDBStore.h:39,
| storage/BerkeleyDBStore.cc:35 から:
| | /opt/OpenEmbedded/build/tmp/sysroots/i686-linux/usr/armv7a/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/../../../../arm-angstrom -linux-gnueabi/include/c++/4.3.3/backward/backward_warning.h:33:2: 警告: 警告 このファイルには、少なくとも 1 つの非推奨または時代遅れのヘッダーが含まれており、将来予告なしに削除される可能性があります。
代わりに、同等の機能を持つ非推奨でないインターフェースを使用してください。置換ヘッダーとインターフェースのリストについては、backward_warning.h ファイルを参照してください。この警告を無効にするには、-Wno-deprecated を使用します。
| | storage/BerkeleyDBStore.cc: メンバー関数内 'virtual int oasys::BerkeleyDBStore::init(const oasys::StorageConfig&)':
| storage/BerkeleyDBStore.cc:129: 警告: 'void ( )(const charからの変換が無効です, char*)' から 'void ( )(const DB_EN​​V , const char*, const char*)'
| storage/BerkeleyDBStore.cc:187: エラー: 'DB_LOG_AUTOREMOVE' はこのスコープで宣言されていません | make 1 : *** [ストレージ/BerkeleyDBStore.o] エラー 1
| make 1 : ディレクトリ ``/opt/OpenEmbedded/build/tmp/work/armv7a-angstrom-linux-gnueabi/dtn-2.5.0-r5/dtn-2.5.0/oasys'を離れます
| make: * [oasys] エラー 2
| 致命的: oe_runmake が失敗しました
注: タスクが失敗しました: /opt/OpenEmbedded/build/tmp/work/armv7a-angstrom-linux-gnueabi/dtn-2.5.0-r5/temp/log.do_compile.5339
エラー: TaskFailed イベント例外、中止します
エラー: /opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb do_compile のビルドに失敗しました
エラー: タスク 13 (/opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb, do_compile) が失敗しました
注: タスクの概要: 913 個のタスクを試行しましたが、そのうち 913 個は再実行する必要がなく、1 個は失敗しました。
エラー: '/opt/OpenEmbedded/openembedded/recipes/dtnrg/dtn_2.5.0.bb' が失敗しました '

それで、私が選択したバージョンを使用するようにbitbakeまたはOpenEmbeddedに「伝える」方法はありますか?