オラオラ(以下 256回繰り返し). いつまで 1.0 使ってんだ!


recursively painting peiguins てなかんじで, 若干ハイになりつつ始まりました. 久々の更新ですね. 実は, 最近, 単に「これをインストールした」という事しか書いてない このコーナーを更新する動機を全く失っていまして, だって, そんなこと書いてもしょーがないじゃないですか. 「これをインストールしました.」「あ.そう」 意味ねえ!

いやああああ. すげえっすね. 何がって 1.1.11 ですよ. 捨て. まじで. 1.0 なんか, ステステ. って何いってんだ? と思う人も居るでしょう.

先日, GIMP を使おう! というコラムを www.linux.or.jp に書きましたが, その後, このほど新たな境地を開拓したんですよ. でも, まあ, ああいう表舞台にわざわざ書く程でもないんで(それに, あそこに記事を書くのは, 気合いと覚悟がけっこう大変だしな), というわけで, ここにその続編を書いて行きたい. すなわち,

絵画の自己言及, あるいは 如何にして 可算無限羽のペンギンを再帰的に生成したか

まず, この記事を 100% お楽しみいただくためには, gimp-1.1.x (多分 1.1.7 以降) をインストールする必要があることを お断り申し上げます. イキナリな要請ですね. コラムには, 「普通のフリーソフトをインストールするのに 必要なもの以上の特殊なノウハウは要らん」と書きましたが, ごめんなさい. 謝ります. 私, かっこつけてました. すみません. 1.1.x のインストールは並大抵ではございません. フルパワーを出すには, perl-5.005 をインストールする必要があります. バイナリが無ければソースからコンパイルです. gimp 本体のパッケージ以外に, なんやかんやと必要です. しかも, configure にはいろいろオプションをつけないとダメです. 場合によっては手で Makefile をいじることになるでしょう. 覚悟してください. とはいえ, 1.1 のパワーを見れば, それくらいのガッツは涌いて来るはず だ.

www.linux.or.jp の表紙バナーの png ファイルが製品, すなわち コンパイルしたバイナリパッケージだとすると, ソースコードは xcf ファイルでしょう. xcf はこれ です. パスやら何やらをちゃんと見るには, 1.0 ではダメですが, 1.0.x でも, レイヤがどうなってるか, くらいは見れるはず. gimp-1.0 の人も, 「なーんじゃ. 1.1 かいな. 俺はこの際, お呼びじゃないね」なんて言わずに, とりあえず このxcf をダウンロードして, 見れ! そして, 1.1.11 をインストールせよ. リングサーバ にもあるから, 近いところを捜して wget するんだ.

ただ, xcf ファイルは, bzip2 -9 したにもかかわらず 1MBytes もある. なんてこった. なんでこんなにデカい?

GIMP を持ってない人でも, 上の画像リンクを インライン イメージとしてではなく, 画像そのものをブラウザ窓に表示させれば, 原寸(456x356 pixel) で見れ るので, 半分サイズよりも感じが出るのでは?.

ベジェパスを使い倒せ!

ベジェパスで描いたのは, ペンギン本体と左手のパレット, 右手の 筆, それにペンギンが描いてる画の輪郭だ. ベジェパスは本当に便利だねえ. これで, 一旦閉曲線になったパスを開くことができりゃなあ. あと, アンカやコントロールポイントだけじゃなく, パス全体とか連結成分とかを掴んで移動できりゃなあ. って,お. なんだ. 連結成分だけなら, Alt 押しながらドラッグすりゃ 移動できるわ. 今知った. 日々是発見である. ははは. ますます便利な gimp であります.

パスのダイアログ には, パス操作モードを切替えるボタンが並んでいる. パスの操作は若干, キーバインドがめんどくさいので 慣れが必要だ. 普通にクリックすると, コントロールポイントを操作できる. これで,曲線の伸びる方向と, 伸びる深さを設定できる. コントロールキーを押しながらクリックで, アンカーポイントを移動できる. コントロールポイントは, アンカーポイントと一緒に移動する. シフトキーを押しながらクリックすると, 一個のコントロールポイントを独立して操作できる. アンカーポイントで曲線をグキッと曲げたい場合や, 曲率を変えたい場合などに使う.

