トップ > 知っておきたい機能 > パス関連 >
複数の図形を組み合わせる(集合演算)

  

複数の図形を集合演算で組み合わせる

この記事では、集合演算について解説します。 集合演算はブーリアン演算や論理演算とも呼ばれる機能で、複数の図形を組み合わせて新たな図形を作る機能です。 元の図形はシェイプ・テキスト・パスのどれでもいいですが、組み合わされた結果はパスになります

 

組み合わせの演算方法には6種類があり、2つの図形しか組み合わせることができないものもあれば、3つ以上の図形でも組み合わせることができるものもあります

図形を統合する

では、集合演算を行ってみましょう。 今回は6種類ある中から統合で組み合わせます。

1. 一部が重なった3つのシェイプを用意する
1. 一部が重なった3つのシェイプを用意する

上図のように一部が重なった矩形・星形・楕円のシェイプを作成します。 なお、下位のシェイプが透けて見えるように不透明度を下げています

では、集合演算を行いますが、まずは対象のオブジェクトを選択する必要があります。 今回実施する統合は3つ以上のオブジェクトでも処理できますので、3つとも選択しましょう。

2. オブジェクトを3つとも選択する
2. オブジェクトを3つとも選択する

上図のようにオブジェクトを3つとも選択します。 組み合わせる対象のオブジェクトを選択したら、統合を行いましょう。

3. パス(P) -> 統合(U)を実行
3. パス(P) -> 統合(U)を実行

上図のように画面上部のプルダウンメニューの"パス(P)" -> "統合(U)"を実行します(またはキーボードのCTRL + +(プラス)を押します)。

4. 統合後のパス
4. 統合後のパス

上図のように元のオブジェクトの全ての領域を持つパスが新たに作成されます

なお、新たなパスのフィルとストロークの設定は、最下位のオブジェクトのものが引き継がれます。 今回の例では、最下位の矩形のシェイプのフィルとストロークが設定されています。

  

その他の演算方法

6種類ある中の統合については説明した通りです。 残る他の5種類の演算方法について、以下で解説します。

差分

まずは、差分です。 差分は、2つのオブジェクトでしか動作しません。

差分
差分

上図のように差分では、下位の図形から上位の図形が引かれます。

  
3つ以上のオブジェクトを選択して実行すると、よくわからない結果となります。

交差

続いて、交差です。 交差は、3つ以上のオブジェクトでも動作します。

交差
交差

上図のように交差では、全ての図形で共通する領域だけが残されます。

排他

次は、排他です。 排他は、3つ以上のオブジェクトでも動作します。

  
Inkscape 0.46までは2つのパスでしか動作しませんでした。
排他
排他

上図のように排他では、図形の重なりが奇数の領域だけが残されます。

分割

続いては、分割です。 分割は、2つのオブジェクトでしか動作しません。

分割
分割

上図のように分割では、下位の図形が上位の図形で切り分けられます。

  
3つ以上のオブジェクトを選択して実行すると、最下位の図形が1つ上位の図形で切り分けられた形状だけが残ります。

パスをカット

最後が、パスをカットです。 パスをカットは、2つのオブジェクトでしか動作しません。

パスをカット
パスをカット

上図のようにパスをカットでは、下位の図形が上位の図形で切断されます。 フィルは削除され、また、切断面に線は作成されません

  
3つ以上のオブジェクトを選択して実行すると、最下位の図形が1つ上位の図形で切断された形状だけが残ります。
  

まとめ

集合演算で、複数の図形を組み合わせて新たな図形を作ることができます。

操作/コマンド 説明
(画面上部のプルダウンメニュー)
"パス(P)" -> "統合(U)"
(または)
CTRL + +(プラス)
元のパスの全ての領域を合わせる
※3つ以上のパスでも動作する
(画面上部のプルダウンメニュー)
"パス(P)" -> "差分(D)"
(または)
CTRL + -(マイナス)
下位のパスから上位のパスの領域を削除する
※2つのパスでしか動作しない
(画面上部のプルダウンメニュー)
"パス(P)" -> "交差(I)"
(または)
CTRL + *(アスタリスク)
元のパスの共通の領域だけを残す
※3つ以上のパスでも動作する
(画面上部のプルダウンメニュー)
"パス(P)" -> "排他(X)"
(または)
CTRL + ^(キャレット)
パスの重なりが奇数(1・3・5)の領域だけを残す
※3つ以上のパスでも動作する
(画面上部のプルダウンメニュー)
"パス(P)" -> "分割(V)"
(または)
CTRL + /(スラッシュ)
下位のパスを上位のパスの形状で分割する
※2つのパスでしか動作しない
(画面上部のプルダウンメニュー)
"パス(P)" -> "パスをカット(P)"
(または)
ALT + CTRL + /(スラッシュ)
下位のパスを上位のパスの形状で切断する
※2つのパスでしか動作しない
 
メニュー