Processing

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Processing
ロゴ
パラダイム オブジェクト指向
登場時期 2001年
設計者 ケイシー・リース英語版ベンジャミン・フライ英語版
最新リリース 2.1 / 2013年10月27日(5か月前) (2013-10-27
型付け 強い型付け
影響を受けた言語 Design by Numbers
プラットフォーム クロスプラットフォーム
ライセンス GPLLGPL
ウェブサイト http://processing.org/

Processing(プロセシング)は、キャセイ・レアス英語版Casey Reas)とベンジャミン・フライ英語版Benjamin Fry)によるオープンソースプロジェクトであり、かつてはMITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境である。 視覚的なフィードバックが即座に得られるため、初心者がプログラミングを学習するのに適しており、電子スケッチブックの基盤としても利用できる。Java を単純化し、グラフィック機能に特化した言語といえる。

機能[編集]

Processing のIDE

Processing にはsketchbookスケッチブックと呼ばれる必要最小限のIDEが含まれている。

Processing でのプログラミングでは、全ての定義されたクラスは Java の内部クラスのコードとして扱われ、コンパイルされる。すなわち、クラス内の静的変数や静的メソッドは通常禁じられており、それらを使うにはユーザーが明示的に純粋Javaモードを指定しなければならない。

Examples[編集]

Hello World[編集]

println("Hello World!");

上記も正しい プログラムだが、次のようなコードの方が Processing の雰囲気をよく表している。

PFont font=loadFont("myfont.vlw");
textFont(font,20);
text("Hello World!", 30,50);

日本地図の塗り分け[編集]

ウィキメディアのSVG形式の日本地図の白地図を読み込み、Prefectures という配列に記述された番号の県のみ塗り分けるプログラム。英語版の例のように地図データが各県ごとに name を持っていれば県名で指定することも可能である。

PShape japan;
float map_scale=0.25;
int square_len=512;
int [] Prefectures={1,3,5,7,11,13,17,19,23,29,31,37,41,43};  // Prime numbers
 
void setup() {
  japan=loadShape("http://upload.wikimedia.org/wikipedia/commons/5/56/Blank_map_of_Japan.svg");
  size(square_len,square_len);
  smooth();
  noLoop();
}
 
void draw() {
  background(color(0, 0, 255));  // blue
  japan.disableStyle();
  japan.getChild("ground").getChild(0).scale(map_scale);
  fill(color(255, 255, 0));  // yellow
  shape(japan.getChild("ground").getChild(0), square_len * map_scale, square_len * map_scale);
  prefecturesColoring(japan ,Prefectures , color(255, 0, 255), map_scale);  // magenta
  saveFrame("map output.png");
}
 
void prefecturesColoring(PShape nation, int[] prefectures, int c, float n){
  for (int i=0; i < prefectures.length; i++) {
    PShape prefecture=nation.getChild("ground").getChild(0).getChild(prefectures[i]);
    prefecture.disableStyle();  // Disable the colors found in the SVG file
    prefecture.scale(n);
    fill(c);  // Set our own coloring
    noStroke();
    shape(prefecture, square_len * map_scale, square_len * map_scale);  // Draw a single prefecture
  }
}

関連プロジェクト[編集]

Processing から派生したプロジェクトとしてWiringワイアリングがあり、Processing の統合開発環境に単純化したC言語を組み合わせて、アーティストがマイクロコントローラをプログラムできるようにするものである。Wiring を使ったハードウェアプロジェクトとして Arduino がある。また、フランシス・リのMobile Processingモバイル・プロセシングは、Processing を使って書かれたソフトウェアを Java を内蔵した携帯機器上で実行させるプロジェクトである。

受賞[編集]

2005年、レアスとフライは Processing に関する業績により、アルス・エレクトロニカのゴールデン・ニカ賞(ネットビジョン部門)を受賞した。

ライセンス[編集]

統合開発環境は GPL の条件で公開されている。

アプリケーションやアプレットに含まれるライブラリコードは LGPL の条件で提供、開発したプログラムは任意のライセンスで活用可能である。

名前[編集]

もともとレアスとフライは processing.org が取得されていたため proce55ing.org というドメインを用いたが、しばらくして processing.org を取得した。proce55ing.org から取られた p5 という略称は、名前が変わったにもかかわらずときおり用いられる。

バージョン[編集]

  • 2008年11月24日:初のリリースバージョンである1.0がリリース。
  • 2013年6月:2.0がリリース。

関連項目[編集]

外部リンク[編集]