Strona głównaArtykułyAutomat Komórkowy

Spadający Piasek: Automaty Komórkowe Za Każdym Zabawką z Piaskiem

Jak piasek, woda, ogień i kwas wszystkie wypadają z ręki, gdy stosuje się proste zasady dla każdej komórki siatki — nie wymagane są równania płynu, wystarczy sprawdzanie sąsiadów przez sąsiadów.

mysimulator teamZaktualizowano — czerwiec 2026≈ 6 min czytania▶ Otwórz symulację

Siatka komórek, garść zasad

Gry z opadającym piaskiem to automaty komórkowe, które udają fizykę. Świat jest siatką komórek, każda zawiera jeden materiał – piasek, wodę, ogień, drewno, kwas, dym, pustą – i za każdym ruchem każda komórka zadaje proste, lokalne pytanie: co znajduje się bezpośrednio pod mną, a co na skosie? Odpowiedź decyduje, czy komórka się przemieści, a każdy materiał odpowiada na to pytanie swoim własnym małym podręcznikiem zasad.

piasek: jeśli pod spodem jest pusta, spada prosto w dół w przeciwnym razie, jeśli pod spodem po lewej i pod spodem po prawej jest pusto, spada po skosie w przeciwnym razie pozostaje na miejscu woda: to samo co piasek, ale także rozprzestrzenia się poziomo do pustych sąsiadów gdy nie może spaść – to powoduje, że tworzy się miska ogień: ma określoną żywotność; zapala materiały palne (drewno); staje się dymem dym: unosi się zamiast spadać, rozpraszany z czasem Żaden z tego nie jest dynamiką płynów w sensie fizykalnym - nie ma pola ciśnienia, nie ma terminu lepkości, nie występuje równanie Navier–Stokes nigdzie w kodzie. Jest to cyfrowe podobieństwo do prawdziwej góry piasku: pojedyncze ziarenka, które przestrzegają zasady "spadaj, jeśli pod mną jest miejsce", wystarczają, aby w całości wytworzyć rozpoznawalnie płynny wygląd, tak jak Conway's Game of Life produkuje rozpoznawalnie organiczny wygląd z czterech zasad bez żadnej biologii.

sand:  if below is empty, fall straight down
       else if below-left or below-right is empty, fall diagonally
       else stay put
water: same as sand, but also spread sideways into empty neighbours
       when it can't fall — this is what makes it pool flat
fire:  has a lifespan; ignites flammable neighbours (wood); becomes smoke
smoke: rises instead of falling, dissipates over time
demo na żywo · powiązana symulacja● LIVE

Dlaczego kolejność aktualizacji ma znaczenie

Niewłaściwa, lewoskierna, od góry do dołu analiza siatki tworzy widoczny efekt stronniczości: komórka, która już spadła w danym momencie, może zostać ponownie zbadana i upuszczenie się jej może nastąpić w tym samym momencie, co sprawia, że piasek wydaje się spadać nie naturalnie szybko po przekątnej. Standardowe rozwiązanie polega na przetwarzaniu rzędów od dołu do góry (tak, aby komórka nigdy nie spadała do slotu, który jeszcze nie został rozwiązany) oraz na alternatywnym lub losowym zmianowaniu kierunku skanowania w lewo-prawo za każdym razem, co eliminuje efekt stronniczości przekątnej i sprawia, że stosy piasku osadzają się w symetrycznym kącie spadku zamiast pochylać się w jedną stronę.

Reakcje: dlaczego kwas, ogień i woda nie są niezależne

Interesujący aspekt piaskownicy z materiałami to nie pojedyncza substancja, lecz tabela interakcji międzyparami pomiędzy nimi: ogień dotykający drewna go zapala i ostatecznie pozostawia popiołem; ogień dotykający wody wytwarza parę i gaśnie; kwas dotykający niemal wszystkiego rozpuszcza w próżni przez kilka ułamków sekundy; woda dotykająca ognia go gaśnie, a woda dotykająca lawy (jeśli występuje) zamienia się na parę. Każda reguła musi znać tylko dwa sąsiadujące typy komórek – bogowata, nieprzewidywalnie wyglądająca zachowanie dużego piaskownicy pochodzi z łańcuchowania wielu prostych zasad dwójbody na dużej matrycy, a nie z jednej skomplikowanej reguły.

