問題タブ [polyhedra]

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 投票する
3 に答える
1667 参照

javascript - JavaScript を使用して 3D 多面体をモデル化する

canvas タグまたは SVG を使用して3D 多面体をモデル化する JavaScript ライブラリはありますか? プラトン立体のレンダリングを生成したいとします。これを実現するにはどうすればよいでしょうか? FWIW、私は Safari や Chrome などの WebKit ベースの Web ブラウザーにのみ関心があります。

3D 三角形をレンダリングする方法のこのクールなデモを見たことがありますが、それを任意の数の辺を持つ多面体に拡張するにはどうすればよいでしょうか?

0 投票する
3 に答える
1497 参照

matlab - MATLABで多面体を四面体に分割するにはどうすればよいですか?

v頂点( )とサーフェス( )のリストを持つ多面体がありsます。この多面体を一連の四面体に分割するにはどうすればよいですか?

このための組み込みのMATLABコマンドがあるかどうかを特に知りたいです。

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

geometry - Mathematica での4次元空間から3次元空間への点の射影

各ポイントのすべての座標が非負であり、座標の合計が 1 に等しいという制限のあるポイントのセットがあるとします。可視化のために 3 次元空間に戻します。

私が探しているマップは、極値 (1,0,0,0)、(0,1,0,0)、(0,0,1,0) および (0,0,0,1) を取ります「うまく配置された」正四面体の頂点に。具体的には、四面体の中心が原点になり、1 つの頂点が z 軸上にあり、1 つの面が x、y 平面に平行になり、1 つのエッジが x 軸に平行になります。

これは、3 次元の点に対して同様のことを行うコードですが、それを 4 次元に拡張する方法が明らかではないようです。基本的に、関数 tosimplex (4 次元を 3 にする) の 4 次元等価物を探していますが、それは逆です。 fromsimplex

答え:

行列に関するdeinstの答えの直接的な再定式化は、次のようになります。(1/sqrt[4] はシンプレックス中心までの距離であるため、4 番目の座標として表示されます)

0 投票する
3 に答える
6115 参照

c++ - OpenGL 20 面体テクスチャ マッピング

現在、極から極への継ぎ目のない二十面体のテクスチャ マッピングの解決策はありません。このプリミティブのテクスチャ マッピングはよくある問題のようですが、まだ完全には解決されていません。私は多くの調査を行い、UV座標を生成するためにさまざまなアプローチを試しました。最も近い(そして最小の)アプローチは次のとおりです。

二十面体または天球体は、jMonkeyEngine や Geist3D などのさまざまなオープンソース フレームワークの一部ですが、どの実装も正しく機能していないようです。展開された長方形のテクスチャをマッピングすることは不可能ではないはずですか、それとも間違っていますか? すべてのコード スニペットを歓迎します。

iPhone用のopenFrameworks 0.61で構築されたXcodeプロジェクトをここにアップロードしました。内部には 2 つの PNG ファイルもあり、それぞれ別の継ぎ目のバリエーションを示しています。

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

computational-geometry - 正確な内側軸、サーフェス、3D 多面体の骨格化

3D 多面体の正確な中心軸 (または選択した用語!) を計算するソフトウェアを見つけることに興味があります。出力は三角形の面、場合によってはエッジ、および頂点のリストであり、内側表面の接合部、シート、および継ぎ目を表すと思います。理想的には、凹面形状を含むすべての多面体を処理できるものが必要ですが (三角形の面では十分ではありません)、凸多面体を処理できるものを見つけることができれば幸いです。

まず、私が知っているソフトウェアについて教えてください。

私が変換している形状が複雑な表面であると仮定し、表面上に密集した点を分散させることによって、さまざまな「近似」方法が利用可能です。
これらの方法の 1 つは、http: //www.cs.ucdavis.edu/~amenta/powercrust.html によって提供される powercrust ソフトウェアです (凹型のケースを正しく処理するために、このソフトウェアに対してポイント ファイルをどのように定義する必要があるかはわかりませんが、承知しました)

