振動運動リストに戻る    印刷する

放物線上の振動

放物線上で円が振動します。放物線は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; //二次関数の計算

Your browser does not support the canvas tag.

クリックで停止⇔再開
【リスト 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);
}

arigat アットマーク acm.org / copyright © info