[OSGeoJapan-discuss] 【教えて下さい】円を串刺しする線をカウントしたい

Yoichi Kayama yoichi.kayama @ gmail.com
2013年 7月 9日 (火) 05:50:41 PDT


島田様

はじめまして
かやまと申します

端点が決まっている線分でしたら、その端点が円の内部にあるかどうかを
判定すればいいのではないでしょうか。
円の内部にあれば円内で途切れていると判定できるのでは。

円の内部であるかどうかの判定は、円が中心点と半径であらわせていれば、端点と
円の中心点の距離を計算して、その距離と半径の比較で判定できます。

円が多角形近似ポリゴンで定義されている場合はポリゴンと点の内外判定の
ロジックが使えます。

指定点から水平方向に半直線を定義して、その直線とポリゴンの全辺の交差の
数を計算して、交差の数が奇数なら指定点はポリゴン内部、偶数なら指定点は
ポリゴン外部と判定できるとおもいます。

http://www.nttpc.co.jp/company/r_and_d/technology/number_algorithm.html
上記みたら違う判定方法もありました。





2013年7月9日 21:20 <SGW00412 @ nifty.com>:

> すみません。
> どなたか手がかりをご存じでしたら、ご教授下さい。
>
> 円を串刺しする線の数をカウントしたいのです。
>
> # ランダムに配置した沢山の線を用意し、そこにいくつか円をおきます。
> # このとき円を串刺しにする線が何本あるかをカウントしたいのです。
>
> 最初は、線群と円ポリゴンをインターセクションしたのですが、これだと
> ・串刺しの線 → 円周2点とくっつく線分
> ・円内で途切れる線
> の区別がつきませんでした。
>
> 次に、インターセクションした線と円ポリを、mifにエクスポートして座標をチェックすれ
> ば・・と考えましたが、切断された線分の座標と円ポリゴンの座標は完全一致しないので
> すね・・・挫折。
>
> 最後に、面ポリゴンではなく、ラインの円を用意し、そこに僅かな幅を持たせました(バ
> ッファ)。それと線群をインターセクションして、切り取られた線の長さに着目しました。
> 串刺し線なら → 僅かな幅x2倍
> 円内で途切れるなら → 僅かな幅x1倍
> ・・・うまく行きそうだったのですが、幅に対してごく浅い角度で入る線があると区別で
> きず、挫折。
>
> 私のような素人では万策尽きてしまい、こちらに投稿する次第です。
>
> 島田@調布市
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20130709/e451381d/attachment-0001.html>


More information about the OSGeoJapan-discuss mailing list