🧫 Reakcja-dyfuzja
Model Gray-Scott: dwa reagenty dyfundują i reagują, spontanicznie tworząc plamy, pasy, robaki i spirale.
Podobne symulacje
O modelu reakcji-dyfuzji Graya-Scotta
Ta symulacja uruchamia układ reakcji-dyfuzji Graya-Scotta na siatce 256 na 256, obliczany w całości na GPU jako shadery fragmentów WebGL. Dwie wirtualne substancje chemiczne, A i B, dyfundują po siatce i reagują poprzez A + 2B do 3B. Dynamikę opisują sprzężone równania dA/dt = Da*lap(A) - A*B*B + f*(1-A) oraz dB/dt = Db*lap(B) + A*B*B - (k+f)*B, gdzie laplasjan jest obliczany za pomocą ważonego szablonu dziewięciopunktowego, a B dyfunduje z połową tempa A.
Suwak tempa zasilania (f, od 0,01 do 0,1) ustala, jak szybko substancja A jest uzupełniana, a suwak tempa wygaszania (k, od 0,04 do 0,075) ustala, jak szybko B jest usuwana; razem decydują, czy powstaną plamy, pasy, labirynty czy samoreplikujące się plamy. Regulator Prędkość ustala liczbę kroków symulacji na klatkę (od 1 do 20), presety przeskakują do znanych kombinacji f/k, a kliknięcie lub przeciąganie wstrzykuje substancję B. Uważa się, że ta sama samoorganizująca się matematyka leży u podstaw umaszczenia zwierząt, pigmentacji muszli morskich i rozmieszczenia palców u zarodków, co czyni ją fundamentem biologii matematycznej.
Najczęściej zadawane pytania
Czym jest model reakcji-dyfuzji Graya-Scotta?
To matematyczny model dwóch substancji chemicznych, A i B, które rozprzestrzeniają się i reagują ze sobą. Z tych prostych, lokalnych reguł na siatce samoorganizują się złożone wzory — plamy, pasy, labirynty i spirale. To klasyczny przykład wzoru Turinga, w którym porządek powstaje spontanicznie z dyfuzji i reakcji.
Jak symulacja właściwie oblicza te wzory?
Ekran to siatka 256 na 256, gdzie każda komórka przechowuje stężenia A i B w teksturze zmiennoprzecinkowej WebGL. Shader fragmentów aktualizuje każdą komórkę równolegle w każdym kroku, korzystając z pary celów renderowania typu ping-pong. Suwak Prędkość wykonuje od 1 do 20 takich kroków na klatkę animacji, dzięki czemu wzór ewoluuje szybko.
Co robią suwaki tempa zasilania i tempa wygaszania?
Tempo zasilania f określa, jak szybko substancja A jest uzupełniana w każdej komórce, a tempo wygaszania k określa, jak szybko usuwana jest substancja B. Razem te dwie liczby decydują, jaka rodzina wzorów powstanie. Niewielkie zmiany mogą przesunąć układ ze stabilnych plam w rosnące pasy lub błądzące labirynty.
Jakie jest równanie leżące u podstaw modelu?
Dwa sprzężone równania różniczkowe cząstkowe to dA/dt = Da*lap(A) - A*B*B + f*(1-A) oraz dB/dt = Db*lap(B) + A*B*B - (k+f)*B. Tutaj lap oznacza laplasjan reprezentujący dyfuzję, Da i Db to współczynniki dyfuzji, a wyraz A*B*B to autokatalityczna reakcja A + 2B do 3B. W tej symulacji Da wynosi 1,0, a Db 0,5.
Dlaczego substancja B dyfunduje wolniej niż A?
Ten kontrast tempa dyfuzji jest kluczowy. Tutaj A rozprzestrzenia się z tempem 1,0, a B z tempem 0,5, więc aktywator B pozostaje lokalnie skoncentrowany, podczas gdy substrat A uzupełnia się w otoczeniu. Ta krótkozasięgowa aktywacja połączona z dalekozasięgową inhibicją to dokładnie warunek, który Turing zidentyfikował jako niezbędny do powstania stabilnych wzorów zamiast rozmycia w jednolitą mieszaninę.
Co ustawiają przyciski presetów?
Każdy preset wczytuje znaną parę wartości f i k oraz ponownie zasiewa siatkę. Presety to Koral (f 0,0545, k 0,062), Mitoza (f 0,0367, k 0,0649), Plamy/Robaki (f 0,030, k 0,062) i Labirynt (f 0,029, k 0,057). Są to wygodne punkty startowe, ponieważ typ wzoru jest bardzo wrażliwy na niewielkie zmiany parametrów.
Jak zasiać lub zresetować wzór?
Kliknięcie lub przeciąganie po płótnie wstrzykuje dodatkową substancję B w miejscu kursora, pozwalając ręcznie rysować nowy wzrost. Przycisk Resetuj siatkę ponownie zasiewa A=1 i B=0 z kilkoma losowymi kwadratami B blisko środka. Dodaj zalążek dodaje świeżą losową plamę, a przycisk pauzy zamraża ewolucję, dzięki czemu można przestudiować zastygły wzór.
Czy ta symulacja jest fizycznie dokładna?
Wiernie rozwiązuje równania Graya-Scotta metodą jawnego kroku czasowego i dziewięciopunktowego laplasjanu, więc jakościowe rodziny wzorów są poprawne. Jest to jednak wyidealizowany, bezwymiarowy model, a nie dopasowanie do konkretnej reakcji chemicznej, a siatka zawija się na krawędziach. To narzędzie dydaktyczne i eksploracyjne, a nie ilościowy predyktor chemiczny.
Dlaczego wzory czasem się samoreplikują lub zanikają?
W pewnych zakresach f i k plama B rośnie, aż staje się niestabilna, po czym dzieli się na dwie, naśladując podział komórki. W innych zakresach człon wygaszania przeważa nad produkcją i B zanika do zera, pozostawiając puste pole. Zachowania te wynikają wyłącznie z równowagi między autokatalityczną reakcją A*B*B a członami zasilania i wygaszania.
Z jakimi zjawiskami rzeczywistymi wiąże się ten model?
Uważa się, że matematyka reakcji-dyfuzji kształtuje umaszczenie zwierząt, takie jak plamy lampartów i pasy zebr, pigmentację muszli morskich oraz rozmieszczenie palców u rozwijających się zarodków. Alan Turing zaproponował tę ideę w swojej pracy z 1952 roku o morfogenezie, a w 2012 roku biolodzy potwierdzili, że chemia w stylu Turinga ustala rozmieszczenie palców w łapkach myszy.
Dlaczego wzór wygląda inaczej za każdym razem, gdy resetuję symulację?
Shader zasiewający umieszcza kilka kwadratów substancji B w lekko losowych pozycjach blisko środka, korzystając z funkcji haszującej. Ponieważ układ jest bardzo wrażliwy na warunki początkowe, te niewielkie losowe zalążki wyrastają w różne, ale statystycznie podobne układy przy każdym uruchomieniu, podczas gdy ogólna rodzina wzorów pozostaje ustalona przez f i k.