Area Boolean operations

閉じた折れ線によって囲まれた領域同士の集合演算を行う機能です。

1.折れ線について

1-1.円弧について
 本機能で扱う折れ線は、連続した直線のみだけでなく、円弧も含むことができます

poly1

1-2.折れ線のデータ構造について
 折れ線のデータは点列の並びとし、各点に設定した属性により直線または円弧を表現します。
 また、各点に設定する属性値の中には使用者が任意に設定できる属性値があります。

1-3.折れ線の自己交差について
 本機能では、自己交差している折れ線は処理対象外とします。

poly2

2.領域同士の集合演算について

2-1.折れ線の領域とは
 折れ線の領域は、折れ線の進行方向に向かって左側をその折れ線の領域とします。

poly3

2-2.集合演算の種類
 下記、2種類の集合演算が可能です。
 ① AND演算
   複数の折れ線領域の共通する部分を求めます。

 ② OR演算
   複数の折れ線領域の和を求めます。

3.集合演算の詳細

本機能は複数(2本以上)の折れ線を入力することが可能で、領域の集合演算は入力された折れ線のうち
交差する折れ線のみを対象とします。
集合演算の結果の折れ線と、集合演算の対象とならなかった折れ線を出力します。

3-1.AND演算
 複数の折れ線領域の共通する部分を求めます。
 下記、①~③が例として、2本の折れ線が入力された場合のAND演算の結果を表します。

 ① 右回り AND 右回り
poly4
 ② 右回り AND 左回り
poly5
 ③ 左回り AND 左回り
poly6

3-2.OR演算
 複数の折れ線領域の和を求めます。
 下記、①~③が例として、2本の折れ線が入力された場合のOR演算の結果を表します。

 ① 右回り OR 右回り
poly7
 ② 右回り OR 左回り
poly8
 ③ 左回り OR 左回り
poly9