t-hom’s diary

主にVBAネタを扱っているブログです。

アート作品に最適なプログラミング言語 Processingを触ってみた。

今日は書店でProcessingというプログラミング言語の書籍を買ってきた。

Processingはアートに特化したプログラミング言語である。
そういわれてもあんまりイメージ湧かないと思うので、まずは実際にProcessingで製作された作品をご覧いただきたい。
youtu.be

すごい。。

もちろん一般的なプログラミング言語でもグラフィクスライブラリを用いれば似たようなこともできる。
VBAですら、頑張ればアート作品が作れないこともない。
thom.hateblo.jp


ではProcessingは汎用言語と何が違うのか。
たとえば他の言語だと、アート表現の本質と関係ない部分でけっこう面倒くさい処理をしないといけなかったりする。
Processingではシンプルな言語仕様と充実した描画機能によって創作の本質的な部分に専念できるようになっているのだ。

書籍の最初の方に出てくるサンプル(ちょっといじってる)はこんな感じ。

まず感動したのが特にライブラリを用いなくてもHSB形式の色指定ができること。
もちろんRGBも使えるが、RGBって実は色を扱う上ではかなりコンピューター寄りで、人間にとってはあんまり直感的ではない。

普段パソコンでのRGB色指定に慣れている方からするとあんまりピントこないかもしれないけど、たとえば赤色を濃くしてマルーンにしたり、薄くしてピンクにしたりといった操作をするのにRGBだと面倒くさい。赤を操作したいのに緑と青の値もバランスよくいじらないと実現できない。
HSB形式なら色相は赤で固定なので、あとは明度をいじるだけで直感的に明暗の操作ができる。

あと、色を指定してから図形を描くという文脈依存も面白い特徴だと思う。
他の言語の描画ライブラリは大抵、図形描画に座標と合わせて色の情報も付加するので図形を描く毎に色を指定するのだが、Processingでは一度色を指定するとそのまま同じ色で連続描画することができる。
もちろん途中で色指定を変えればそれ以降は違う色になる。
これって、筆に絵具を取る感覚に近いような気がする。

文脈依存はバグを生みやすいので汎用言語ではなるべく避けたいけれど、直感的で楽なのでアート作品を作る用途だとこういうやり方の方が向いてるのかもしれない。


さて、突然アート作品ってまた突飛なことをやりだしたなと思われるかもしれないが、実は別にアートを作りたいという訳ではない。

プログラミングでグラフ(グラフ理論のアレ)を視覚的に扱いたいという想いが以前からあって、以前こういう記事を書いたのだが、いかんせんこの分野は門外漢なのでなかなかうまくいかずにもどかしい。
thom.hateblo.jp

そこで、図形の扱いに長けたProcessing言語を使うことで余計な複雑さを排して図形を扱うアルゴリズムを考えることに専念できるのではないかと考えた。

Processingで作図系のプログラミング技術を身に付ければ、他の言語にノウハウだけ持ち帰ることができるのではないかという魂胆である。

まぁ実際のところ挫折せずにどこまで行けるかはやってみないと分からないけど、とりあえずこの書籍1冊分くらいはさくっと終わらせたいと思う。

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。