惑星の軌道Orbital Dance
公転周期が整数比の2つの惑星を一定間隔で線で結び、線の残像が花のような模様を描いていくループです。
どう計算しているか
- 内側の惑星は半径「内側の軌道半径」の円を「内側の周回数」回、外側の惑星は外側の円を「外側の周回数」回、1 ループの間に回ります。位置は (cos, sin) で求めます。
- 1 ループを「線の本数」等分した各時刻で、2 つの惑星の位置を直線で結びます。線の本数はパレットの色数の倍数に切り上げ、番号を色数で割った余りで色を選びます。
- 現在時刻から「残す線の割合」分だけさかのぼった線を描き、古い線ほど透明にします。2 つの周回数の比によって、線の束が異なる花びらの模様をつくります。
A(s) = r₁·e^{i2πf₁s}, B(s) = R·e^{i2πf₂s}, s = k/Nループがつながる理由
周回数がどちらも整数なので、i 番目の線と i + 本数番目の線はまったく同じ位置に引かれます。本数が色数の倍数なので色も一致し、ループの終わりから始めへ線の並びが途切れずにつながります。
調整できるパラメータ
形
| 内側の周回数 | 1 〜 20(初期値 13) |
|---|---|
| 外側の周回数 | 1 〜 20(初期値 8) |
| 内側の軌道半径 | 0.1 〜 0.95(初期値 0.55) |
| 線の本数 | 20 〜 600(初期値 240) |
| 残す線の割合 | 0.05 〜 1(初期値 0.6) |
| 線幅 | 0.25 〜 4(初期値 1) |
| 軌道と惑星 | オン/オフ(初期値 オン) |
| 大きさ | 0.3 〜 1.1(初期値 0.9) |
同じ分類のシーン(点・軌道)
- 点・公転Dot Orbit格子に並んだ点がそれぞれ小さな円や往復の軌道をたどり、点ごとの位相のずれで波紋や渦の錯視が生まれるループです。
- 軌道上の点Lissajous Dots縦と横で周波数の異なる正弦波がつくるリサージュ曲線の上を、たくさんの点が等間隔に並んで行進するループです。
- 周転円・フーリエEpicycles回転する円をいくつも連ねた腕の先端が、整数周波数の重ね合わせによって対称なロゼット模様を描き続けるループです。
- 振り子の波Pendulum Wave1ループの往復回数が1回ずつ違う振り子を並べ、揃っては崩れる波や渦のような模様をつくるループです。
- 糸かけString Art円周上の点 i から点 i×m へ糸を張る掛け算の糸かけで、両端の点が回転するにつれて包絡線の形が変わるループです。
- 群れFlock小さな矢じりの群れが整数周波数の軌道に沿って泳ぎ、集まったり散ったりを繰り返す魚群のようなループです。
- ニュートンのゆりかごNewton's Cradle端の玉が振り下ろされてぶつかると反対側の玉が跳ね上がる、ニュートンのゆりかごを周期関数で再現したループです。
- パーティクルの図形Particle Shapes点が集まって図形をつくり、渦を巻きながら散らばって次の図形へ集まり直すことを繰り返すループです。
- SDF・シェーダーGLMetaballs整数周波数で周回する複数の円の距離関数をなめらかに合成し、液体のように溶け合う形を描くシェーダーのループです。
- ボロノイ・シェーダーGLVoronoi Cells整数周波数で漂う母点から最も近い点ごとに画面を分けるボロノイ分割を、細胞や境界線、等距離線で描くシェーダーのループです。