放物線上の振動
放物線上で円が振動します。放物線は2次関数(y = a * x * x)で表せます。この放物線の頂点は座標の原点にあります。放物線の頂点を画面の適切な位置(幅の中央で、下から10ピクセルの位置)に置くために、translate関数で座標を移動しています。translate(width/2.0, height-10); //座標原点の移動2次関数のx座標の値を-45から45の間で変化させ、y座標を計算します。 x座標の変化量dxは、xが-45より小さくなった時あるいは45より大きくなった時に正負を逆転させ、周期的な振動を作り出します。
if (x>45 || x<-45) { //x座標の動く範囲
dx = -dx;
}
x = x + dx; //x座標を動かす
y = a * x * x; //二次関数の計算
クリックで停止⇔再開
【リスト Quadratic】
float angle; // 位置(角度)
float x, y;
float d = 10; // 円の直径
float a = -0.05; // 二次式の係数
float len = 60; // 軌跡の円の半径
float dx = 1; //x座標の変化量
void setup() {
size(150, 150); //描画するための画面
fill(0);
}
void draw() {
background(255); //画面の背景を白でクリア
translate(width/2.0, height-10); //座標原点の移動
if (x>45 || x<-45) { //x座標の動く範囲
dx = -dx;
}
x = x + dx; //x座標を動かす
y = a * x * x; //二次関数の計算
ellipse(x, y, d, d);
}