ActionScript: 2007年12月アーカイブ

ランダムっぽく見えるけど何度実行しても同じ値が返される関数。
値は固定の値がほしいけど、一見ランダムに見える値がほしくて作ったもの。
param と i の値を変更すれば 0 以上 1 未満の異なる数値が返されますが、
それぞれが同じ値であれば、常に同じ値を返します。


function quasiRandom( param:Number, i:Number ):Number
{
  var PI:Number = 3.14159265358979;
  var E:Number  = 2.71828182845905;
  var P:Number  = PI * ( param + 0.5 );
  var t:Number  = 173*i*i*i;
  var r:Number  = (i*E+t)*P%1;
  return r;
}

var param = 0.8;
trace( quasiRandom( param , 1 ) );// 0.645842281819569
trace( quasiRandom( param , 2 ) );// 0.556811317701431
trace( quasiRandom( param , 3 ) );// 0.998033861713338
trace( quasiRandom( param , 4 ) );// 0.234636667912127
trace( quasiRandom( param , 5 ) );// 0.53174649036373
trace( quasiRandom( param , 6 ) );// 0.154490083106793
trace( quasiRandom( param , 7 ) );// 0.367994200292742