人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

2つの凹凸を含む多角形の共通部分を抜き出すアルゴリズムを教えてください。
ベクタ形式の凹凸を取りうる多角形同士が重なる共通部分を抜き出すアルゴリズムが分からず困っております。
もし何か参考になるものがあればそれを、なければそのものズバリのアルゴリズムをご教授ください。
凹角形であれば複数の共通部分が出てくる場合もあると思いますが、その場合においてもそれぞれの共通部分を取得したいです。
言語はC#が望ましいですが、分かるものであればなんでもよいです。
どうかよろしくお願い致します。

●質問者: hnzwtv
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● pyopyopyo
●1000ポイント ベストアンサー

Vatti clipping アルゴリズムが良いと思います
https://en.wikipedia.org/wiki/Vatti_clipping_algorithm
アルゴリズムの詳細は以下のPDFが詳しいです.
英語ですが,図や擬似コードが載っていますので理解しやすいと思います
http://extras.springer.com/2005/978-1-84628-108-2/VattiClip.pdf

C#用のライブラリもあります.オープンソースなので,ソースコードを読めば具体的な実装方法も判るはずです
http://www.angusj.com/delphi/clipper.php
サンプルコードは以下のページの下の方にあります
http://www.angusj.com/delphi/clipper.php#code


hnzwtvさんのコメント
ありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