「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の勉強にもなるので一石二鳥です。