2016-09-30 34 views
0

私は、与えられたセクターのサイズに対してこの円の点の最大値を得るための最良の角度(円の中心を表す)を決定するアルゴリズムを探しています。与えられた円の角度の点の最大値を見つける

例:

enter image description here

  • レッド(サイズが既知である認める)セクタです。
  • グリーンは私が探したい角度です。
  • ブラックポイントの座標は既知です。

私が正しく説明しなかった場合は、それを聞いてください。 あなたの答えをありがとう。

+0

「赤」は移動できますか?それとも「緑色」がほしいのですか?いずれにせよ、あなたがしなければならないことは、すべての「黒い」点の角度を得てそれを並べ替えることだと思います。それは本当に1Dの問題です。グリーンは中央値になります。赤は、最も多くのポイントを持つレンジの起点になります。あらゆるポイントからテストが始まります(おそらく、より良い方法がありますが、それは1Dです) – starmole

答えて

0

いいえ固定セクタ数はありません。ゴールは、与えられた最大角度のセクタ(中心角による)が最大点を有することを見出すことであった。

私はこれに対する解決アルゴリズムを発見しました。とにかく助けてくれてありがとう。それでも、より効率的な方法があると思いますが、私はそれのようでした:

セクターの最大角度であることが十分に接近しているポイントを関連付ける角度
  • によってポイントを並べ替え、各ポイントの角度
  • を取得するためにはatan2を使用して
    • チェックされた点まで(double forループを使用)
    • 対応する点の最大値を返します。

    明確にしようとしましたが、実際には簡単ではありません。興味のある方は にC++サンプルを投稿できます。

  • 関連する問題