ベクタ形式の凹凸を取りうる多角形同士が重なる共通部分を抜き出すアルゴリズムが分からず困っております。
もし何か参考になるものがあればそれを、なければそのものズバリのアルゴリズムをご教授ください。
凹角形であれば複数の共通部分が出てくる場合もあると思いますが、その場合においてもそれぞれの共通部分を取得したいです。
言語はC#が望ましいですが、分かるものであればなんでもよいです。
どうかよろしくお願い致します。
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
ありがとうございました。
2016/07/23 10:51:42