等高線の地図Contour Map
時間とともに形を変えるノイズの地形を等高線で描き、地図のように5本ごとに太い線を入れます。
どう計算しているか
- 画面を「解像度」で格子に区切り、各格子点の高さを、時間方向に閉じたノイズから 0〜1 の値として求めます。「地形の細かさ」はノイズを引く座標の倍率です。
- 高さ 1/本数、2/本数…ごとに等高線を引きます。各マスの4隅が基準より高いか低いかを 4 ビットの番号にまとめ、その番号に応じてマスの中に線分を引きます(マーチングスクエア法)。
- 線分の端点は、辺の両端の高さを直線補間して、ちょうど基準の高さになる位置に置きます。これで隣のマスの線分とつながり、なめらかな曲線になります。
- 「計曲線」がオンなら5本ごとに線幅を 2.4 倍にし、「高さで色分け」がオンなら高さに応じてパレットの色を変えます。
code = Σ [vₖ > iso]·2ᵏ, 端点 = x + (iso − a)/(b − a)·cellループがつながる理由
地形のもとになるノイズは、時刻 t と t−1 の断面を混ぜ合わせたもので、t=0 と t=1 で同じ値になります。地形が元に戻るので、等高線も同じ形に戻ります。
調整できるパラメータ
形
| 解像度 | 30 〜 160(初期値 90) |
|---|---|
| 等高線の本数 | 4 〜 40(初期値 16) |
| 線幅 | 0.5 〜 6(初期値 1.5) |
| 計曲線(5本ごとに太く) | オン/オフ(初期値 オン) |
| 高さで色分け | オン/オフ(初期値 オン) |
動き
| 地形の細かさ | 0.3 〜 5(初期値 1.6) |
|---|---|
| 変化の大きさ | 0.2 〜 3(初期値 0.9) |
同じ分類のシーン(線・波)
- 線・波Wave Lines横に引いた何本もの線を、正弦波や矩形波、ノイズで上下に揺らし、線ごとに少しずつ時間をずらして波を流します。
- ループするノイズNoise Field格子状に並べた線分や点、四角が、時間方向に閉じたノイズに従って回転・伸縮し、場全体がうねるように動きます。
- モアレMoiré同心円や縞を2組重ね、片方を少しずらしたり傾けたりすることで、干渉模様(モアレ)が流れるように動きます。
- 二重らせんDouble Helix奥行きに応じて大きさと濃さを変えた点で二重らせんを描き、横に流れながら回転して見えるようにします。
- 波打つ地形Wave Mesh斜め上から見下ろした格子の地形が、波紋・交差波・ノイズで上下にうねり、手前の面が奥の線を隠します。
- リボンTwisted Ribbon幅のある帯がねじれながら流れ、表と裏の色の切り替わりと陰影で立体感を出しています。
- ジグザグ・シェブロンChevron Flow山形に折れ曲がった色の縞が流れ続け、ジグザグの深さが呼吸するように変わります。
- オシロスコープOscilloscopeオシロスコープのビームがリサージュ図形や波形をなぞり、後ろに残光の尾を引いて光ります。
- 干渉縞・シェーダーGLInterference円を描いて周回する複数の波源から広がる波を重ね合わせ、渦を巻くように動く干渉縞を描きます。
- マーブル・シェーダーGLMarbling絵の具を水に浮かべて混ぜたようなマーブル模様を、ノイズで座標を何度もゆがめて作り、ゆっくり流します。
- ドメインワープ・シェーダーGLDomain Warpノイズで座標をゆがめ、そのゆがんだ座標でまたノイズを引くことで、煙や流体のような有機的な模様を作ります。