みなさんこんにちは。はっともっとです。
これは AmusementCreators Advent Calender 2017 (https://adventer.org)の8日目の記事です。
この記事では、ビジュアルやアートのためのプログラミング言語と環境であるProcessing(https://processing.org)の紹介を行っていきます。プログラミング初心者にもおすすめできる導入の容易さ、豊富なリファレンスなどが特徴です。
Processingとは?
Processingのソフトをダウンロード(https://processing.org/download/)して、ソースコードを読み込むと下のような画面になります。
ProcessingソフトウェアはIDE(統合開発環境)になっています。文法にミスがあればすぐに注意がなされますし、左上の再生みたいなボタンを押せばすぐプログラムが実行されます。
画面だけじゃよくわからないと思うので、実際にProcessingで作られたものをお見せしましょう。
マウスポインタを動かすと画像が回転します。そして、これを描画するためのプログラムが下記のようになります。
PImage cat; void setup(){ //プログラム開始時に読み込む関数 size(500,500,P3D); //スクリーンのサイズを指定 frameRate(30); //1秒にdraw()を更新する回数 cat = loadImage("cat.jpg"); //画像の読み込み noStroke(); //文字や画像の縁取りをなくす } void draw(){ //この中の命令が繰り返されて画面が切り替わっていく background(100,100,100); //背景の色 textSize(50); fill(255,200,0); //塗りつぶす色 text("Hello Cat!",120,400); //文字の表示 fill(255,255,255); translate(width/2, height/2 - 50); //座標の基準位置を変更 rotateY(map(mouseX,0,width,-PI,PI)); //マウスのX座標に応じて画像を回転 beginShape(QUADS); //3D空間に画像をテクスチャとして貼り付けた平面を作成 texture(cat); vertex(-150,-150,0,0,0); vertex(150,-150,0,cat.width,0); vertex(150,150,0,cat.width,cat.height); vertex(-150,150,0,0,cat.height); endShape(); }
記述がかなりシンプルであることがお分かりいただけるでしょうか。
Processingのいいところ
①導入が簡単
個人的に、プログラミングで一番難しいのは「プログラムが書ける状態にする」ことだと思います。ターミナルでコンパイラをインストールするだとか、容量が数GBにも及ぶ機能豊富なIDEを正しく設定しなければいけないとか、それだけでやる気が削がれます。その点Processingは100MBちょっとのZIPファイルを解凍するだけでよく、書かなければいけないコードの量も少なめなので、プログラム初心者が学習をスタートするにはうってつけです。
②すぐに見栄えのするものができる
もともと芸術家向けに作られたということで、2D、3Dのグラフィック及び音声を簡単に扱えます。他の言語ではライブラリを読み込んで初期設定をして…と手間がかかるような処理もすぐ書けることから、アイデアを素早く形にすることに向いています。
③どこでも動く
ProcessingのソフトそのものがWindows,Mac,Linuxで動くほか、ブラウザで動かすことができるProcessing.js(さきほど示したサンプルがこのページで動いているのはこれ)もあり、環境を選びません。
④豊富なリファレンス
インターネット上に多くの解説、作品例が転がっています。例えばOpenProcessingというサービスでは、ユーザーによりアップロードされた作品をその場で見ることができるだけでなく、ソースコードも公開されているので、とても参考になります。
まとめ
以上、Processingの紹介でした。少しでも魅力が分かっていただければ嬉しいです。この記事ではあまり具体的な話をしませんでしたが、 AmusementCreators Advent Calender 2017 の次の私の記事、あるいは別の形で紹介できればと思っています。
それではまた。