パーティクルの図形Particle Shapes
点が集まって図形をつくり、渦を巻きながら散らばって次の図形へ集まり直すことを繰り返すループです。
どう計算しているか
- 「図形 1」〜「図形 4」で選んだ図形(なしは飛ばす)の輪郭上に、「点の数」の点を等間隔に配置します。1 ループをこの図形の数で等分し、各区間で今の図形から次の図形へ移ります。
- 各区間の最初の「図形を保つ時間」の割合だけ図形の形で止まり、残りの前半で散らばった位置へ、後半で次の図形の対応する点へ移動します。移動にはイージングをかけた線形補間を使います。
- 散らばった位置は、乱数で決めた半径(「散らばる広さ」以内)と角度の極座標です。この角度に 2π·「渦の強さ」·t を足して回すので、点は渦を巻くように動きます。
p = lerp(A, S, ease(k)) → lerp(S, B, ease(k)), S = r·e^{i(θ + 2π·swirl·t)}ループがつながる理由
最後の区間は最後の図形から最初の図形へ戻る移動なので、t = 1 で最初の図形に揃います。「渦の強さ」は整数なので、散らばった位置の回転もちょうど整数周で一致します。
調整できるパラメータ
形
| 図形 1 | なし・丸・三角・四角・五角形・六角形・星・十字・線 |
|---|---|
| 図形 2 | なし・丸・三角・四角・五角形・六角形・星・十字・線 |
| 図形 3 | なし・丸・三角・四角・五角形・六角形・星・十字・線 |
| 図形 4 | なし・丸・三角・四角・五角形・六角形・星・十字・線 |
| 点の数 | 20 〜 800(初期値 260) |
| 点の大きさ | 1 〜 20(初期値 5) |
| 図形の大きさ | 0.2 〜 1(初期値 0.75) |
動き
| 図形を保つ時間 | 0 〜 0.8(初期値 0.35) |
|---|---|
| 散らばる広さ | 50 〜 700(初期値 380) |
| 渦の強さ | -3 〜 3(初期値 1) |
| シード | 0 〜 999(初期値 5) |
| イージング | linear・sine・quad・cubic・quint・expo・back・elastic |
同じ分類のシーン(点・軌道)
- 点・公転Dot Orbit格子に並んだ点がそれぞれ小さな円や往復の軌道をたどり、点ごとの位相のずれで波紋や渦の錯視が生まれるループです。
- 軌道上の点Lissajous Dots縦と横で周波数の異なる正弦波がつくるリサージュ曲線の上を、たくさんの点が等間隔に並んで行進するループです。
- 周転円・フーリエEpicycles回転する円をいくつも連ねた腕の先端が、整数周波数の重ね合わせによって対称なロゼット模様を描き続けるループです。
- 振り子の波Pendulum Wave1ループの往復回数が1回ずつ違う振り子を並べ、揃っては崩れる波や渦のような模様をつくるループです。
- 糸かけString Art円周上の点 i から点 i×m へ糸を張る掛け算の糸かけで、両端の点が回転するにつれて包絡線の形が変わるループです。
- 群れFlock小さな矢じりの群れが整数周波数の軌道に沿って泳ぎ、集まったり散ったりを繰り返す魚群のようなループです。
- ニュートンのゆりかごNewton's Cradle端の玉が振り下ろされてぶつかると反対側の玉が跳ね上がる、ニュートンのゆりかごを周期関数で再現したループです。
- 惑星の軌道Orbital Dance公転周期が整数比の2つの惑星を一定間隔で線で結び、線の残像が花のような模様を描いていくループです。
- SDF・シェーダーGLMetaballs整数周波数で周回する複数の円の距離関数をなめらかに合成し、液体のように溶け合う形を描くシェーダーのループです。
- ボロノイ・シェーダーGLVoronoi Cells整数周波数で漂う母点から最も近い点ごとに画面を分けるボロノイ分割を、細胞や境界線、等距離線で描くシェーダーのループです。