[OSGeoJapan-discuss] ポリゴン処理の話題

Hiroshi Miura(@osmf) miurahr @ osmf.jp
2013年 9月 15日 (日) 17:44:27 PDT


嘉山さん、山手さん

ありがとうございます。

凸多角形かどうかを確認するだけならば、 世の中にアルゴリズムが有るという事で、
ライブラリを改めて確認して見ました。

CGALに、 is_convex() というそのものの関数が、有りました。
添付パッチのようにdebugmodeを追加してやってみたところ、大丈夫そうです。

お題:2013年9月15日 12:43 Hiroshi Miura(@osmf) <miurahr @ osmf.jp>:

>> このような問題は、計算幾何学で研究されていて、素晴らしいライブラリがすでに提供されています。
>> そこで、CGALを用いて、ポリゴンを複数の多角形に変換し、LUAのプログラムを生成するようなユーティリティプログラム
>> (*9)を書くことにしました。(GEOSには、該当機能がないみたいでした)
>>
>> $ utils/poly2lua/poly2lua -t
>>
>> ここで(-t)をつけると、テストモードで、内蔵の日本の定義データを元に、複数の多角形(緯度経度)を示すデータを生成します。
>> また、osm/data/*.kml が元データで、 osm/data/*.luaが生成された複数の凸多角形のデータです。
>>
>> ☆ で、ここで質問ですが、どうやったら、この生成されたデータが正しく凸多角形であることがわかるでしょうか?

On 2013年09月15日 19:21, 山手 規裕 wrote:
> 凸多角形かどうかを確認するだけでしたら、多角形の頂点を順に並べて、
> 全ての隣接する3点が同じ回り順(時計回りか反時計回り)であればいいのではないでしょうか。
>
> On 2013/09/15, at 17:54, Yoichi Kayama wrote:
>
>> 以下のようなコードがありましたが、こういうことなのでしょうか?
>>
>> http://www.prefield.com/algorithm/geometry/isconvex.html
>>

三浦

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: check_convex.diff
型:         text/x-patch
サイズ:     1743 バイト
説明:       無し
URL:        <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20130916/461e81c8/attachment-0001.bin>


More information about the OSGeoJapan-discuss mailing list