点・公転Dot Orbit
格子に並んだ点がそれぞれ小さな円や往復の軌道をたどり、点ごとの位相のずれで波紋や渦の錯視が生まれるループです。
どう計算しているか
- 画面を「分割数」で決まる正方形の格子に区切り、各格子点を軌道の中心にします。
- 各点の角度は a = 2π·ease(fract(t − ずれ)) で求めます。「軌道」が円なら (cos a, sin a)、横往復・縦往復なら sin a だけ、8の字なら (sin a, sin 2a / 2) に「軌道の半径」を掛けて中心からずらします。
- 「ずれ」は「位相のずれ方」で選んだ量(中心からの距離、角度、斜め方向など)に「ずれ量」を掛けた値です。隣り合う点のタイミングが少しずつ違うため、全体として波や回転のような模様が見えます。
- 「表示」でメッシュを選ぶと、動いた後の点を縦横の隣同士で線で結びます。点の色は位相のずれの小数部分でパレットから選びます。
a = 2π·ease(fract(t − phase·spread)), p = c + r·(cos a, sin a)ループがつながる理由
fract(t − ずれ) は t が 0 から 1 まで進むとちょうど一周して元の値に戻ります。イージング後も 0 と 1 はそれぞれ角度 0 と 2π に対応するので、すべての点が最初の位置に戻ります。
調整できるパラメータ
形
| 表示 | 点・メッシュ・点+メッシュ |
|---|---|
| 分割数 | 4 〜 60(初期値 18) |
| 点の大きさ | 0.02 〜 1(初期値 0.28) |
| 線幅 | 0.5 〜 8(初期値 1.5) |
動き
| 軌道 | 円・横往復・縦往復・8の字 |
|---|---|
| 軌道の半径 | 0 〜 1.5(初期値 0.45) |
| 位相のずれ方 | 同時・放射・角度・渦巻き・斜め・横・縦・市松・ランダム |
| ずれ量 | 0 〜 4(初期値 2) |
| イージング | linear・sine・quad・cubic・quint・expo・back・elastic |
同じ分類のシーン(点・軌道)
- 軌道上の点Lissajous Dots縦と横で周波数の異なる正弦波がつくるリサージュ曲線の上を、たくさんの点が等間隔に並んで行進するループです。
- 周転円・フーリエEpicycles回転する円をいくつも連ねた腕の先端が、整数周波数の重ね合わせによって対称なロゼット模様を描き続けるループです。
- 振り子の波Pendulum Wave1ループの往復回数が1回ずつ違う振り子を並べ、揃っては崩れる波や渦のような模様をつくるループです。
- 糸かけString Art円周上の点 i から点 i×m へ糸を張る掛け算の糸かけで、両端の点が回転するにつれて包絡線の形が変わるループです。
- 群れFlock小さな矢じりの群れが整数周波数の軌道に沿って泳ぎ、集まったり散ったりを繰り返す魚群のようなループです。
- ニュートンのゆりかごNewton's Cradle端の玉が振り下ろされてぶつかると反対側の玉が跳ね上がる、ニュートンのゆりかごを周期関数で再現したループです。
- 惑星の軌道Orbital Dance公転周期が整数比の2つの惑星を一定間隔で線で結び、線の残像が花のような模様を描いていくループです。
- パーティクルの図形Particle Shapes点が集まって図形をつくり、渦を巻きながら散らばって次の図形へ集まり直すことを繰り返すループです。
- SDF・シェーダーGLMetaballs整数周波数で周回する複数の円の距離関数をなめらかに合成し、液体のように溶け合う形を描くシェーダーのループです。
- ボロノイ・シェーダーGLVoronoi Cells整数周波数で漂う母点から最も近い点ごとに画面を分けるボロノイ分割を、細胞や境界線、等距離線で描くシェーダーのループです。