お絵描きソフトInkscape(インクスケープ)の使い方を初級レベルから上級レベルまで広く紹介しています。
情報追加のリクエストや分かりにくい点があれば下のCONTACTフォームからどうぞ。

Inkscapeのパスエフェクト:パスを接着

 このページでは、Inkscapeのパスエフェクトの1つである、あるパス(オリジナルパス)の両端に、他のパスにつながるセグメントを自動的に追加してくれるエフェクトを紹介します。

 「パスを接着」という名前から「2本のパスをつなぐ」という機能のエフェクトなのかと思うかもしれませんが、少し違います。

 (参考:パスエフェクト/エクステンションとは


(2023.03.20更新)

ダイアログはどうなってる?

 このエフェクトのダイアログは次のようになっています。

 全体は上下2つの部分に分かれていて、上半分が始点パスのパラメータ、下半分が終点パスのパラメータを指定する部分です。

パスの向きについて

 Inkscapeで描くパスには向きがあって、ペンツールでパスを描くときに最初に配置するノードが始点になり、最後に配置するノードが終点になります。どちらが始点でどちらが終点かは通常は見た目に違いがないので気にすることはあまりありませんが、例えば、ストロークのスタイルとしてマーカー(端の矢印など)を設定するときに始点と終点で別々に設定するようになっているので、パスの向きを意識することもあります。(参考:マーカーを描く

 この始点と終点がパスを接着エフェクトでも重要なポイントになります。

始点パスと終点パス

 パスを接着では、エフェクトの適用先である1本のオリジナルパスの始点から他のパスまでのびるように生成されるセグメントを始点パスといい、オリジナルパスの終点から他のパスまでのびるように生成されるセグメントを終点パスといいます。つまり、パスの接着エフェクトを使うにはオリジナルパスの向きがどちら向きなのかは意識しておく必要があります。(始点パスではなくて、始点セグメントと呼ぶほうが分かりやすかったのにと思ったりしますが・・・)

基本的な手順

 基本的な適用手順は次のようになります。

  1. 1本のオリジナルパスを選択する。
  2. エフェクトダイアログで「+」ボタンを押してパスを接着エフェクトを適用する。パスを接着のパラメータ画面が表示される。
  3. 始点パスの接続先にしたい他のパスを選択して、クリップボードにコピーする。
  4. オリジナルパスを再び選択して、始点パスというラベルの右の方にある「クリップボードのパスへリンク」というアイコンをクリックする。すると、クリップボードにコピーされている他のパスまでの始点パスが設定されて、オリジナルパスの始点から他のパスの始点につながるようなセグメントが自動的に追加される。
  5. 終点パスの接続先にしたい他のパスを選択して、クリップボードにコピーする。
  6. オリジナルパスを再び選択して、終点パスというラベルの右の方にある「クリップボードのパスへリンク」というアイコンをクリックする。すると、クリップボードにコピーされている他のパスまでの終点パスが設定されて、オリジナルパスの終点から他のパスの始点につながるようなセグメントが自動的に追加される。(ややこしいです)

サンプルでやってみた

 実際にやってみた例が次のものです。パスの向きがわかりやすいように、終点のマーカとして矢印を設定してあります。

 緑色のパスをオリジナルパスとして、青いパスを始点パス接続先に設定すると2番目のようになり、さらにオレンジのパスを終点パス接続先に設定すると3番目のようになります。このように、このエフェクトではオリジナルパスの両端から他の2本のパスの始点につながるようなセグメントが自動的に追加されます。

 もちろん、始点パスだけ設定したり、終点パスだけ設定することもできます。

 ここで自動的に追加されるセグメントはベジエ曲線になっているようです。各パスの配置やパラメータの初期値によってエフェクト適用直後に生成されるセグメントの形はいろんなものになります。

 この後は、ダイアログ上でパラメータを指定することで、生成されたセグメントの形を目的に合わせて変形していきます。

各パラメータの意味

 パラメータの意味を理解するために、エフェクト適用直後のオリジナルパスを選択して、パス > オブジェクトをパスへを操作して始点パスと終点パスも含めて通常のパスオブジェクトにした上でノードツールを使ってノードハンドルを表示すると、次のようになります。

 始点パス(終点パス)はベジエ曲線になっていて、初期値では割りに遠いところにノードハンドルが設定されるので追加されたセグメントはくるっと1周するようになっているのが分かります。もう少し自然につながるように変形するには、このノードハンドルをもっと近くに移動する(距離を短くする)必要があります。

 また、この例のように、ノードのところでなめらかにつながっているときは、ノードハンドルの位置が隣のセグメントと1直線上(角度がゼロ)になっています。

 このことを抑えておいて、エフェクトのパラメータの意味を理解します。

 角度距離は、生成するベジエ曲線の両端のノードハンドルの角度と距離を指定するものです。上の例のように全体がなめらかにつながるように変形したいときは、カーブ始点とカーブ終点の角度をゼロにして、距離を初期値よりも短く設定します。すると、次の例の左側のようになります。

 角度に90度を指定すると、右側の例のように直角につながるようなセグメントになります。

 指定可能なパラメータにはもうひとつパス位置というものがあります。これは、始点パス(終点パス)の終点を、接続先の他のパスのどのあたりに接続するかを指定するパラメータです。ゼロなら、他のパスの始点に接続しますが、ゼロより大きい値を指定すると、他のパスのもっと先のほうに接続します。

 具体的には、他のパスの複数のセグメントについて、各セグメントの長さを1.0として、始点からの長さとして指定します。つまり、1.0を指定すると、最初のセグメントの終点に接続し、1.5を指定すると、2番目のセグメントの中点に接続します。

 次の例では、右からパス位置を0.5、1.5、2.5に指定しています。

 なお、ノードツールを使ってオリジナルパスを選択すると、次のように、ドラッグすることでパス位置を指定できるハンドルが表示されるので、そのハンドルをドラッグしたほうが数値で直接指定するよりも簡単です。

 (パス位置を指定するハンドルと一緒に、角度距離を指定できるハンドルも表示されるのですが、操作が簡単ではないのでおススメしません。将来のバージョンでもっと使いやすくなることを期待します。)

 このエフェクトを適用した状態からプレーンSVG形式ファイルに保存すると、始点パスと終点パスの部分はオリジナルパスの一部に取り込まれた状態で保存されます。