一方向の波動運動…ひとつ(大きさ変化)
ひとつの円が、サインカーブ上を運動します。 動きは、ひとつ(軌跡なし)と同じですが、円の大きさが変化します。角度をdaずつ増やし、360度になるまでの間、円の大きさを0.5ずつ増加させます。角度angleが360以上になったら、angleをゼロにするとともに、円の大きさを初期値(ここでは2)に戻します。
クリックで停止⇔再開
【リスト SinCurve3】
float angle; // 位置(角度)
float da = 5; // 角度の変化量
float x, y;
float d = 2; // 円の直径
float h =50; // 振幅
void setup() {
size(150, 150); //描画するための画面
fill(0);
}
void draw() {
background(255); //画面背景を白でクリア
x = angle*width/360.0;
y = height/2.0 - sin(radians(angle))*h;
ellipse(x, y, d, d);
angle = angle + da; //角度を増加
if (angle>=360) {
angle=0; // 360を超えたので、0に戻す
d = 2; // サイズを初期値に戻す
} else {
d = d+0.5; //直径を増加
}
}