遠近トンネルPerspective Tunnel
遠くから迫ってくるリングの列を遠近法で描き、うねる軸とねじれでくねった筒の中を進んでいるように見せるループアニメーションです。
遠くから迫ってくるリングの列。うねる軸とねじれで、くねった筒の中を進んでいるように見える
このシーンで作るパラメータ、色、エフェクトを変えて、GIF・APNG・WebP・MP4・WebM で書き出せます。
どう計算しているか
- リングを奥行き方向に等間隔で並べ、半径を奥行き z に反比例させて描きます(透視投影:遠いものほど小さく見える計算)。時間とともに全てのリングの奥行きを手前へ減らすので、こちらに迫って見えます。
- リングの中心は、奥行きと時刻を入れた sin と cos で左右上下にずらします。手前ほどずれを小さくしているので、自分の視点は安定したまま奥がうねって見えます。「うねり」が振れ幅、「うねりの細かさ」が奥行きに対する波の細かさです。
- 多角形のリングは奥行きに比例して回転させ、「ねじれ」で筒がらせん状にねじれて見えます。「辺の数」を 0 にすると円になります。
- 奥のリングほど色を背景色に近づけて「霧」を表現し、塗りの場合は一番奥を背景色でふさいで穴の奥を作ります。
depth = j − t·L, r = R·focal/z(depth), 中心 = sway·sin(2π(depth·f + t))ループがつながる理由
1ループでリングは「進む速さ」×色数ぶんの間隔だけ手前に進みます。整数個ぶんずれるので全てのリングは別のリングの元の位置にちょうど収まり、色も色数の倍数だけずれて一致します。うねりは時刻について周期1の sin と cos なので、最初と同じ曲がり方に戻ります。
調整できるパラメータ
形
| 辺の数(0で円) | 0 〜 10(初期値 6) |
|---|---|
| リングの数 | 6 〜 80(初期値 36) |
| 塗り | 交互に塗る・線 |
| 線幅 | 0.5 〜 16(初期値 4) |
| 霧 | 0 〜 1(初期値 0.6) |
動き
| うねり | 0 〜 400(初期値 140) |
|---|---|
| うねりの細かさ | 0 〜 0.3(初期値 0.06) |
| ねじれ | -0.3 〜 0.3(初期値 0.05) |
| 進む速さ | 1 〜 4(初期値 1) |
同じ分類のシーン(放射・回転)
- 放射・回転対称Polar Rings同心円上に並んだ図形がリングごとに少しずつ遅れて回り、渦や花のような模様が浮かんでは消えるループアニメーションです。
- 形状モーフShape Morph丸・三角・四角などの輪郭を同じ数の点で表し、点どうしを補間して形を滑らかに変形させ続けるループアニメーションです。
- 入れ子の回転Twist Stack大きさの違う多角形を中心にそろえて重ね、内側ほど遅れて回すことで、ねじれた渦が現れてはほどけるループアニメーションです。
- 万華鏡Kaleidoscope扇形の中で図形を動かし、それを回転と鏡写しで円周に並べることで、万華鏡のような対称模様を作るループアニメーションです。
- 葉序・螺旋Phyllotaxis黄金角ずつ角度をずらして点を並べ、ひまわりの種のような螺旋模様が中心から湧き出して外へ流れ続けるループアニメーションです。
- 無限ズームInfinite Zoom多角形の辺上の点を結んで一回り小さい多角形を作る操作を繰り返し、その入れ子の渦へ無限に吸い込まれていくループアニメーションです。
- 花の開閉Bloom何重にも重なった花弁が外側の層から時間差で開いては閉じ、並べると花畑のように波打つループアニメーションです。
- 時計の針の群れClock Swarm格子状に並んだ時計の2本の針が一斉に回り、模様 A と模様 B の間を行き来するループアニメーションです。
- スピログラフSpirograph大きな歯車の内側や外側を小さな歯車が転がり、穴に差したペンが花模様を描いていくループアニメーションです。
- 吸い込まれる渦Black Hole極座標の格子が渦を巻きながら中心の穴へ吸い込まれ続け、中心に近いほど強くねじれるループアニメーションです。
- SDF・等高線GLContour Tunnel図形の距離関数を等高線の縞として描き、縞が中心から湧き出し続けながら2つの図形の間でモーフするループアニメーションです。