軌道上の点Lissajous Dots
縦と横で周波数の異なる正弦波がつくるリサージュ曲線の上を、たくさんの点が等間隔に並んで行進するループです。
どう計算しているか
- 曲線上の位置は媒介変数 s を使って x = sin(「横の周波数」·2πs + 位相差)、y = sin(「縦の周波数」·2πs) で求め、「大きさ」で拡大します。「軌道線」をオンにすると、この曲線全体を薄く描きます。
- 「点の数」が n のとき、k 番目の点は s = k/n + 「1ループの周回数」·t に置きます。全員が同じ速さで曲線を進むので、間隔を保ったまま行進して見えます。
- 「結ぶ相手」を 1 以上にすると、k 番目の点と k + c 番目の点を線で結びます(番号は n で割った余りで循環)。たくさんの線が重なって糸かけのような模様になります。
- 点の半径は 1 + 「点の脈動」·sin(2π(「脈動の波数」·k/n − t)) 倍に変化し、大小の波が点の列を伝わっていきます。
p(s) = R·(sin(2πa·s + δ), sin(2πb·s)), s = k/n + speed·tループがつながる理由
周波数がどちらも整数なので、曲線は s が 1 増えると完全に元へ戻ります。点は 1 ループで整数周だけ進み、脈動も sin の中の t が 1 進むと一周するため、最後のフレームは最初とつながります。
調整できるパラメータ
形
| 点の数 | 3 〜 400(初期値 90) |
|---|---|
| 横の周波数 | 1 〜 9(初期値 3) |
| 縦の周波数 | 1 〜 9(初期値 2) |
| 位相差 | 0 〜 1(初期値 0.25) |
| 大きさ | 0.2 〜 1.2(初期値 0.8) |
| 点の大きさ | 0 〜 40(初期値 7) |
| 軌道線 | オン/オフ(初期値 オン) |
| 結ぶ相手(0で無効) | 0 〜 60(初期値 0) |
| 線幅 | 0.5 〜 8(初期値 1.5) |
動き
| 1ループの周回数 | 1 〜 4(初期値 1) |
|---|---|
| 点の脈動 | 0 〜 1(初期値 0.5) |
| 脈動の波数 | 1 〜 12(初期値 3) |
同じ分類のシーン(点・軌道)
- 点・公転Dot Orbit格子に並んだ点がそれぞれ小さな円や往復の軌道をたどり、点ごとの位相のずれで波紋や渦の錯視が生まれるループです。
- 周転円・フーリエEpicycles回転する円をいくつも連ねた腕の先端が、整数周波数の重ね合わせによって対称なロゼット模様を描き続けるループです。
- 振り子の波Pendulum Wave1ループの往復回数が1回ずつ違う振り子を並べ、揃っては崩れる波や渦のような模様をつくるループです。
- 糸かけString Art円周上の点 i から点 i×m へ糸を張る掛け算の糸かけで、両端の点が回転するにつれて包絡線の形が変わるループです。
- 群れFlock小さな矢じりの群れが整数周波数の軌道に沿って泳ぎ、集まったり散ったりを繰り返す魚群のようなループです。
- ニュートンのゆりかごNewton's Cradle端の玉が振り下ろされてぶつかると反対側の玉が跳ね上がる、ニュートンのゆりかごを周期関数で再現したループです。
- 惑星の軌道Orbital Dance公転周期が整数比の2つの惑星を一定間隔で線で結び、線の残像が花のような模様を描いていくループです。
- パーティクルの図形Particle Shapes点が集まって図形をつくり、渦を巻きながら散らばって次の図形へ集まり直すことを繰り返すループです。
- SDF・シェーダーGLMetaballs整数周波数で周回する複数の円の距離関数をなめらかに合成し、液体のように溶け合う形を描くシェーダーのループです。
- ボロノイ・シェーダーGLVoronoi Cells整数周波数で漂う母点から最も近い点ごとに画面を分けるボロノイ分割を、細胞や境界線、等距離線で描くシェーダーのループです。