微分成長 / Differential Growth
つながった頂点を増やし、形の成長を観察する。
観察 / Explore
円・花形・一本の線から開始します。線が伸び、周囲から押されて折り曲がる様子を観察してください。反発距離を広げると周囲との間隔が変わり、滑らかさを増やすと細かい曲がりを抑えます。成長確率0では頂点を増やさず形だけが緩和します。初期化は現在の設定を保ち、シードから配置を作り直します。
Start from a circle, flower or open line. Adjust repulsion distance and smoothing to explore folding. Zero growth relaxes the existing curve without adding nodes. Reset preserves controls and regenerates the seeded starting shape.
本サイトのルール / Our formulation
これは微分成長の考え方に基づく独自の2D曲線モデルです。隣接頂点を自然長5のばねでつなぎ、近隣の頂点間に反発を加え、隣接2頂点の中点に向かう平滑化を加えます。半径170を越えると緩く中心へ戻し、広がるだけでなく折れ曲がる余地を作ります。移動量は1ステップ0.8までです。
長さ3を超える線分に、指定確率で中点を挿入します。接続順序を保ち、閉じた輪は閉じたまま、線の両端はつながないままです。頂点数の上限を越えません。時間は表示更新と分離した離散ステップです。特定の論文の厳密な再現や生物組織の定量モデルではありません。
This gallery’s 2D formulation combines neighbor springs of rest length 5, local repulsion, midpoint smoothing and soft confinement beyond radius 170. Motion is capped at 0.8 per step. Edges longer than 3 can receive a midpoint with the chosen probability, preserving open/closed topology. This is not a quantitative tissue model or an exact reproduction of a particular paper.
L-Systemとの違い / Compared with L-systems
L-Systemの文字列書き換えとは異なり、頂点の追加と位置の調整で形が育ちます。基本の曲線モデルなので分岐・合流、粘菌のネットワーク探索、3Dの面の成長は扱いません。頂点の反発はありますが線分同士の交差判定はないため、自己交差しないことは保証しません。
Unlike L-system rewriting, growth comes from added nodes and local position updates. No branching, fusion, network foraging or 3D surfaces are modeled. Node repulsion is not segment collision detection; self-intersections are possible.
負荷と保存 / Performance and export
CPU Web Workerと空間分割で近隣を計算。継続的な高負荷や応答停止、頂点上限で停止します。非表示中は新しい計算を止めます。描画は曲線全体が収まるよう拡縮するため、実際の成長と画面内の大きさは一致しない場合があります。
SVGは拡大できるベクトル画像、PNGは長辺1600ピクセルの画像です。どちらも保存時に停止し、同じ頂点を結ぶ折れ線を出力します。画像はシミュレーションの再開データではありません。端末内で生成し、サーバーには送信しません。
Worker-based spatial search with load protection and a node cap. The camera fits the whole curve. SVG is vector artwork; PNG has a 1600-pixel long side. Both export the actual polyline and pause playback. They are images, not resumable snapshots, and are generated locally.
参考 / References
以下の微分成長の実装・解説を背景として、本サイト用にコードを独自作成しました。第三者のコード・画像は転載していません。