Processing
Processingのロゴ | |
パラダイム | オブジェクト指向 |
---|---|
登場時期 | 2001年 |
設計者 | ケイシー・リース、ベンジャミン・フライ |
最新リリース | 4.3[1] - 2023年7月26日 [±][+/−] |
型付け | 強い型付け |
影響を受けた言語 | Design by Numbers |
プラットフォーム | クロスプラットフォーム |
ライセンス | GPL と LGPL |
ウェブサイト |
processing |
Processing︵プロセシング︶は、ケイシー・リース︵Casey Reas︶とベンジャミン・フライ︵Benjamin Fry︶によるオープンソースプロジェクトであり、かつてはMITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境︵IDE︶である。アーティストによるコンテンツ制作作業のために、詳細な設定を行う関数を排除している。
視覚的なフィードバックが即座に得られるため、初心者がプログラミングを学習するのに適しており、電子スケッチブックの基盤としても利用できる。Java を単純化し、グラフィック機能に特化した言語といえる。
Processing のIDE
Processing にはsketchbook︵ と呼ばれる必要最小限のIDEが含まれている。
Processing でのプログラミングでは、全ての定義されたクラスは Java の内部クラスのコードとして扱われ、コンパイルされる。すなわち、クラス内の静的変数や静的メソッドは通常禁じられており、それらを使うにはユーザーが明示的に純粋Javaモードを指定しなければならない。
GPUドライバが提供するAPIが簡略化されてProcessingのAPIとして提供されているため、高度な表現を行う場合には不便に感じやすい。例えば、OpenGLで標準的にサポートされている環境マッピングが、APIとして提供されていないため、独自に実装する必要がある等である。
作成したプログラムをアプリケーションとしてエクスポートすることができる。また、processing.jsの機能を用いればネット上でコードの実行結果が見られる。
機能[編集]
プログラム例[編集]
Hello World[編集]
println("Hello World!");
上記も正しいプログラムだが、次のようなコードの方がProcessingの雰囲気をよく表している。
text("Hello World!", 20,50);
図形を描く[編集]
rect(20, 20, 100, 80);//四角形
ellipse(140, 140, 40, 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 numbers
void 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 ︵があり、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がリリース。 ●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チャンネル ●Processing Foundation - Vimeo ●processinghacks.com ●Processing Blogs ●processing.js ●p5js.org- ^ "Processing is open source and is available for macOS, Windows, and Linux."; 閲覧日: 2023年8月15日; 出版日: 2023年7月26日.