2D空間でn
ポイントが与えられた場合、これらのポイントをカバーする最も狭いバンドを見つけたいと思います。言い換えれば、私はすべての点がこれらの2つの線の間に入るように2本の平行な線を見つけたいと思う。効果的なアルゴリズムが終了していますか?2D空間内の与えられた点をカバーする最も狭いバンドを見つける方法は?
2
A
答えて
4
まず、これらの行は、ポイントのconvex hullを形成するポイントを通過する必要があります。凸包は多くの人によって発見される可能性がありますdifferent algorithms。選択はデータによって異なります。
第二に、私たちの平行線の一つは、凸包セグメントを通過します。凸包の他の点で停止するまで、両方の平行線を回転させて、それらの間の距離を減少させることができるからです。
今、私たちは、すべての凸包セグメントを反復処理し、すべてのセグメントに対して、このセグメントを通過するラインを構築し、このラインから最も離れた凸包点を見つける必要があります。これらの距離の最小値(最も遠い点から線まで)が答えになります。このすべての反復は、rotating calipers(MBoのおかげで)を使用して線形時間で行うことができます。
関連する問題
- 1. 2D空間内の最大点をカバーする矩形位置を見つける
- 2. 2D平面上の与えられた点をカバーする最小円
- 3. Pythonの与えられた点から近点を見つける方法
- 4. 与えられたサブネットのネットワークアドレスを見つける方法は?
- 5. 与えられた円の角度の点の最大値を見つける
- 6. 2D numpy配列の角度が与えられた最も近いアイテムを見つける
- 7. 与えられたディストリビューションの区間確率を見つける方法は?
- 8. 与えられた線に垂直な点を見つける
- 9. C++与えられた値に最も近い値を持つマップのキーを見つける方法
- 10. 与えられた範囲内の交点を見つけるか?
- 11. 与えられたリストのanagramsを見つける方法
- 12. 与えられたテーブルの子テーブルを見つける方法
- 13. ある与えられた点からの距離に沿った線の中間点を見つける
- 14. 与えられたデータの間の一致を見つける
- 15. 三角形内の任意の点を見つける最速の方法2D
- 16. 与えられた範囲の最大レコードを見つける方法
- 17. 与えられた出力で最大値を見つける
- 18. グリッド内の点の集合をカバーする最小のポリゴンを見つける
- 19. 最も近い次の/前の倍の値を見つける方法(与えられた数値に対してnumeric_limits ::εを見つける方法)
- 20. 与えられたintに最も近い偶数を見つける方法は? (与えられた11のリターン12)
- 21. 多次元空間でSolrと最も近いn点を見つける
- 22. 3D空間内の特定の軸に沿った最も近い点を効率的に見つける
- 23. GKObstacleGraph最も近い有効な点を見つける方法?
- 24. 指定された座標に最も近い点を見つける方法
- 25. ベクトルを2Dグリッド表示に変換:与えられた整数に最も近い(整数)領域の矩形を見つける方法は?
- 26. 空間内の点の集合から最も近い/最も近い平面を見つける最良のアルゴリズム/論文は何ですか?
- 27. 頂点 - 離散パスの最大カバーを見つける
- 28. 隣接グラフといくつかのトラバーサルが与えられたときに、最もトラバースされたエッジを見つける方法を最適化する
- 29. 与えられたポイントとエッジのポリゴンを見つける方法は?
- 30. 与えられた16進数のxor key/algorithmを見つける方法は?
「回転キャリパー」 – MBo
@MBo、ありがとう!それが特定の名前を持っていることを知らなかった。 – DAle
ありがとうございました。また、問題が凸包に密接に関連していることをすぐに認識しました。 –