そしてもちろん, Alt キーを押しながらクリックすると, パス全体を移動できる. WindowMaker では Alt クリックは問答無用で 窓移動なのだが, 実はクリックしてから Alt キーを押してもパスは移動で きる上に, こうすれば ウィンドマネージャがユーザの入力を拾わないので, 具合が良い

他に, アンカーポイントの追加と削除, 曲線編集専用モードなどの 切替えボタンがある. しかし, 閉曲線を開くというのが無いのが, 悔やまれる. ハサミボタン くれ! くれくれ. マジで.

ぬりぬり ぐにぐに

ペンギンがテカってますが, これはどうやって描いたんでしょう. 正解は, モデリングしたんです. 嘘です. ごめんなさい. もうしません. 実は全然簡単で, パスから選択しておいて, 色はテキトーなグレーで, ぼやけた ブラシを選んで, 輪郭付近をなぞるだけです. 手作業で. 胴体と手(じゃなくて羽)を別のパスにしてあるので, 胴体と羽を別立てでテカらせることができるのだ. 「違う物体は違うレイヤに」という原則に加えて, 「違う物体は違うパスに」というのも追加しよう.

頭の右上のテカリは, これよりもちょっと凝ってます. まず,ぼやけブラシでテキトーにグレーを塗る. それから, 指ツールで, それをぐにー っと延ばしたり縮めたりして, このテカリを作った. 簡単だとはいうものの, やはり, 実際に目の前にモノが無い場合は, テカリの入れ方はあるていど勘に頼らざるをえない.

ここでわしが強調したいことは, どうやって勘を働かせるか, ではなく, 指ツールは画筆の代わりとして優れているということだ. ボテっと絵の具を盛って, 筆でグニーと延ばしてゆくという描き方が できるので, かなり painting 的な面表現(なんてゆうんだ?)が できるのだ. とりあえず, フデで困ったら指ツール(smudge) を試して欲しい.

ところで, 指ツールに関しては, 1.1.11 の段階では, 俺の環境では確実に再現される, 即死バグがある. 指ツールを描画領域の外から使い始めたら, ブラシの判定が描画領域に入った瞬間, segmentation fault が起きる. 出発が描画領域内部なら, 一旦外へ出ても大丈夫だ. バグリストに subscribe しといたので, 1.1.12 では修正されることを期 待する. 1.1.12 は 12月まで出ないので, 11 を使う人は, 気を付けてくれ.

パレットの絵の具は, paint brush の「gradient 塗りオプション」 を使って作ったのだ. gradient 塗りは, ここで使ったのが最初ではなくて, 昔, 花火大会の画を描いたが, これの花火が gradient 塗りで作ってある. gradient 塗りは, ブラシが移動するにつれて, 選択した gradient にした がって色が変化してゆくのである. gradient に「full saturation」を選んで, あとはブラシでぐにー と 塗っただけでできあがりだ. 実にソレっぽいものが出来たではないか(自分で言うなよ).

画筆は木材のパタンで選択範囲を塗りつぶした後, 選択範囲を狭めてから筆の首のところを gradient で塗り, 筆先はやはり paint brush の「fade out オプション」で作る. これは, 指定ピクセルの移動にわたって fade out していくというものだ.

フラクタルで樹を描く

GIMP ニュース に IFS フラクタルプラグインを使った 樹の描き方というのが出てたので, 今回, それを真似して紅葉した樹を描いてみた. レイヤに IFS のデータは残っているので, xcf ファイルを開いてfilter/render/ifs compose を 起動すれば, 使い方がなんとなく判るはず. 幹もフラクタル全開なので, ここは指ツールで若干粒を潰してある. ちなみに,地面もこれで描いたし, 地面の落葉もこれで描いた.

プラグインによる操作画面は こんな感じだ 左上が, 操作領域で, 右上がプレビュー. 下の色パレットは, 計算を進めた時の色の変化の定義だ. 黒や濃げ茶から, 赤や黄色に変化することにしておけば, 紅葉した樹のいっちょあがりである. 簡単だ.