Kąt powodzenia, w komórkach

Prawdziwe materiały granulowane zbierają się pod charakterystyczny kąt powodzenia – około 30–35° dla suchego piasku – ponieważ ziarenko pozostaje na miejscu tak długo, jak tarcia mogą przeciwdziałać sile grawitacji wzdłuż nachylonej powierzchni, i osuwa się, gdy nachylenie staje się zbyt stromie. Automaty piaskowe odwzorowują to za darmo: komórka spada po przekątnej tylko wtedy, gdy dwie komórki po jej lewej stronie są zablokowane, co geometrycznie ogranicza, jak stromo może być stabilny stos piasku – prawie dokładnie 45° schodów komórkowych – gruba, siatkowana reprezentacja gładkiego fizycznego kąta powodzenia, i dobry przykład prostego prawa lokalnego odtwarzającego właściwość makroskopową rzeczywistego materiału.

Dlaczego ten podbój skaluje się tam, gdzie nie skalują rzeczywiste symulacje płynów

Dokładna fizycznie symulacja płynu (rozwiązywanie układu równań opisujących ciśnienie i prędkość pola, jak w metodach SPH lub opartej na siatce solver'ach Navier–Stokes używanych gdzie indziej na tej stronie) wymaga rozwiązania systemu równań dla całej siatki na każdym kroku. Automaty piasku spadającego patrzy tylko na najbliższe sąsiadów każdej komórki, więc jest to niezwykle równoległe i bardzo szybkie – tysiące aktywnych komórek w przeglądarce tablicy z prędkością 60 fps, bez konieczności rozwiązywania macierzy. Kompromis polega na tym, że nie jest to dokładne ilościowo: nie da ci poprawnego wzrostu skondy lub właściwego przepływu przez szczelinę. Zamiast tego daje coś, co wydaje się płynne, piaskowe lub płomienne dla ludzkiego oka w czasie interakcji, co dla zabawki sandbox jest dokładnie tym, czego potrzebujesz.

Frequently asked questions

Czy symulacja opadającego piasku jest prawdziwą fizyką?

Nie — to jest komórkowa automatyczna maszyna, a nie solver dynamiki płynów. Nie ma pola ciśnienia ani prędkości; każda komórka sprawdza tylko sąsiadujące komórki i porusza się zgodnie z zasadami dla każdego materiału. Wygląda na fizycznie, ponieważ zasady zostały zaprojektowane tak, aby naśladować grawitację i przepływ, a nie dlatego, że podlegają one matematyce Newtona dotyczącej mechaniki płynów.

Dlaczego piasek czasami wydaje się płynąć nierównomiernie w jedną stronę?

To artefakt kolejności aktualizacji: jeśli siatka jest skanowana w stałym kierunku od lewej do prawej, góra do dołu, komórki, które już przesunęły się w tym taktu, mogą zostać ponownie przetworzone i ponownie przesunięte, co wprowadza zbieżność w jedną przekątną. Alternatywne skanowanie lub losowe ustawianie kierunku każdego taktu eliminuje ten bias.

Jak materiały takie jak ogień i kwas oddziałują ze sobą?

Poprzez małą tabelę zasad dla par, sprawdzaną na granicy każdej komórki — ogień zapala sąsiednie drewno i jest gaszony przez sąsiednią wodę, kwas rozpuszcza prawie każdy sąsiad w ciągu kilku taktów, a tak dalej. Złożone reakcje łańcuchowe powstają poprzez łączenie wielu tych prostych zasad dla dwóch materiałów na dużej siatce, a nie dzięki jednej skomplikowanej zasadzie.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz Sand Automaton i zmieniaj parametry podczas działania. Nic nie jest instalowane ani przesyłane na serwer, cały model działa w jednej karcie.

▶ Otwórz symulację Sand Automaton

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)