別の近似法は、Tight Cocone (http://www.cse.ohio-state.edu/~tamaldey/cocone.html) に統合されています。これもまた、表面上に点を密に分布させ、ボロノイ図を使用して中心軸に収束させます。表面が正確に知られているという事実を利用する「CAD モデルの改善された中心軸」バージョンがあります。ただし、この改善されたモデルは、配布されたコードには組み込まれていません。

Gianni Schena (http://www.mathworks.com/matlabcentral/fileexchange/4917-skeleton-in-3d) による「3D のスケルトン」などの Matlab コードがあり、距離に基づくいくつかの単純な方法を使用します。変身。まだ概算です。

明らかに近似法は、表面に「スパイク」を与えて、特定のタイプの数値不安定性に悩まされる可能性があります。また、面と頂点の非常に大きなデータ構造を生成します。私が欲しいのは、非常に単純で小さなデータ構造を持つべき多面体 (立方体のような) の中心軸/表面の正確な表現です。

[2004 年、Culver、Keyser、および Manocha による多面体の内側軸の正確な計算] では、多面体の正確な内側軸を計算する方法が公開されました。しかし、誰かが実際にこの方法を実装したソフトウェアを見つけることができません。

何か知っている人、または 3D 内側表面ソフトウェアへの私の小さな進出に追加する何かを持っている人はいますか?

0 投票する
3 に答える
12851 参照

c++ - 点が多面体の内部にあるかどうかを判断する

特定の点が多面体の内部にあるかどうかを判断しようとしています。私の現在の実装では、私が取り組んでいる方法は、多面体 (この場合は三角形ですが、後で他の多角形になる可能性があります) の面の配列を探しているポイントを取ります。ここにある情報から作業を試みています: http://softsurfer.com/Archive/algorithm_0111/algorithm_0111.htm

以下に、私の「内部」メソッドを示します。nrml/normal がちょっと変なのはわかっています..古いコードの結果です。これを実行していると、どのような入力をしても常に true を返すように見えました。(これは解決しました。以下の私の回答を参照してください。このコードは現在機能しています)。

これは C++ ですが、コメントで述べたように、言語に依存しません。

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

gcc - Cloog-ppl make エラー

64 ビットの ubuntu 10.10 に cloog-ppl 0.15-11 をインストールしようとしています。make中に次のエラーが発生します。私はそれがwrtリンクだと思います。

誰かがこれについて私を助けることができますか?

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

algorithm - 多面体グラフ (平面 3 連結グラフ) 同型のアルゴリズム?

平面 3 連結グラフのグラフ同型のトピックについていくつかの調査を行いましたが、さまざまな制限、理論的複雑さ、および使用頻度のアルゴリズムが豊富にあり、次のように際立ったものを見つけるのに苦労しています。

  • わかりやすい
  • 最大限の明快さで実装可能
  • 小さなグラフ (数十の頂点まで) での優れた実用的なパフォーマンス

さまざまなアルゴリズムを自分で理解しないと、この問題に特化した古いアルゴリズムの 1 つを使用する方がよいのか、より一般的な新しいアルゴリズムを使用する方がよいのかを知ることは困難です。考えられるすべての候補の中で、どれが最も適していますか?

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

c# - 原点を中心とする12面体の三角形のインデックス

ウィキペディアによると、原点の十二面体にはこの座標(x、y、z)の頂点があります。

この頂点をvertexBufferに入れるとしましょう-これはPoint3Dの配列になります。indexBuffer(intの配列)用に三角形のインデックスを準備する必要があります。十二面体には12の面があり、各面は五角形です。次のように3つの三角形から各面を作成します。

ここに画像の説明を入力してください

多面体を簡単にするために、それを描画して頂点にマークを付け、インデックスを簡単に取得できますが、この場合は良い方法ではありません。この後、20面の二十面体が私を待っています:/
だから私の質問は:ありますか上記の要件に従ってこの頂点のインデックスを取得する簡単な方法はありますか?


注:
openGLまたはDirectXを使用できなかったことにも言及する必要があります。このライブラリなしで3Dグラフィックスを練習する必要があります。

0 投票する
3 に答える
4382 参照

performance - 頂点が与えられたときの多面体の重心と体積の計算

凸多面体 (3D) の頂点の位置を考えると、多面体の重心と体積を計算する必要があります。次のコードは、Mathworks サイトで入手できます。

コードはエレガントですが、非常に遅いです。何千もの多面体の体積と重心を何百回も計算する必要があります。このコードを現在の状態で使用することは現実的ではありません。誰かがより良いアプローチを知っていますか、またはこのコードをより速くすることができますか? mean意味の表現に置き換えるなど、私が考えることができるいくつかの小さな変更があります。