みたにっき@はてな

三谷純のブログ

はじめてのProcessing

グラフィックスを簡単に扱えるProcessing言語というものを、を今まで使用する機会がなかったので試しに遊んでみました。
WindowsならダウンロードのページからWindows版をダウンロードして解凍するだけ。すぐに試せます。

さいしょの試みに、スピログラフの図形(内サイコロイド)を描いてみました。

プログラムコードは次のような感じ。たった18行。描画部分だけに専念できるので、ちょっと図形を描いてみよう、という目的には便利そうです。

int WINDOW_SIZE = 500;
size(WINDOW_SIZE, WINDOW_SIZE);
background(255, 255, 255);
stroke(128, 128, 255);
float R = 230;      // 外側の円の半径
float r = R * 0.43; // 内側の円の半径
float l = r * 0.6;  // 描画する点と内側の円の中心との距離
float px = WINDOW_SIZE / 2 + R - r + l;
float py = WINDOW_SIZE / 2;
float THETA_MAX = 360 * 100;
for(float theta = 0; theta <= THETA_MAX; theta += 0.1) {
  float rad = TWO_PI * theta / 360.0;
  float x = WINDOW_SIZE / 2 + (R - r) * cos(rad) + l * cos(rad * (R - r) / r);
  float y = WINDOW_SIZE / 2 + (R - r) * sin(rad) - l * sin(rad * (R - r) / r); 
  line(px, py, x, y);
  px = x;
  py = y;
}

下の図は、図の生成プロセスの説明を試みたもの。これもProcessingでパパッと作ることができました。便利。