- 締切済み
ある点が凹凸多角形の内部にあるか?外部にあるか?
いつもお世話になっております. タイトルに書きましたとおり, 「ある点が凹凸多角形の内部にあるか?外部にあるか?」を判断するためのアルゴリズムを探しております. ネットを散策して, 「ある点から伸ばしたRayと多角形との交差回数」というアルゴリズムを見つけたのですが,計算とプログラムでの実装が大変そうなので http://www.330k.info/essay/takakugatanonaigaihantei(参考サイト1)のサイトや http://soudan1.biglobe.ne.jp/qa3990775.html(参考サイト2)の4番目の回答で紹介されている 「偏角の和」といった条件を使った判定方法を利用したいと考えております. しかしながら,私の知識では,こちらに書かれているアルゴリズムを理解することができません. (参考サイト1)を読んでいると, 多角形の角頂点Pnを (Xn, Yn) (n=0,1,・・・・),ある点をR (Xr,Yr)とした時に ∠Pn R Pn+1の和が 0,±4π,±8π,…のとき,点Rは多角形の外 ±2π,±6π,±10π…のとき,点Rは多角形の中 と判断できるそうなのですが,上手くいきません. ∠Pn R Pn+1の和を求めてはみたのですが,上記の条件に当てはまりません. どなたか「偏角の和」使った「ある点が凹凸多角形の内部にあるか?外部にあるか?」の判断方法を解説していただけないでしょうか? また,計算コストが軽ければ上記の方法でなくても問題ありませんので,別の方法を教えていただけても助かります. よろしくお願いします.
- みんなの回答 (8)
- 専門家の回答
みんなの回答
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.8
- 178-tall
- ベストアンサー率43% (762/1732)
回答No.7
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.6
- 178-tall
- ベストアンサー率43% (762/1732)
回答No.5
- 178-tall
- ベストアンサー率43% (762/1732)
回答No.4
- nag0720
- ベストアンサー率58% (1093/1860)
回答No.3
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.2
- skydaddy
- ベストアンサー率51% (388/749)
回答No.1
お礼
回答ありがとうございます. リンクミスしてしまったみたいです.申し訳ないです. >初めに「ある点」を原点にシフトすれば、考えやすそうです。 「ある点を原点に移動させる場合の移動量」多角形の各頂点を移動させればいいでしょうか? >「ある点」が多角形の辺上になければ、各頂点が辺を順繰りにたどるよう整列されている場合、 各頂点は左回りでリストに格納しています. >全頂点を一巡したときに原点のまわりを 360 度めぐったか否か、判定すれば良いのでは? この方法は, 「∠Pn R Pn+1の和」でいいのでしょうか?