2Dジオメトリ:ポイントは角度の内側にあるかどうかを確認する方法

StackOverflow https://stackoverflow.com/questions/1167022

  •  19-09-2019
  •  | 
  •  

質問

私は2Dで、次の幾何学的な問題を持っています:

私は方向および角度によって与えられる無限角度(2D-コーン)キャストそこから点を有します。 (ポイントと方向ベクトルを形成し、角度の各側半分に2D-コーンを形成する)

今私は、2Dでの別のポイントは、外このコーンの内側にあるかどうかをチェックします。

どのようにこれを達成することができますか? ありがとう!

役に立ちましたか?

解決

コーンの中心からクエリ点にベクトルを計算します。長さ1であるようにベクトルを正規化する、円錐の中心ベクトルを取り、1
の長さにもこれを正規化 今、ベクトル間の内積を取ります。 2つの正規化されたベクトル間の内積は、それらの間の角度の余弦です。内積のARCCOS(ほとんどの言語でacos)を取ると、あなたは角度を取得します。コーンの角度(あなたの説明では半分の角度)に、この角度を比較します。その下の場合、質問がコーンの内側にある内指します。

これは、2Dと3Dで動作します。

他のヒント

方向のarctgを用いて方位角を計算します。チェックする点から、原点をSubstract。 (再び正規化ベクトルのarctgを介して)、その角度を計算し、それは角の境界内にあるかどうかを確認します。

私は最善の方法は、コーンの方向に垂直な2次元表面上にポイントを投影することであると言うでしょう。そして、あなたが同じ平面と点の間othogonalの距離を計算します。最後に、あなたはその高さでコーンの幅を知っているので、ポイントはその幅の外にある場合、あなたは見ることができます。

指定された点を原点からのベクトルが中心を通るその法線と角度Aを作成してみましょう。角度Aは、円錐の半分の角度よりも小さい場合、それは内外他にあります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top