[p5]Processing情報発信サイト「proce55ing.walker(α)」リリースしました

Written by uechoco 4月 05

proce55inginfo-captureed-image以前にも告知していましたが、Processingの情報発信サイト「proce55ing.walkerを本日公開いたしました。

管理人が私を含めて3人おり、まずはブログ形式でprocessing関連の入門記事、バージョンアップ情報、関数の使い方、ライブラリの使いあた、マニアックな使い方などを発信していく予定です。

また、フォーラム(質問掲示板)を設置してありますので、随時processingに関する質問、およびサイトに関する質問・要望を受け付けています

ゆくゆくは日本で一番のprocessingポータル・コミュニティサイトにしていこうという意気込みです。processingに興味のある方は是非ご覧になってください。また「こんなコンテンツがあるといいよね」「こんな記事書いてほしい」などのご要望がありましたら、お気軽にフォーラムに書き込んでいただけると助かります。

[processing]新サイトを準備中です

Written by uechoco 3月 15

Processingだけを扱った新サイトを準備中です。私だけでなく、共同で立ち上げを予定しています。そのうちこのブログに投稿したProcessing関連の記事の多くを寄稿する予定です。近日中に開設する予定です。

っていう告知だけ。

[Processing]PVectorサンプル(1.0リリース記念)

Written by uechoco 12月 03

Processing 1.0リリース記念として、いくつか新しい機能のサンプルコードを書いてみました。

まずはPVectorクラス。リファレンスには英語で主な使い方は書いてあるものの、実際のソースコードはありませんでした。

リファレンスに従い、position(位置)、velocitiy(速度)、acceleration(加速度)をPVectorクラスで表した実用的なサンプルを書いてみたので、PVectorクラスの1つの使い方として参考にしてみてください。

Processing:
  1. PFont font;
  2. PVector position, velocity, acceleration;
  3. final int WIDTH = 250, HEIGHT = 250;
  4. final int STATUS_HEIGHT = 50;
  5.  
  6.   // 画面の初期化
  7.   size(WIDTH, HEIGHT + STATUS_HEIGHT);
  8.  
  9.   noStroke();
  10.   colorMode(RGB, 256);
  11.   background(255, 255, 255);
  12.  
  13.   // フォントの初期化
  14.   font = loadFont("ArialNarrow-14.vlw");
  15.   textFont(font);
  16.  
  17.   // 自機の初期化
  18.   position = new PVector(WIDTH / 2, HEIGHT / 2, 0);
  19.   velocity = new PVector(3, 4, 0);
  20.   acceleration = new PVector(0.01, 0.01, 0);
  21. }
  22.  
  23.   // 背景消去
  24.   fill(255, 255, 255, 30);
  25.   rect(0, 0, WIDTH, HEIGHT);
  26.   fill(255, 255, 255);
  27.   rect(0, HEIGHT, WIDTH, STATUS_HEIGHT);
  28.  
  29.   // 自機描画
  30.   fill(255, 0, 0);
  31.   ellipse(position.x, position.y, 10, 10);
  32.  
  33.   // 速度表示
  34.   fill(0, 0, 0);
  35.   text("Position: " + position, 0, height - STATUS_HEIGHT + 14);
  36.   text("Velocity: " + velocity.mag(), 0, height - STATUS_HEIGHT + 14 * 2);
  37.   text("Acceleration: " + acceleration.mag(), 0, height - STATUS_HEIGHT + 14 * 3);
  38.  
  39.   // 場所の更新
  40.   position.add(velocity);
  41.   if (position.x <= 0 || position.x>= WIDTH) {
  42.     velocity.x *= -1;
  43.     acceleration.x *= -1;
  44.     position.x += velocity.x;
  45.   }
  46.   if (position.y <= 0 || position.y>= HEIGHT) {
  47.     velocity.y *= -1;
  48.     acceleration.y *= -1;
  49.     position.y += velocity.y;
  50.   }
  51.   velocity.add(acceleration);
  52. }

実行画面(クリックで拡大)

サンプルコードのダウンロード:PVectorSample.zip

[Processing]1.0リリース

Written by uechoco 12月 03

そういえば、いつのまにかProicessingの正式版となる1.0がリリースされました。内部リビジョン番号は0162です。

Processing 1.0での変更点

  • ライブラリの変更
  • P2Dレンダラの復活
  • PShapeクラスによるSVG読み込みの対応
  • PVectorクラスの追加
  • コンパイラの変更
  • ソースコードのUTF-8化
  • JRE(JDK) 6.0 update 10への対応(ただし、genericsや拡張for文などのJava 1.5文法は未対応)
  • etc...

まだまだ知名度は低いものの、徐々に名前は広まっています。特に情報デザイン工学などを勉強している学生にとっては、常識に近くなっている気がします。

また、最近では、processing.jsなど、エンジンを移植する人もいるようです。

ゆっくりと、着実にProcessingは浸透していきます。

[Processing]Processing用のGeSHiハイライトファイルを作ってみた

Written by uechoco 4月 15

Processing用のGeSHiハイライトファイルを作成しました。MovableTypeからWordPressへの移行作業の副産物なんですが、とりあえず動いているし、ハイライトや関数リンクも大体問題ないので公開します。

GeSHiを使用しているシンタックス・ハイライト系であれば、きっと動くと思います。ざっと例を挙げましょう。

ダウンロードは以下のリンクです。

geshi-processing-1.0.0.zip

私はWordPressのiG:Syntax Hiliterプラグインを使っているので、プラグイン ディレクトリのsyntax_hilite.phpのdoHilite()関数のswitch-case文に以下を追加しています。

PHP:
  1. // Processing Highlight
  2.             case "p5code":
  3.                 $mType = "processing";
  4.                 $mTypeShow = "Processing";
  5.                 break;

こうすることで、p5codeというタグでハイライトができるようになります。