問題タブ [delaunay]

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

geometry - 点集合とドローネ三角形分割を指定してボロノイ図を導出するにはどうすればよいですか?

私は州のランダム マップを作成するゲームに取り組んでいます (リスクまたは外交)。そのマップを作成するには、まず一連の半ランダムな点を生成し、次にそれらの点の Delaunay 三角形分割を計算します。

これが完了したら、州境の開始点として機能するポイントのボロノイ図を作成しようとしています。この時点での私のデータ (しゃれは意図していません) は、元の一連の点と Delaunay 三角形のコレクションで構成されています。

ウェブ上でこれを行う方法をいくつか見てきましたが、そのほとんどは Delaunay がどのように導出されたかに関係しています。Delaunay に統合する必要はなく、データだけに基づいて機能するものを見つけたいと思っています。それに失敗すると、最適な速度とは対照的に、相対幾何学​​の初心者にわかりやすいものを探しています。ありがとう!

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

matlab - MATLAB:開口部を使用してドロネー三角形分割を作成

V頂点とn開口部の数を持つポリゴンがあります。MATLABでこのポリゴンのドロネー三角形分割を使用してメッシュを作成するにはどうすればよいですか?

delaunay関数を使用できることは知っていますが、開口部の入力方法がわかりません。

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

python - Python で Delaunay テッセレーション?

Python でポリゴンの Delaunay テッセレーションを見つける必要があります。見つけることができる唯一のライブラリ (Delny、scikits) は、ポリゴンではなく点群を三角測量します。助言がありますか?

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

triangulation - c++: CGAL 2D ドローニー三角形分割: 凹面形状

私は現在、いくつかの 2D 三角測量タスクのために CGAL を使用しています。とにかく、今のところすべての点の凸包を常に取得しているため、凹形状を三角測量する方法が本当にわかりません。基本的には、イラストレーターでの動作と同じように mouseClick にポイントを追加して、順序のすべてのポイントが形状の輪郭になるようにします。どうすればCGALでそれを行うことができますか? 一般的に凹面形状を三角測量する方法の簡単な例は、おそらく私を正しい軌道に乗せるでしょう! ありがとう!

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

polygon - 凹面のドロネー三角形分割から三角形を切り取るにはどうすればよいですか?

Delaunayを使用して凹多角形を三角形分割していますが、凹多角形が塗りつぶされています。ポリゴンの境界の外側にある三角形を自動的に削除するにはどうすればよいですか?

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

c++ - CGAL で顔を反復処理するにはどうすればよいですか

Delaunay 三角形分割を行うために CGAL を使用しようとしています。CGAL サンプルの 1 つを使用して、高さフィールド属性を含む三角形分割を計算しました。

私が抱えている問題は、結果の三角形分割を取得する方法がわからないことです。face_iterator を取得する方法はわかりましたが、そこから何をすればよいかわかりません。私が取得したいのは、各三角形の 3 つの点のそれぞれの点配列へのインデックスです。

ネストされたすべてのテンプレートを調べるのに問題があります。

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

opencv - labviewおよび/またはopenCVでの画像の補間とモーフィング

私は画像操作の問題に取り組んでいます。スクリーンに投影するオーバーヘッド プロジェクターと、それを撮影するカメラがあります。画面にドットを投影し、カメラ上で結果として得られる領域の重心を見つけることで、プロジェクター座標のサブセットとカメラ ピクセルのサブセットの間に 1:1 の対応を確立できます。私はこうして地図を持っている

proj_x, proj_y <--> 散布ポイント ペアの cam_x, cam_y

私の当初の計画は、Mathscript 関数 griddata を使用してこのマップを正則化することでした。これは、次のように MATLAB で正常に機能します。

カメラからプロジェクターへのマッピングの逆

残念ながら、このコードにより、Labview は meshgrid ステップでメモリ不足になります (カメラは 5 メガピクセルであり、labview が処理するには多すぎるようです)。