ここでは広葉樹を描いているが, フラクタルの伸びる方向を 違った風に定義してやれば, 針葉樹になるのもおもしろい. その場合は,針葉樹ぽい色を使えば, もっとソレっぽいぞ.

ところで, このプラグインは 1.1 にしか無いという話を聞いたが本当か? 本当なら, ここんところも gimp-1.0 では見れないということに なってしまうのだが.

ペンギンの再帰呼出

可算無限羽のペンギンの作り方は実は単純だ. こういうのを変形ツールの「パースペクティブ」と パス切抜きで作っておく. Navigator では png のアルファチャネルが正しく表示されず, 透明なところが真っ黒けになってしまう. 正確に見たければ, ファイルをダウンロードして GIMP で開いてくれ. 作り方は, まずパースペクティブでペンギンが描いている画の領域に ぴったり合うように変形し, それから, 手前にペンギンがかぶっているところをレイヤの「アルファチャネル から選択」を使って切りぬく.

こうやって作ったレイヤを画の中のペンギンが描いてる画の形と大きさに 合わせて 変形ツールの「パースペクティブ」で, 変形する. すると, 手前のペンギンと画筆のところはアルファチャネルで抜けて, ぴったり収まるというわけだ. これで再帰呼出の 2段目ができあがりだ. つまり, 製作プロセスで再帰になってるのは 2段目までで, そこから先は, こいつを小さく変形して貼りこんでいるだけです. 小さくなるにしたがって, 徐々に変形量は大きくなっていく. しかし,実際にはいつもぴったり合うわけではない. そういうところは, ケシゴムで修正したり, クローンツールで加筆した.

画が, 実物同様に色が鮮やかというのはおかしいので, 再帰呼出のループが深まるにつれて, 彩度を低くする. そうしないと, 風景と画の区別もつかんしな.

こういうのは, 別に俺が発明したわけではなく, メタ言語的な自己言及構造 が持つ, 本質的な解りにくさをパズルに取り入れて, 古くはルネサンスのだ まし画, ルドルフ二世の宮廷からパルミジアニーノのマニエリスムを経て エッシャーまで, 連綿とした伝統がある.

自動車と靴

よくかんがえてみたら, 俺も GIMP をコラージュとか, ちょっとデコボコ 付けるとか,色調を変えるとか, そういうことにしか使ってなかったんだよ ね. このプログラムで画を作りはじめたのは, linux.or.jp の表紙を描く ようになってからだから, わりと最近だ.

それにしても, このプログラムはすげえな. コレ, 手じゃあ無理やで. 俺は ダ・ヴィンチや パルミジァニーノ じゃ ねえからな. そういう意味では, このプログラムは「自動車」の範疇に属するのかも知 れない.

どういうことかというと, 車は, 歩けない人でも遠くへ, 行きたいところへ行ける道具である. そういう意味だ.

これに対して, 陸上競技靴のような道具もある. もともと走るのが速い奴が, それを使うことで, もっと速くなる, というものだ. クライミングのフラットソールとも言うな.

間違いなく自動車タイプに属するプログラムは, 3D モノである. レンダリングとか, ありゃちょっと, 手じゃあ無理でしょ う. 空間をユークリッドじゃなく双曲にしたりするのは, いくら「突面鏡の 自画像」のパルミジァニーノでも無理だよね. でも, 俺が作ってるような作品は, 手で描いて描けないこともないね.

GIMP も, 車だね. 車. 画なんか全然描いたこと無い人が, ソレ風のロゴなんか簡単にできちゃう もん. ロゴ生成スクリプトなんか, 勝手に運転してくれる車だよ. でもね, 運転手がどこへ行きたいのか解らないのに, どこかへ行くことだけは, いくら GIMP でも無理. 当然ですが.

おわりに

最後に, クレヂットを入れてできあがりだ. GIMP で作りましたというのと, わしの署名. 例の土星マークである.

gimp-1.1 系のパワーがお判りいただけただろうか. 他にも, 選択範囲の編集などに, いちいちチャネルを使うのではなく クイックマスクを使ったり, 1.1.11 ならでわ, の機能を活用して, この画は作られているのである.