タグ付けされた質問 「computational-geometry」

幾何学的問題のアルゴリズム解、または幾何学を利用する他のアルゴリズムに関する質問。


4
AのポイントとBのポイント間の最短距離
AAABBBnnnAAABBBmin { dist(p,q) | p∈A∧q∈B }min { dist(p,q) | p∈A∧q∈B }\min \space \{\mbox{ } \text{dist}(p, q) \mbox{ } | \mbox{ } p \in A \land q \in B \space \} 私が正しいかどうかはわかりませんが、この問題は計算幾何学の線形計画法で解決できる問題と非常によく似ています。ただし、LPへの削減は簡単ではありません。また、私の問題は、2次元空間で LPによって明らかに解決できる2組の点の間の最も薄い点を見つけることに関連しているようです。O(n)O(n)O(n)

1
スイープラインによる四角形のカバレッジ
残念ながら一人で練習できませんでした。 長方形のセットと長方形R 0。平面スイープアルゴリズムを使用して、R 0がR 1のセットで完全にカバーされているかどうかを判断します。。R n。R1..RnR1..RnR_{1}..R_{n}R0R0R_{0}R0R0R_{0}R1..RnR1..RnR_{1}..R_{n} 掃引ラインアルゴリズムの原理の詳細については、こちらを参照してください。 最初から始めましょう。最初は、2つのデータ構造を必要とするラインセグメントの交差を見つけるためのアルゴリズムとして、スイープラインアルゴリズムを知っています。 イベントポイントのセット(セグメントのエンドポイントと交差ポイントを格納します)QQQ ステータス(スイープラインが交差する一連のセグメントの動的構造)TTT 一般的な考え:スイープラインは、左から長方形のセットに近づき始める垂直線であると想定します。ソート全てのx矩形の座標とに格納Q昇順で-取るべきOを(N ログN )。最初のイベントポイントから開始し、すべてのポイントで特定のx座標で交差する長方形のセットを決定し、交差長方形の連続セグメントを識別し、それらが現在のx座標でR 0を完全にカバーしているかどうかを確認します。Tバイナリツリーとしてそれは取るつもりだO (ログをlllxxxQQQO(nlogn)O(nlog⁡n)O(n\log n)xxxR0R0R_{0}xxxTTT。R 0の一部が覆われていない場合、 R 0は完全には覆われていません。O(logn)O(log⁡n)O(\log n)R0R0R_{0}R0R0R_{0} 詳細:セグメント交差アルゴリズムの考え方は、隣接するセグメントのみが交差するというものでした。この事実に基づいて、ステータスを作成し、アルゴリズム全体で維持しました。この場合も同様のアイデアを見つけようとしましたが、これまでのところ成功していません。唯一言えることは、2つの長方形が対応するx座標とy座標が重なっている場合に交差することです。TTTxxxyyy 問題は、構築・維持する方法である、そしてどのような建物の複雑さと保守Tです。私はその前提とRの木が、この場合には非常に便利ですが、私は見られるように、R木を使用して最小の境界長方形を決定することは非常に困難です。TTTTTT この問題を解決する方法、特にを構築する方法について何か考えがありますか?TTT

2
最も孤立したポイントを効率的に計算する方法は?
有限集合を考えるとの点のRの D、どのように我々は、効率的に「最も孤立点」を計算することができますのx ∈ Sを?SSSRdRd\mathbb R^dx∈Sx∈Sx\in S 「最も孤立したポイント」をxxx x=argmaxp∈Sminq∈S∖{p}d(p,q)x=arg⁡maxp∈Sminq∈S∖{p}d(p,q)x = \arg\max_{p \in S} \min_{q \in S \setminus \{p\}} d(p,q) (必ずしも一意であるわけではありませんが、表記を使用しました。ここで、はユークリッド距離を示します。)つまり、最も近い近傍までの距離が最大のポイントを探しています。x=argminx=arg⁡minx=\arg\minddd 単純なアルゴリズムは、すべてのペアワイズ距離を計算し、すべてのポイントの距離が最小のネイバーを見つけ、それらの最大値を見つけます。これは演算を必要としますが、それよりもうまくできるでしょうか?O(n2)O(n2)O(n^2)

2
n-1次元空間でn個の等距離点を生成する方法
言ったように、ユークリッド空間でn等距離の点を生成するプログラムを構築したいと思います。私が知っていることから 1d:すべてのカップルのポイント 2d:すべての正三角形 3d:すべて正四面体 3dまで:正三角形超三角形と呼ばれると思います したがって、私の問題は次のとおりです。n-1ユークリッド空間で、定義済みの点を指定して、各点の間に距離dがある正三角形のハイパートライアングルを作成するためにn-1を構築します。 たとえば、3Dスペースで次のように始めることができると思います。 p1 =(x1、y1、z1)固定 p2 =(x2、y2、z2) p3 =(x3、y3、z3) p4 =(x4、y4、z4) d dとp1を知ってp2を修正し始めます d²=(x1−x2)2+(y1−y2)2+(z1−z2)2d²=(x1−x2)2+(y1−y2)2+(z1−z2)2d²=(x_1-x_2)^2 + (y_1-y_2)^2 + (z_1-z_2)^2 3つの変数x2、y2、z2があります。そのうち2つをランダムに修正し、3つ目は問題なく決定できます。 次に、2番目の点について、2つの方程式を定義します。 d²=(x1−x3)2+(y1−y3)2+(z1−z3)2d²=(x1−x3)2+(y1−y3)2+(z1−z3)2d²=(x_1-x_3)^2 + (y_1-y_3)^2 + (z_1-z_3)^2 d²=(x2−x3)2+(y2−y3)2+(z2−z3)2d²=(x2−x3)2+(y2−y3)2+(z2−z3)2d²=(x_2-x_3)^2 + (y_2-y_3)^2 + (z_2-z_3)^2 前と同じように、2つの変数を修正して3番目の変数を決定できると想定しています。 最後の点について、それを定義する3つの方程式があります。 したがって、n-1次元空間の場合、最後の点を定義するn-1方程式があります。 1つの変数を持つ2次方程式で構成されるこの種のシステムを解決する方法がわかりません。最後の1つを決定するためにn-1次元を修正するプロセスが等距離超三角形につながるかどうかはわかりません。さらに、複雑さが小さく、実装が簡単な他の方法が存在する場合もあります。 私は十分に明確であったと思います、そしてあなたの助けに感謝します。

2
平面制約問題を解くためのアルゴリズム(「Pokemon Goモンスターの発見」)
[注:この問題はPokemon Goに触発されました。最初に問題を数学的な用語で説明し、次にポケモンゴーとの関連を説明します。私の目標は、ゲームでごまかすことではありません。私がカンニングしたいのであれば、より良い情報をより簡単に入手できます。] あると仮定NNN点(「未知点」)が平面で、それらを呼び出すn1,…,nNn1,…,nNn_1,\dots,n_N、未知の座標。さらに、既知の場所で測定が行われています。m 1、… 、m MMMMm1,…,mMm1,…,mMm_1,\dots,m_M ましょう測定点から(一般に未知)のユークリッド距離で未知点に。m i n jdist(mi,nj)dist(mi,nj)\text{dist}(m_i, n_j)mimim_injnjn_j 各測定について、次の情報があります。mimim_i 各未知点の正確な座標ためいくつかの既知の定数のためのD 分。そして dist (m i、n j)&lt; d minnjnjn_jdist(mi,nj)&lt;dmindist(mi,nj)&lt;dmin\text{dist}(m_i, n_j)d_\text{min}dist(mi,nj)dist(mi,nj)\text{dist}(m_i, n_j) 未知の点、または与えられた未知の点が可能な平面の領域を計算するための効率的なアルゴリズムはありますか?アルゴリズムには、測定点の座標(X i、Y i)、上記の測定情報、および未知の点の数Nが与えられます。目標は、未知の各ポイントn 1、… 、n Nの可能な場所の領域をできるだけ絞り込むことです。njnjn_j(Xi,Yi)(Xi,Yi)(X_i,Y_i)NNNn1,…,nNn1,…,nNn_1,\dots,n_N ポケモン接続: 拡張現実ゲーム、ポケモンゴーの目標は、自然の中でポケモンを見つけることです。時々、ゲームはポケモンをプレーヤーの位置の「可視範囲」()で表示します。さらに、近くにある(d i s t &lt; d m a x)ポケモンのリストを距離でソートして表示する「ポケモンファインダー」があります。(おおよその距離を1、2、または3つの足跡として表示することも想定されていますが、明らかにバグがあり、常に3つの足跡が表示されます。)dmindmind_{min}dist&lt;dmaxdist&lt;dmaxdist<d_{max}

1
最大スタッキング高さの問題
次の問題は以前に調査されましたか?はいの場合、それを解決するためにどのようなアプローチ/アルゴリズムが開発されましたか? 問題(「最大スタッキング高さの問題」) 与えられたのポリゴン、その安定した、非オーバーラップ配置見つける彼らの積載高さを最大限に重力の影響の下で固定床の上を。んんn 例 3つのポリゴン: 積み重ねの高さが異なる、非常に多くの安定した重なり合わない配置の3つ: 明確化 すべてのポリゴンは均一な質量と等しい密度を持っています 摩擦はゼロです 重力が下向き方向のすべての点に作用しています(つまり、力のベクトルはすべて平行です) 構成が不安定な平衡点にある場合、構成は安定しているとは見なされません(たとえば、図の緑色の三角形は、バランスポイントの左側と右側の質量が等しい場合でも、どの頂点でも平衡化できません)。 さらに上記の点を明らかにする:ポリゴンが(「転倒」)が不安定であると考えられる場合を除き、それは少なくとも一点にかかっている厳密に左 と少なくとも一点右に厳密に(この定義は大幅シミュレーションを簡略化しその重心のと特に、配置が安定しているかどうかを評価するために位置統合などが不要になります。 「物理的」な形の問題は、ほとんどの場合にのみ解決できる継続的な問題です。アルゴリズムで取り組むことができる離散問題を取得するには、ポリゴン頂点と配置でのそれらの配置の両方を適切なラティスに制約します。 ノート あらゆる種類の総当たり攻撃は明らかに実行不可能です。ラティス内のポリゴンの配置に厳格な制約があっても(限られた領域の「格子空間」を提供するなど)、複雑さはいくつかのポリゴンを超えると単純に爆発します。 単一のポリゴンを削除すると構成が不安定になり、そのような配置は、すべての中間ステップが安定していることに依存しているアルゴリズムでは到達できないため、配置を構築するのは簡単です。 問題は少なくともNPのにおいがするので、頂点の総数がEXPTIMEで完了する可能性が高いため、ヒューリスティックスでもかなりの関心があります。希望を与えることの1つは、ほとんどの人間が例の3番目の配置が最適であることを認識するという事実です。

1
一般的な(四面体ではない)細胞複合体のデータ構造
2Dポリゴンメッシュの場合、QuadEdgeおよびHalfEdgeのデータ構造表現は、すべてのトポロジー情報と発生率情報の効率的なクエリを格納および有効化するのに十分です。3D多面体メッシュのコンパクトで効率的なデータ構造はありますか?最近では、たとえばSOTなどの四面体メッシュのコンパクトな表現に関する作業がいくつか行われています。これらが構造化されていない非四面体メッシュに一般化されるかどうかを知るには、これらについて十分に知りません。 ハーフエッジは、関連するハーフエッジを持つハーフフェースに一般化される可能性があると想像できますが、それは格納する大量のデータのようであり、よりコンパクトな表現があるかもしれません。私は本当にファセット情報(どのファセットが境界上にあるか、どのファセットが特定のセルに属しているかなど)を取得することだけに関心があることを付け加えておきます。エッジ発生率の情報はそれほど役に立ちません。

2
2つのパスが到達できるポイントの最大数
のリストが与えられたとしましょう んnn ポイント、その バツxx そして yyy座標はすべて負ではありません。また、重複するポイントがないとします。ポイントからしか行けない(バツ私、y私)(xi,yi)(x_i, y_i) ポイントへ (バツj、yj)(xj,yj)(x_j, y_j) もし バツ私≤バツjxi≤xjx_i \le x_j そして y私≤yjyi≤yjy_i \le y_j。問題は次のとおりです。んnnポイント、上記のルールを使用してポイントを接続する2つのパスを描画することが許可されている場合に到達できるポイントの最大数はいくつですか?パスは原点から開始する必要があり、繰り返しポイントを含めることができます。(0、0)(0,0)(0, 0) もちろん到達ポイントには含まれていません。 例:与えられた (2、0)、(2、1)、(1、2)、(0、3)、(1、3)、(2、3)、(3、3)、(2、4)、(1、5)、(1、6)(2,0),(2,1),(1,2),(0,3),(1,3),(2,3),(3,3),(2,4),(1,5),(1,6)(2, 0), (2, 1), (1, 2), (0, 3), (1, 3), (2, 3), (3, 3), (2, 4), (1, 5), (1, 6)、答えは 888 私たちは取ることができるので (0、0)→(2、0)→(2、1)→(2、3)→(2、4)(0,0)→(2,0)→(2,1)→(2,3)→(2,4)(0, 0) \rightarrow (2, 0) \rightarrow (2, …

2
2次元および3次元ナップザックのアルゴリズム
2Dと3Dのナップザックの問題はNPCであることはわかっていますが、インスタンスがそれほど複雑でない場合、妥当な時間内にそれらを解決する方法はありますか?動的プログラミングは機能しますか? 2D(3D)ナップザックとは、正方形(立方体)とオブジェクトのリストがあることを意味します。すべてのデータはセンチメートル単位で、最大20mです。



1
nセットの2つのセットを指定:移動距離の合計を最小化
2セット S、TS、TS, T それぞれの んんn内のポイント、私は全単射を見つけたい、は最小化され、はユークリッド距離。RkRk\mathbb{R}^ka :S→ Ta:S→Ta : S \rightarrow TΣS ∈ Sd(s 、a (s ))Σs∈Sd(s、a(s))\sum_{s \in S} d(s, a(s))ddd この輸送問題はアースムーバーの距離問題の特殊なケースであることは承知していますが、重み付けされていない(ポイントを超えている)ため、3次ハンガリー方式よりも効率的なアルゴリズムがあるかどうか疑問に思っています。

2
素なセグメントの可視性の問題に対するアルゴリズム
我々は考える互いに素なセグメントと点任意のセグメントではありません。アルゴリズムを見つけて、どのセグメントがから見えるかを確認したい。セグメントから見えるがから見える点がある場合。nnnPPPO(nlogn)O(nlog⁡n)O(n \log n)PPPPPPPPP 私のアイデアは、 1つのエンドポイントがあるスイープハーフラインを使用し、ポイントを時計回りに次数で並べ替え、最も近い可視セグメント(見つけ方はわかりません)のエンドポイントから開始し、回転します一度に1つの可視セグメントと一部の可能な非可視セグメントを検出します。今のところしか考えられません。誰でもアルゴリズムを提案できますか?PPPO(n2)O(n2)O(n^2)O(nlogn)O(nlog⁡n)O(n \log n)

2
長方形の封じ込めのための効率的なアルゴリズム
一連の nnn 行に間隔があり、 O(nlogn)O(nlog⁡n)O(n \log n)他の区間に含まれる区間を見つけるアルゴリズム(たとえば、Manber、「アルゴリズムを設計するための誘導の使用」、1988)。ありますかO (n ログn )O(nlog⁡n)O(n \log n) 高次元の軸整列長方形のアルゴリズム? 私はインターネットで検索して自分で考えようとしましたが、より高い次元の一般化を見つけることができませんでした。たとえば、んnn 平面上の軸に沿った長方形の場合、タスクは、他の長方形に含まれる長方形を見つけることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.