ProcessingProcessingのロゴ
パラダイムオブジェクト指向
登場時期2001年
設計者ケイシー・リース、ベンジャミン・フライ
最新リリース4.3[1]
Processing(プロセシング)は、ケイシー・リース(英語版)(Casey Reas)とベンジャミン・フライ(英語版)(Benjamin Fry)によるオープンソースプロジェクトであり、かつてはMITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境(IDE)である。アーティストによるコンテンツ制作作業のために、詳細な設定を行う関数を排除している。視覚的なフィードバックが即座に得られるため、初心者がプログラミングを学習するのに適しており、電子スケッチブックの基盤としても利用できる。Java を単純化し、グラフィック機能に特化した言語といえる。
機能Processing のIDE
Processing にはsketchbook(スケッチブック)と呼ばれる必要最小限のIDEが含まれている。
Processing でのプログラミングでは、全ての定義されたクラスは Java の内部クラスのコードとして扱われ、コンパイルされる。すなわち、クラス内の静的変数や静的メソッドは通常禁じられており、それらを使うにはユーザーが明示的に純粋Javaモードを指定しなければならない。
GPUドライバが提供するAPIが簡略化されてProcessingのAPIとして提供されているため、高度な表現を行う場合には不便に感じやすい。例えば、OpenGLで標準的にサポートされている環境マッピングが、APIとして提供されていないため、独自に実装する必要がある等である。
作成したプログラムをアプリケーションとしてエクスポートすることができる。また、processing.jsの機能を用いればネット上でコードの実行結果が見られる。 上記も正しいプログラムだが、次のようなコードの方がProcessingの雰囲気をよく表している。text("Hello World!", 20,50); ウィキメディアのSVG形式の日本地図の白地図を読み込み、Prefecturesという配列に記述された番号の県のみ塗り分けるプログラム。英語版の例のように地図データが各県ごとにnameを持っていれば県名で指定することも可能である。PShape japan;float map_scale=0.25;int square_len=512;int [] Prefectures={2,3,5,7,11,13,17,19,23,29,31,37,41,43}; // Prime numbersvoid setup() { japan=loadShape("https://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(ワイアリング) 2005年、リースとフライは Processing に関する業績により、アルス・エレクトロニカのゴールデン・ニカ賞(ネットビジョン部門)を受賞した。 統合開発環境は GPL の条件で公開されている。 アプリケーションやアプレットに含まれるライブラリコードは LGPL の条件で提供、開発したプログラムは任意のライセンスで活用可能である。 もともとリースとフライは processing.org が取得されていたため proce55ing.org というドメインを用いたが、しばらくして processing.org
プログラム例
Hello Worldprintln("Hello World!");
図形を描くrect(20, 20, 100, 80);//四角形ellipse(140, 140, 40, 50);//楕円
日本地図の塗り分け
関連プロジェクト
受賞
ライセンス
名前
バージョン
2008年11月24日:初のリリースバージョンである1.0がリリース。
2013年6月:2.0がリリース。
2015年9月:3.0がリリース。
2022年8月:4.0がリリース。
関連項目
Processing.js - ブラウザ上で動かすためのJavaScriptライブラリ
openFrameworks
cinder
外部リンク
公式ウェブサイト
Processing Foundation
processing4 - GitHub
Processing Foundation (page.processing) - Facebook
Processing Foundation (@ProcessingOrg) - Medium
processingorg (@processingorg) - Instagram
processingorg (@processingorg) - X(旧Twitter)
Processing - YouTubeチャンネル