糸かけString Art
円周上の点 i から点 i×m へ糸を張る掛け算の糸かけで、両端の点が回転するにつれて包絡線の形が変わるループです。
円周上の点 i から点 i×m へ糸を張る掛け算の糸かけ。両端の点がそれぞれ回り、包絡線が姿を変える
このシーンで作るパラメータ、色、エフェクトを変えて、GIF・APNG・WebP・MP4・WebM で書き出せます。
どう計算しているか
- 円周を「点の数」n 等分し、i 番目の点から (i ×「掛ける数」) を n で割った余りの番号の点へ直線を引きます。多数の直線が重なり、その包絡線(直線の群れが接してできる曲線)にカージオイドなどの形が浮かびます。
- 始点の角度には 2π·「始点の回転」·t、終点の角度には 2π·「終点の回転」·t を足します。両端の回り方が違うと、包絡線が回転したり形を変えたりします。
- 「枠」が四角のときは、円周上の方向 (cos, sin) を max(|cos|, |sin|) で割り、同じ方向の正方形の辺上に点を移します。
- 「色を巡回」をオンにすると、番号をパレットの色数で割った余りで糸をグループ分けし、それぞれ別の色で描きます。
i → (i·m mod n), θ = 2πi/n + 2π·speed·tループがつながる理由
「始点の回転」と「終点の回転」はどちらも整数なので、1 ループで両端の点がちょうど整数周して元の位置に戻ります。
調整できるパラメータ
形
| 点の数 | 12 〜 400(初期値 160) |
|---|---|
| 掛ける数 | 2 〜 12(初期値 3) |
| 大きさ | 0.3 〜 1.1(初期値 0.85) |
| 枠 | 円・四角 |
| 線幅 | 0.25 〜 6(初期値 1.25) |
| 線の濃さ | 0.05 〜 1(初期値 0.55) |
| 色を巡回 | オン/オフ(初期値 オン) |
動き
| 始点の回転 | -3 〜 3(初期値 1) |
|---|---|
| 終点の回転 | -3 〜 3(初期値 0) |
同じ分類のシーン(点・軌道)
- 点・公転Dot Orbit格子に並んだ点がそれぞれ小さな円や往復の軌道をたどり、点ごとの位相のずれで波紋や渦の錯視が生まれるループです。
- 軌道上の点Lissajous Dots縦と横で周波数の異なる正弦波がつくるリサージュ曲線の上を、たくさんの点が等間隔に並んで行進するループです。
- 周転円・フーリエEpicycles回転する円をいくつも連ねた腕の先端が、整数周波数の重ね合わせによって対称なロゼット模様を描き続けるループです。
- 振り子の波Pendulum Wave1ループの往復回数が1回ずつ違う振り子を並べ、揃っては崩れる波や渦のような模様をつくるループです。
- 群れFlock小さな矢じりの群れが整数周波数の軌道に沿って泳ぎ、集まったり散ったりを繰り返す魚群のようなループです。
- ニュートンのゆりかごNewton's Cradle端の玉が振り下ろされてぶつかると反対側の玉が跳ね上がる、ニュートンのゆりかごを周期関数で再現したループです。
- 惑星の軌道Orbital Dance公転周期が整数比の2つの惑星を一定間隔で線で結び、線の残像が花のような模様を描いていくループです。
- パーティクルの図形Particle Shapes点が集まって図形をつくり、渦を巻きながら散らばって次の図形へ集まり直すことを繰り返すループです。
- SDF・シェーダーGLMetaballs整数周波数で周回する複数の円の距離関数をなめらかに合成し、液体のように溶け合う形を描くシェーダーのループです。
- ボロノイ・シェーダーGLVoronoi Cells整数周波数で漂う母点から最も近い点ごとに画面を分けるボロノイ分割を、細胞や境界線、等距離線で描くシェーダーのループです。