元Webデザイナー兼コーダーの備忘録

ウェブデザインやプログラミング、ブログのカスタマイズなどについてアウトプットしています。

 メニュー

» HTML入門のまとめはこちらです。

Processing:極座標とデカルト座標:振り子のようなものを作る

「The Nature of Code」から極座標デカルト座標について取り上げます。前回の記事では、極座標からデカルト座標に変換する方法について学びました。今回は、振り子を模したものをProcessing上で作ります。振り子と言っても直線と円を描画するだけです。そして、それを回転させます。Processingでプログラムを書いて、動作を確認します。動作を確認できるところがProcessingの楽しいところです。

本記事の参考書籍は以下です。

振り子のようなものを作る

以下は、振り子を模したものの参考例です。振り子のようなものを作り、それを回転させるだけのプログラムです。

//Polar to Cartesian
float r;
float theta;

void setup(){
  size(200, 200);
  //初期化
  r = 75;
  theta = 0;
}

void draw(){
  background(255);

  //極座標からデカルト座標に変換
  float x = r * cos(theta);
  float y = r * sin(theta);

  //図形の描画
  fill(127);
  stroke(0);
  strokeWeight(2);
  translate(width/2, height/2);
  line(0, 0, x, y);
  ellipse(x, y, 48, 48);

  theta += 0.01;
}

プログラムを実行して確認することをおすすめします。

メモ

極座標からデカルト座標に変換した値をline()メソッドとellipse()メソッドの引数として渡します。そうすることで振り子が回転します。

void draw(){
  ...
  //極座標からデカルト座標に変換
  float x = r * cos(theta);
  float y = r * sin(theta);
  ...
  line(0, 0, x, y);
  ellipse(x, y, 48, 48);
  ...
}

まとめ

「The Nature of Code」から極座標デカルト座標について取り上げました。今回は、振り子を模したものをProcessing上で作り、それを回転させました。引き続き、「The Nature of Code」の内容を勉強します。

参考書籍

Javaの勉強にもなるので一石二鳥です。

» HTML入門のまとめはこちらです。