Головна Метеорологія та Атмосфера Ріст сніжинки — Дендритна кристалізація льоду

❄️ Ріст сніжинки — Дендритна кристалізація льоду

Симулюйте ріст дендритного кристала льоду (сніжинки) за допомогою клітинного автомата з дифузійно-обмеженою агрегацією. Регулюйте пересичення, поріг замерзання та шум для отримання шестипроменевих симетричних кристалів у реальному часі.

Метеорологія та Атмосфера2DЛегкий60 FPS
snow-crystal ↗ Відкрити окремо
DRAG · SCROLL · CLICK — керуйте прямо у вікні симуляції.

Схожі симуляції

Про цю симуляцію

Ця симуляція вирощує сніжинку за допомогою локальної клітинної моделі Райтера (Chaos, Solitons & Fractals, 2005) на гексагональній сітці: кожна клітинка зберігає значення пари з рухомою комою, і кожен крок поле поділяється на сприйнятливі клітинки — клітинки льоду та їхніх сусідів — і решту. Сприйнятливі клітинки отримують постійну добавку пари γ і виключаються з дифузії, тож вони діють як стік, у який стікає навколишня пара; сприйнятлива клітинка замерзає, щойно її пара перевищує поріг κ. Оскільки виступаючий кінчик збирає більше цього дифузійного потоку, ніж западина, фронт росту нестабільний — саме це й породжує пластинки, секторні зірки та шестипроменеві дендритні гілки залежно від ρ, κ і γ.

🔬 Що показано

Одна замерзла клітинка-зародок у центрі гексагональної сітки 201×201 поступово росте назовні. Пара (показана відтінками темно-синього) накопичується біля фронту льоду й перетворюється на лід (біло-блакитний), щойно перевищує поріг замерзання, утворюючи характерні дендритні гілки сніжинки.

🎮 Як користуватися

Перетягуйте Пересичення ρ, щоб підвищити або знизити фонову подачу пари, Поріг замерзання κ, щоб клітинки замерзали легше чи важче, і Додавання пари γ, щоб задати, скільки пари отримує фронт росту щокроку — γ є регулятором форми: велике γ заповнює кристал у суцільну гексагональну пластинку, мале γ виснажує боки й дозволяє кінчикам вирватися вперед у дендрити. Шум σ додає випадковість до перевірки замерзання для грубших, менш симетричних гілок, а Швидкість керує кількістю ітерацій за кадр анімації. Використовуйте «Пауза» та «Regrow» (перерости заново), щоб зупинити симуляцію або перезапустити її з єдиної клітинки-зародка.

💡 Чи знали ви?

Симуляція автоматично зупиняється, щойно радіус кристала наближається до краю сітки, оскільки масив даних інакше вичерпав би місце для подальшого росту — це перегукується з тим, як реальні сніжинки зрештою припиняють рости, коли випадають з ідеального шару вологості й температури.

Часті запитання

Який алгоритм використовує ця симуляція росту сніжинки?

Вона реалізує локальну клітинну модель росту сніжинки Кліффорда Райтера (Chaos, Solitons & Fractals 23, 2005, с. 1111–1119). Кожна гексагональна клітинка відстежує значення водяної пари. На кожному кроці поле поділяється на сприйнятливі клітинки — лід і клітинки, що торкаються його, — і несприйнятливі клітинки: сприйнятливі клітинки отримують постійну добавку γ і виключаються з дифузії, тож пара дифундує з навколишнього поля, і клітинка замерзає, щойно її загальна кількість досягає κ. Це єдине правило відтворює весь спектр реальних форм: гексагональні пластинки, секторні зірки та розгалужені дендрити.

Що контролюють ρ, κ і γ?

ρ задає фоновий рівень пари, яким постійно поповнюється межа сітки — вищий ρ означає більше пари для живлення росту, що дає швидші, щільніші кристали. κ — це рівень пари, якого сприйнятлива клітинка має досягти перед замерзанням. γ — це постійна кількість пари, яку фронт росту отримує щокроку, і саме вона обирає форму: за великого γ (приблизно 0,006–0,01 при ρ ≈ 0,8) боки заповнюються, і виходить суцільна гексагональна пластинка, тоді як мале γ (приблизно 0,0001–0,0005 при ρ ≈ 0,35–0,45) виснажує краї, тож просуваються лише кінчики, даючи тонкі розгалужені дендрити; проміжні значення (γ ≈ 0,001–0,003) дають секторні, зіркоподібні кристали.

Чому сітка гексагональна, а не квадратна?

Реальні сніжинки формуються на гексагональній решітці кристалічної структури льоду, що й надає їм природної шестипроменевої симетрії. Симуляція використовує зміщену гексагональну сітку з шістьма сусідами на клітинку (замість чотирьох чи восьми, як у квадратній сітці), тож патерн розгалуження, що виникає, відповідає шестипроменевій формі реальних сніжинок.

Що робить повзунок «Шум σ»?

Шум σ додає невелике випадкове збурення до перевірки замерзання, тож клітинка замерзає, коли її пара перевищує κ плюс-мінус випадкове зміщення, масштабоване σ. Це порушує ідеальну симетрію росту, створюючи грубші, більш нерегулярні кінчики гілок, подібні до асиметрій, що спостерігаються в багатьох реальних сніжинках.

Чому симуляція зупиняється сама по собі?

Симуляція на кожному кроці перевіряє, чи наблизилася якась клітинка льоду до краю сітки 201×201. Щойно радіус кристала наближається до цієї межі, ріст автоматично призупиняється (кнопка «Пауза» перемикається на «Продовжити»), щоб уникнути виходу кристала за межі змодельованої області; використовуйте «Regrow», щоб скинути й почати заново з єдиної клітинки-зародка.