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

Inkscapeを使った垂直線と接線の描き方

 Inkscapeのスナップ機能を使うと、任意のパスから垂直に伸びるパスや接するパスを描くことができます。

(2023.1.7更新)

 言葉だけで説明するのは難しいので、サンプルの描き方に沿って紹介しようと思います。

 まず、次のように、まっすぐな線、折れ曲がった線、曲線の3本と、接続先のパス(青いパス)を描きます。

 そして、スナップダイアログ上で、スナップ対象(スナップ先)として「パス」にチェックを入れ、スナップ点(スナップでジャンプする点)として「シャープノード」と「スムーズノード」にチェックを入れ、さらにスナップの条件として「垂直線」と「接線」にチェックを入れておきます。

 (参考:スナップ機能(ドラッグ時の位置合わせ)

 このようにチェックすることで、スナップ点である「シャープノード(パスの端のノードと角のノード)」や「スムーズノード(カーブの先端にあるノード)」をドラッグすると、ちょうどスナップ対象のパスの上にピッタリ重なるように、かつ、そのノードの位置がちょうどスナップ対象のパスと垂直に交わるか、または接線となる位置にスナップされます。

 まず、まっすぐな線でやってみます。パスの先端のシャープノードを次のようにドラッグします。

 このまま青いパスの上までドラッグすると、パスのストローク上にピッタリ重なるようにスナップされます。そしてシャープノードがパスに対してスナップされたことを示すメッセージが表示されています。

 さらにパス上にスナップされた状態を保ちつつシャープノードを下のほうにドラッグしていくと、ちょうど緑のパスと青いパスが垂直になるところでスナップのメッセージが変わります。

 メッセージでは「→パス(垂線)」と表示され、垂直線となる位置にスナップしていることが分かります。

 これで、青いパスから垂直に伸びるパスを描くことができました。

 パス上にスナップされたままでさらにシャープノードを下のほうにドラッグすると、今度はちょうど緑のパスが青いパスの接線になる位置に来たところでスナップのメッセージが変わります。

 メッセージでは「→パス(接線)」と表示され、接線となる位置にスナップしていることが分かります。

 これで、青いパスの接線となるパスを描くことができました。

 さらにドラッグを続け、青いパスの反対側のあたりまでドラッグすると、再びメッセージが「→パス(垂線)」になるところがあります。

 このように、スナップ先のパスに沿ってノードをドラッグすると、ちょうど垂直線や接線になる位置でメッセージが変わるので、そこでドラッグを止めれば垂直線や接線が描けるというわけです。

 折れ曲がった線の角のシャープノードで同じことをすると、次のようになります。



 曲線の場合は次のようになります。


 この最後の接線の図の、接しているあたりを拡大してみると、次のようになっています。


 ドラッグしたスムーズノードの「ヒゲ(ノードハンドル)」を見ると、青いパスのアウトラインに対して接線になっていることがわかると思います。

 ところで、実用性の面から言えば、「垂直に交わる位置にノードを移動する」のではなく、「ある点で交わっているパス同士が垂直になるようにどちらかのパスの角度を調節する」ことができたほうが便利なような気もしたりします。この辺については「垂直線と接線の描き方(もっと自由に)」のほうでさらに考えてみました。