Processing
ロゴ Processingのロゴ | |
パラダイム | オブジェクト指向 |
---|---|
登場時期 | 2001年 |
設計者 | ケイシー・リース、ベンジャミン・フライ |
最新リリース | 4.4.7[1] ウィキデータを編集 - 2025年9月4日 (23日前) [±] [+/−] |
型付け | 強い型付け |
影響を受けた言語 | Design by Numbers |
プラットフォーム | クロスプラットフォーム |
ライセンス | GPL と LGPL |
ウェブサイト |
processing |
テンプレートを表示 |
Processing(プロセシング)は、ケイシー・リース (英語版)(Casey Reas)とベンジャミン・フライ (英語版)(Benjamin Fry)によるオープンソースプロジェクトであり、かつてはMITメディアラボで開発されていた。電子アートとビジュアルデザインのためのプログラミング言語であり、統合開発環境(IDE)である。アーティストによるコンテンツ制作作業のために、詳細な設定を行う関数を排除している。 視覚的なフィードバックが即座に得られるため、初心者がプログラミングを学習するのに適しており、電子スケッチブックの基盤としても利用できる。Java を単純化し、グラフィック機能に特化した言語といえる。
機能
[編集 ]Processing には
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
を持っていれば県名で指定することも可能である。
PShapejapan; floatmap_scale=0.25; intsquare_len=512; int[]Prefectures={2,3,5,7,11,13,17,19,23,29,31,37,41,43};// Prime numbers voidsetup(){ japan=loadShape("https://upload.wikimedia.org/wikipedia/commons/5/56/Blank_map_of_Japan.svg"); size(square_len,square_len); smooth(); noLoop(); } voiddraw(){ 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"); } voidprefecturesColoring(PShapenation,int[]prefectures,intc,floatn){ for(inti=0;i<prefectures.length;i++){ PShapeprefecture=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 から派生したプロジェクトとして
受賞
[編集 ]2005年、リースとフライは Processing に関する業績により、アルス・エレクトロニカのゴールデン・ニカ賞(ネットビジョン部門)を受賞した。
ライセンス
[編集 ]統合開発環境は GPL の条件で公開されている。
アプリケーションやアプレットに含まれるライブラリコードは LGPL の条件で提供、開発したプログラムは任意のライセンスで活用可能である。
名前
[編集 ]もともとリースとフライは processing.org が取得されていたため proce55ing.org というドメインを用いたが、しばらくして processing.org を取得した。proce55ing.org から取られた p5 という略称は、名前が変わったにもかかわらずときおり用いられる。
バージョン
[編集 ]関連項目
[編集 ]- Processing.js - ブラウザ上で動かすためのJavaScriptライブラリ
- openFrameworks
- cinder (英語版)
外部リンク
[編集 ]- 公式ウェブサイト
- Processing Foundation
- processing4 - GitHub
- Processing Foundation (page.processing) - Facebook
- Processing Foundation (@ProcessingOrg) - Medium
- processingorg (@processingorg) - Instagram
- processingorg (@processingorg) - X
- Processing - YouTubeチャンネル
- Processing Foundation - Vimeo
- processinghacks.com
- Processing Blogs
- processing.js
- p5js.org
オラクル |
| ||||||
---|---|---|---|---|---|---|---|
サードパーティ |
| ||||||
JVM言語 | |||||||
コミュニティ |
| ||||||
- ^ "Release 4.4.7"; 閲覧日: 2025年9月11日; 出版日: 2025年9月4日.