その後、openCV を調べ始めたところ、cvRemap 関数が見つかりました。残念ながら、この関数は、上で生成しようとしていたような正則化されたピクセル ピクセル マップを出発点としています。しかし、そのようなマップを作成するための関数が openCV で利用できるようになるのではないかと期待しました。私はopenCV 1.0 APIでそれを見つけることができませんでした(私はレガシーの理由で1.0で立ち往生しています)が、そこにあるか、誰かが簡単なトリックを持っていることを望んでいました.

だから私の質問は次のいずれかです

1)openCVで散乱点からグリッドに補間するにはどうすればよいですか; (つまり、x と y の散乱値に対して z = f(x,y) が与えられた場合、画像を f(im_x, im_y) で塗りつぶす方法は?

2) 座標系 1 から座標系 2 への点の分散マッピングがわかっている場合、画像 1 を画像 2 にマッピングする画像変換を実行するにはどうすればよいですか。これは、Labview または OpenCV のいずれかで実装できます。

注: この投稿 delaunay にタグを付けています。これは、分散補間を行う 1 つの方法ですが、より適切なタグは「分散補間」です。

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

c++ - 三角形の頂点へのアクセス ++ (delaunay/voronoi 三角形分割) ラッパー クラス

http://www.compgeom.com/~piyush/scripts/triangle/の三角形 ++ ラッパー クラスを使用して、OpenGL で視覚化するための点群を三角測量しています。ポイントを入力して三角測量を計算することができました。その後、頂点イテレータを介して頂点にアクセスすることもできました。これは、パッケージに含まれている main.cpp の例に示されています。今、私は顔の反復子 (main.cpp にも例があります) を介して頂点にアクセスしたいと考えています。すべての面を反復処理して、すべての面の 3 つの頂点を取得したいと考えています。誰かがすでにそれをしましたか?私はラッパークラスを変更しようとしましたが、すでに 2 日ほど成功していません。

事前にどうもありがとう!セバスチャン

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

coordinates - 反復 Delaunay 三角形分割器における無限の初期境界三角形

ほとんどの反復アルゴリズムでは、ボールを転がすために最初に空の三角形が必要です。一般的に使用されるトリックは、点集合と比較して超三角形を非常に大きくすることです。

しかし、「数値レシピ:科学計算の芸術」によると:

「...距離が(境界点まで)単に有限である場合、構築された三角形分割はドローネーではない可能性があります。たとえば、その外側の境界は、異常なケースでは、直径のオーダーで小さな負の角度でわずかに凹状のままになる可能性があります「実際の」ポイント セットを「架空の」(境界) ポイントまでの距離で割った値。

では、すべての入力を同次座標などの別の座標系に変換することなく、デカルト座標を無限大の点で拡張するには、どのようなオプションがあるのでしょうか? これらの点は、通常の幾何学的述語 CCW および Incircle にどのように適合しますか?

Incircle (a,b,c) Infinity -> False. ただし、a、b、c は有限です。

しかし、a、b、c のいずれかが無限遠点である場合はどうなるでしょうか。円は半平面になり、テストは CCW チェックになりますか? 外接円上の 2 つ以上の点が無限である場合はどうなりますか? 円は完全な平面に展開し、テストが常に true になるようにしますか? CCWはどうですか?無限遠に 1 つ以上の点を持つ直線に関連する点をどのように分類しますか?

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

c++ - edge_iterator から vertex_handle を取得する

Delaunay 三角形分割のエッジの端点ごとに vertex_handle を取得するのにかなり苦労しています。私はこれに数時間頭を悩ませていたので、あなたの誰かがこの一見些細な問題で私を助けてくれるかもしれないと思いました:

Edge_iterator を逆参照するドキュメントによると、Edge_handle を取得する必要があり、Edge_handle にはエンドポイントを取得するためのメンバー source() および target() が必要ですが、コンパイルされず、間違っているようです。上記のようにデリファレンスすると、これらのメンバー関数を持たない pair<> が得られます。

私が間違っていることは何か分かりますか?