画像ぐるぐる
http://google-mania.net/archives/760
見やすく整形してみた。タイマをかけて、定期的(5ms)毎に位置を更新してる。
算数がよくワカランので、この位置計算がどうなってるのか理解できない。。悲しいなぁ。
x4,y4がふれの最大で、x5,y5で負値にならない(左or上の画面外に行かない)ようにしてるんだよね?
x1〜x3, y1〜y3の値はどうやって決めてる?
x1,y1が周期の係数?x2,y2が前の画像とのずれの係数?x3,y3が位相?
x3,y3って、表示にどう影響するのかよく理解できない。
誰かおせーて!
R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; function A(){ for( i = 0; i < document.images.length; i++ ) {//document.images : 表示しているページ中のimageオブジェクトの配列 document.images[i].style.position = 'absolute'; document.images[i].style.left = Math.sin( R * x1 + i * x2 + x3 ) * x4 + x5; document.images[i].style.top = Math.cos( R * y1 + i * y2 + y3 ) * y4 + y5; } R++ } setInterval('A()',5 );
2007/12/31 updated
id:itaさんより回答もらいました。感謝。
http://q.hatena.ne.jp/1195584278#a780113
基本的に
sin(i * x2 + x3 ), cos(i * y2 + y3 )
をプロットしていますね。x2=y2ならば円あるいは楕円になりますが、ずれている場合左右と上下で
異なる振動数でゆれます。x2とy2の最小公倍数のiで元にもどります。x3, y3 はどの位置からスタートするかを決めていますが、長く時間が経過すれば元にもどるから、どこからスタートしても通る道筋は同じです。どこからスタートするかが違うだけです。