Processingを使ってみた
Javaだし、大変そう。という先入観が有って今まで触って無かった「Processing」。最近、使い始めてみました。
Processing.org
http://processing.org/
ライブラリの充実した環境くらいのイメージだったのですがインストールしたProcessingを起動するとIDEが表示され簡単にプログラムが始めれました。
もっと色々と設定が必要だったり、プログラムは別途エディタを準備する必要が有るかと思っていたので、これはとても嬉しい誤算でした。
IDEはこんな感じです。
「再生マーク」でアプリを実行可能です。 print() や println() でデバック出力などを行った場合には下部の黒い部分に出力されます。
メニューの「Examples...」でこの様なウィンドウを表示できます。これはサンプルコードで、ダブルクリックすると表示されます。
この様にサンプルが本体に付属していたり、同じく付属のリファレンスがオフラインでも閲覧可能なのが良かったです。
関数
基本的な関数や描画関連の関数の記述方法はこの様に成っています。直感的&シンプルな記述で描画が可能です。
関数 | 説明 | 記述例 |
---|---|---|
size(w, h); | キャンバスのサイズ | size(320, 240); |
background(r, g, b); | 指定色でキャンバスをクリア | background(255,0,0); |
stroke(r, g, b); | 枠線やラインの描画色 | stroke(0, 255, 0); |
line(x1, y1, x2, y2); | ラインの描画 | line(10, 10, 50, 10); |
rect(x, y, width, height); | 四角形(長方形)の描画 | rect(10, 10, 50, 50); |
quad(x1, y1, x2, y2, x3, y3, x4, y4); | 四角形(長方形以外も可能)の描画 | quad(30, 10, 100, 50, 70, 150, 10, 80); |
triangle(x1, y1, x2, y2, x3, y3); | 三角形の描画 | triangle(30, 75, 58, 20, 86, 75); |
ellipse(x, y, width, height); | 円/楕円の描画 | ellipse(100, 100, 80, 50); |
色の指定は以下のようなバリエーションが有ります
記述 | 説明 |
---|---|
background(gray) | RGBにgrayに指定した値 |
background(gray, alpha) | RGBにgrayに指定した値とアルファ値 |
background(red, green, blue) | RGB値 |
background(red, green, blue, alpha) | RGB値とアルファ値 |
background(hue, saturation, brightness) | colorMode()でHSBに設定されている場合HSB値 |
background(hue, saturation, brightness, alpha) | colorMode()でHSBに設定されている場合HSB値とアルファ値 |
background(hex) | 16進background(#FFCC00) |
その他のにも setup() や draw() など特別な関数(メソッド)が有ります。
setup() に記載した内容は起動時に1度だけ実行されます。
draw() に記載した内容は一定間隔で繰り返し実行されます。
int r = 10; int add = 1; void setup() { size(200, 200); noStroke(); } void draw() { background(0); ellipse(100, 100, r, r); r += add; if (r <= 10 || r >= 100) { add *= -1; } }
まとめ
Processingは使うまではライブラリが充実したJavaプログラミング環境くらいのイメージで居たのですが実際はJavaの複雑だったり面倒臭い部分を上手い具合にラッピングされた開発環境になっており、プログラム初心者にもおすすめ出来るくらい凄く取っ掛かりの良い環境でした。
簡単に沢山のOS向けに実行ファイルを作れるも良いですね。
関連情報
Processing : FLAB
http://www.vision.cs.chubu.ac.jp/P5/html/
Processing : FLAB
http://www.vision.cs.chubu.ac.jp/P5/html/
動画像処理: computer vision with proce55ing
http://www.vision.cs.chubu.ac.jp/VU/html/index.html