Processing

Processingとは?

Wikiではこんな風に説明があります.

ある授業のTAをやっていたら,Processingという言語を使ってプログラムを作るという実習がありました.JAVAの上に乗ってる(表現が正しくないかもしれません)言語であり,C言語を初級程度に習得していればかなり簡単にプログラミングができます.それも,グラフィカルなプログラムを組もうとした場合に役に立ちそうです.

まだ,実態はよく分かっていませんが,セルオートマトンやニューラルネットのデモなどアニメーションなどを作ってみたいという人にはお勧めします.比較的に使われているようで,グーグルなどで検索をするとソースコードも沢山探すことができます.



インストール

JAVAが必要なので,適当にJAVAをインストールしてください.ここでは,省略します.Processingはここからダウンロードできます.Windows,Linuxなどのプラットフォームに対応しているようです.

ダウンロード後,ファイルを解凍したらインストール自体は終わりです.そして,Windowsの場合,解答したファイルの中の“processing.exe”を実行すれば起動することができます.後はソースコードを書いて実行するだけです.面倒な,コマンドラインからのコンパイルも必要ありません.



とにかく動かしてみる

Javaアプレット

このプログラムは,テーブル内の領域をクリックしている時にどんどん円が増殖していくという簡単なプログラムです.円はランダムな位置にランダムな大きさと色で出現します.

プログラミング初期において,少し努力しただけでそれなりの結果が出力されるというのは重要なことです.“Hello World !!”でもよいのですが,グラフィカルな結果であれば次のステップへの意欲がわいてきます.

ということで,何も理解していませんが参考サイトを基に以下の二つのプログラムを書いてみました.部分的に変なコードがあるかもしれませんが,気にしないでください.

[001]:ランダムに円を1000個配置する.

/*001*/
size(500,500);
background(255);
colorMode(RGB,256);

int i;
float u;

for(i=0;i<1000;i++){
    u=random(50);
    fill(random(256),random(256),random(256));
    ellipse(random(500),random(500),u,u);
}

参考サイト
http://tetraleaf.com/p5_reference_alpha/index.html

[002]:アニメーションを使って,クリック時に円を増やしていく.

/*002*/
float u;

void setup(){
    size(500,500);
    colorMode(RGB,256);
    frameRate(30);
    background(255,255,255);
    noLoop();
}

void draw(){
    u=random(150);
    fill(random(256),random(256),random(256));
    ellipse(random(500),random(500),u,u);
}

void mousePressed(){
    loop();
}

void mouseReleased(){
    noLoop();
}

参考サイト
http://yoppa.jpn.org/presen.php?itemid=178



ニューラルネットのデモ

操作方法は,キー“s”でネットワークの計算スタート,キー“e”でストップです.また,キー“n”で全体的にノイズを加えることが可能で,マウスのクリックによって手動でノイズを加えることもできます.

現在,その他の説明は何もありません.

Javaアプレット