これは何?
数千本の砂鉄の粒を、2本の棒磁石が作る磁場に沿って毎フレーム回転させるキャンバスです。棒磁石は両端のN極とS極から磁場を出す形で計算しているので、本物の砂鉄の実験と同じ模様になります。紙を叩くと砂鉄が跳ね、磁場の強い方へ寄っていきます。
使い方
- 「全部コピー」して貼り付け、
.ug-filingsの大きさを決めます(高さはmin-height)。 - 磁石の真ん中をつかむと移動、端をつかむと回転、軽く押すと極が入れ替わります。何もない紙を押すと叩いたことになり、なぞると砂鉄を払えます。
- スマホでは、磁石の上で触れ始めたときだけページのスクロールを止めます。紙の上を縦になぞるとページがスクロールし、横になぞると砂鉄を払えます。
- キーボードでは、枠にフォーカスして矢印キーで移動(Shiftで大きく)、
Q/Eで回転、Fで極の反転、スペースで叩く、1/2で動かす磁石を選びます。
カスタマイズ
- 砂鉄の数は
W * H / 85(900〜3400本)です。 - 磁石を3本にするなら、
mags.push()を1行足します。磁場は磁石の数だけ自動で足し合わせます。 - 揃う速さは
step()の5 + 30 * stir、叩いたときに寄っていく速さは50です。
注意
砂鉄の向きは毎フレーム全部計算します。模様が落ち着くと描画を止めるので、置いておくだけなら負荷はかかりません。叩き続けると砂鉄は極のまわりに集まっていき、元のばらばらな状態には戻りません(実物と同じです)。戻したいときはページを読み直してください。