スネーキング振り子

周期が少しずつ違う振り子を並べると、蛇のようにクネり、時と共にさまざまな文様があらわれます。

IchigoLatte JS でシミュレートしてみましょう。

// snaking swing
var mws = new Array(24);{
  mws[0] = 10000;
  var i=1;
  while(i<mws.length){
    mws[i] = mws[i-1]-200;
    i=i+1;
  }
}

var t = 0;
while(!btn()){
  cls();
  var i=0;
  while(i<mws.length){
    var x=sin8(mws[i]*t/1000);
    lc(32/2+(x>>5), i);
    log("O");
    i=i+1;
  }
  sleep(33);
  t=t+1;
}

プログラムはこんな感じ。

いい動きですね。

振りをカウントしてみると、再度揃った時には 50,49,48,... と1回ずつ下がっています。これは振動の最小公倍数的なものでしょうか、面白いですね。