「note」に引っ越し中です。移動したページごとに移動先へのリンクを作っていく予定です。

Inkscapeの図形を小さい丸で埋める

 このページでは、Inkscapeを使って小さい丸(ドット)を図形の内側に敷き詰める方法について考えてみました。 

(2024.05.17更新)

 簡単に思い付くのは、小さい丸(円オブジェクト)をまず並べておいて、それをパスの形にクリッピングするという方法です。

 ただ、この方法ではちょうどパスのアウトラインをまたぐ端っこの丸が欠けた形になってしまいます。ここでは最初のサンプルのように敷き詰めた丸のどれも欠けていない敷き詰め方を考えてみます。

 まずパス(この例では星形オブジェクト)のフィル(内側)を一色で塗りつぶします。色はあとで変更できるので何でもいいです。

 次に背景に色を付けます。例えば大き目の矩形を描いて、敷き詰め対象のパスとは違う色(なんでもいい)で塗ります。

 次にこのパスの左上、少し離れたところに敷き詰めたい丸を描きます。

 この丸(円オブジェクト)のストロークの色は他と区別できる色であれば何でもいいですが、フィルは「アンセット」にします。「アンセット」にすると次のように黒く表示されます。


 そして「タイルクローン」機能を使ってこの小さい円オブジェクトのクローンをたくさん生成して敷き詰め対象のパス(星形)に重なるように縦横に並べます。最終的にはここで生成したクローンのうち、パスの上に重なっていないクローンを全部削除することで、パスの内側に敷き詰めたような状態にすれば完成です。

 タイルクローンを作成ダイアログを表示させ、タイルクローンを作成ダイアログのシフトタブで次のように縦横にクローンを並べたときの間隔を指定します。

 さらにトレースタブで、重なった位置の後ろ側の色を生成したクローンのフィルに写し取るよう指定します。

 そしてダイアログの下のほうで縦と横に並べる数を指定して作成ボタンをクリックします。並べる数はパス全体が覆われるような数にします。例えば作成ボタンと削除ボタンを交互にクリックしながら少しづつ並べる数を変えていってちょうどよい数に調整します。

 そうすると次のようにパス全体を覆うようにクローンが生成されます。

 青い星形オブジェクトに完全に重なっているクローンのフィルはタイルクローンのトレース機能によって星形オブジェクトの青色を写し取って塗りつぶされます。これはクローン元とした左上の円オブジェクトのフィルを「アンセット」にしていることの効果です。

 ちなみに一部拡大してトレース機能がどのような結果を生んでいるかを見ると、次のようになっています。

 青い星形と緑の背景のどちらにも重なっているクローンのフィルは青と緑を混ぜた色になっています。

 次にこのクローンの中で星形と同じ色(青)になっているクローンのみを選択状態にします。

 どれでもいいので青色のクローンの上でマウスの右ボタンを押し、メニューで同じオブジェクトを選択 > フィルの色が同じを操作します。

 そうするとすべての青色のクローン(と青色の星形オブジェクト)が選択状態になります。

 ここでメニューから編集 > クローン > クローンをリンク解除を操作します。そうすると選択状態になっている青色のクローンがクローンから通常のオブジェクト(円オブジェクト)に変換されます。変換しなくても特に不都合はないと思いますが、その後の編集が分かりやすくなるのでこうしておきます。

 あとは選択状態のオブジェクトを他の場所に移動し、不要な元の星形オブジェクトを削除し、ストロークの色を消せば完成です。

 ただ、この手順だと星形の縁から離れた位置にある円オブジェクトだけが残るので、敷き詰めた全体の形はあまりいい感じではありません。

 もう少しもとの形に近くなるように敷き詰めるには、星形に完全に重なっている円オブジェクトだけを選択するのではなく、星形に少しでも重なっている円オブジェクトだけを選択して残すようにします。

 どうするかというと、さきほどは星形の色(青)と同じ色の円オブジェクトに対して「フィルの色が同じ」オブジェクトを選択させる操作をしましたが、代わりに背景(緑)と同じ色の円オブジェクトに対して「フィルの色が同じ」オブジェクトを選択させ、それを削除するようにします。

 そうすると星形に少しでも重なっている円オブジェクトは残るので、前のものよりも元の形がはっきりするように敷き詰めることができます。

 もちろん敷き詰める円オブジェクトをもっと小さくすれば形がはっきり分かるようになります。

 トレースタブ上でシフトや拡大縮小などのパラメータとして「ランダム化」を設定(例えば30%ぐらい)すれば乱雑に並んだドットにすることもできます。