Strona głównaArtykułyMatematyka

3D Automaty Komórkowe: Woxel Life i Volumetriczne Zasady

Gra Conwaya o Życiu rozgrywa się na płaskiej siatce, ale żadne matematyczne ograniczenia nie nakładają się na automaty komórkowe do dwóch wymiarów. Zastąp pixele woxelami, a ta sama logika narodzin i przetrwania generuje formacje przypominające koralowce oraz powoli oddychające sfery światła.

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

Kwadratowa przestrzeń i sąsiedztwa w 3D

Automaty komórkowe w 3D zastępuje siatkę 2D sześciomiernym układem krotów (voxeli), każdy z nich przechowujący stan binarny. Każdy krot aktualizuje się jednocześnie na podstawie stanów krotów otaczających go – ten sam zasadniczy mechanizm lokalnych reguł, jak w przypadku automaty komórkowych 2D, ale z dodatkowym osiowym wymiarem sąsiedztwa. Sąsiedztwo Von Neumanna (3D) to sześciu sąsiadów połączonych przez ściany; sąsiedztwo Moore'a (3D) to wszystkie 26 otaczających krot w sześcianie 3×3×3, pomniejszone o centralny krot (3³ − 1 = 26), bezpośredni odpowiednik 8-punktowego sąsiedztwa Moore’a w 2D Life i używane przez prawie wszystkie popularne „3D Life” reguły.

N(x,y,z) = {(x+dx,y+dy,z+dz) : dx,dy,dz ∈ {-1,0,1}, (dx,dy,dz) ≠ (0,0,0)} |N| = 3³ − 1 = 26 sąsiadów // vs. 8 w 2D Moore Przejście z 8 do 26 sąsiadów jest jednym z najważniejszych aspektów automaty komórkowych 3D: reguły skopiowane dosłownie z 2D, takie jak B3/S23, produkują układ, który albo pozostaje pusta, albo niemal natychmiast wypełnia go w całości, ponieważ próg urodzenia w sąsiedztwie 3-punktowym jest zbyt łatwy do spełnienia w przestrzeni o 26 sąsiadach – każda reguła 3D wymaga własnego dostosowania progów.

N(x,y,z) = {(x+dx,y+dy,z+dz) : dx,dy,dz ∈ {-1,0,1}, (dx,dy,dz) ≠ (0,0,0)}
|N| = 3³ − 1 = 26 neighbours   // vs. 8 in 2-D Moore

Notacja reguł i znane reguły

Reguły 3D wykorzystują tę samą konwencję B/S (rodzenie/przeżycie) co automata podobne do 2D Life, rozszerzoną na zakres 0-26 możliwych liczb sąsiadów. Reguła 4555 (B5/S45), odkryta przez Cartera Baysa w latach 80., jest najczęściej cytowana: martwy woxel rodzi się z dokładnie 5 żyjących sąsiadów, a żyjący woxel przeżywa przy 4 lub 5, a nasiewany małym losowym skupiskiem rozrasta się w stabilne formacje przypominające koralowce lub kryształy, które zatrzymują się z dalszego wzrostu po osiągnięciu równowagi. Amoeba (B5678/S45678) wykorzystuje szerokie pasma rodzenia i przeżycia, aby wytworzyć masy przypominające amiby, które pulsują i wydłużają pseudopodobne występy. Pyroclastic używa bardzo szerokich pasm do generowania gęstych, wirujących objętości, które szybko się rozszerzają, a następnie ustalają się w formach przypominających chmury, demonstrując, że w przeciwieństwie do 2D, gdzie szerokie pasma prawie zawsze oznaczają całkowitą śmierć lub całkowite wypełnienie, dodatkowa wymiarowość daje przestrzeń na złożone wewnętrzne komory i skorupy.

demo na żywo · powiązana symulacja● LIVE

Dlaczego zasady 3D wydają się bardziej stabilne niż 2D

Z 26 możliwych sąsiadów zamiast 8, progi narodzin i przeżycia, które generują "ciekawy" zachowanie w 2D, odpowiadają niezwykle wąskiej warstwie przestrzeni reguł 3D. Większość znanych reguł 3D celowo preferuje stabilność nad chaosem, ponieważ nieograniony wzrost w 3D wypełnia objętość, a nie tylko powierzchnię – rozrastający się wzór zużywa O(n³) komórek na każdym pokoleniu zamiast O(n²), co prowadzi do błędnego rozwoju reguł i ogromnego przeciążenia obliczeniowego oraz wizualnego znacznie szybciej. Małe zbiory narodzin i wąskie pasma przeżycia, takie jak 4555, dają stabilne struktury przypominające koralowce, które przestają rosnąć, podczas gdy szersze pasma przeżycia prowadzą do niekontrolowanego wzrostu, a węższe – do wyginięcia. Ciekawe obszary przestrzeni reguł znajdują się w wąskiej warstwie, podobnie jak granica chaosu-porządku zaproponowana przez Wolfram dla prostych CA.

Rozproszone przechowywanie i renderowanie

Gęsty 3D-tani tablicaryczny typu boolean o boku N wymaga pamięci O(N³) – siatka już 256³ zajmuje 16,7 miliona komórek, a większość stanów w automatycznym systemie komórkowym jest rozproszona. Dwa główne typy struktur danych dominują w praktycznych implementacjach: zbiór kopii (hash set) zawierający współrzędne aktywnych komórek oraz pakowanie (x, y, z) trójek do pojedynczej wartości całkowitej dla wyszukiwania O(1); lub rozproszone drzewo siodłowe (sparse voxel octree), rekurencyjnie podziałające przestrzeń i pomijające puste poddrzewa – ta sama struktura wykorzystywana jest w renderowaniu wektorowym z promieniowaniem (ray-traced voxel renderers) oraz w przechowywaniu bloków w stylu Minecraft. Do wizualizacji, Three.js używa instanced rendering do rysowania tysięcy aktywnych komórek voxeli w jednym wywołaniu draw call za pomocą InstancedMesh, a algorytm marching cubes (Lorensen & Cline, 1987) ekstrahuje gładką, ciągłą powierzchnię izosfurę z pola wektorowego, aby uzyskać organiczne, biologicznie wyglądające skorupy zamiast blokowych kostek.

Zastosowania: wzrost, teren i sztuka

Automaty komórkowe 3D stanowią naturalne rozwiązanie do modelowania procesów agregacji ograniczonych przez dyfuzję, wzrost koralowców i minerałów oraz proliferację guzków – kształt wyłania się z pojedynczych aktualizacji lokalnych. Silniki gier voxelowe często inicjują 3D siatkę losowym szumem i uruchamiają kilka przejść CA z regułą wygładzającą (w przybliżeniu "solidny, jeśli ≥13 sąściągów z 26 sąsiadów jest solidnych"), aby erodować ostre szumy w gładkie systemy jaskiń i półkątowe formacje, bezpośrednia 3D rozszerzenie techniki 2D, która od dawna jest wykorzystywana do generowania poziomów roguelike. Ponieważ stany naturalnie renderują się jako przezroczyste pola voxelowe mapowane kolorystycznie, automaty komórkowe 3D są popularnym podłożem dla sztuki generatywnej i w czasie rzeczywistym wizualizacji muzyki reaktywnej na dźwięk.

Często zadawane pytania

Dlaczego zasady Gry Życia w 2D, takie jak B3/S23, nie mogą być po prostu skopiowane do 3D?

Ponieważ przestrzeń liczenia sąsiadów jest całkowicie inna. 2D Moore'owa przestrzeń sąsiedzką ma 8 sąsiadów, podczas gdy 3D Mooreowa przestrzeń sąsiedzką ma 3³ − 1 = 26. Wyższy próg narodzin wynoszący dokładnie 3 sąsiadów, dostrojony do przestrzeni o 8 sąsiadach, jest znacznie zbyt łatwy do spełnienia w przestrzeni o 26 sąsiadach – skopiowane dosłownie, zasada produkuje strukturę, która albo jest trwale pusta, albo niemal natychmiast wypełnia ją całkowicie, dlatego zasady 3D wymagają własnego dostrojenia progów narodzin i przeżycia.

Co to jest zasada 4555 i dlaczego jest ona najczęściej cytowanym automatem komórkowym 3D?

Zasada 4555 (B5/S45) została odkryta przez Cartera Bays w latach 80. podczas systemowego poszukiwania analogów 3D do Gry Życia: martwa komórka rodzi się z dokładnie 5 żywych sąsiadami, a żywa komórka przetrwała z 4 lub 5 sąsiadami. Nasadzona mała losowa klastra niezawodnie rozwija się w stabilne formacje koralowe lub kryształowe, które zatrzymują się po osiągnięciu równowagi, co czyni ją najbardziej przewidywalną i najczęściej badaną zasadą CA 3D.

Dlaczego automaty komórkowe 3D faworyzują stabilność zamiast chaotycznego zachowania, które jest powszechne w 2D?

Zamiast 26 możliwych sąsiadów, a nie 8, wąska ta przekrój przestrzeni progów narodzin i przeżycia, który produkuje „interesujące” zachowanie 2D, odpowiada znikomyemu fragmentowi przestrzeni zasad 3D, więc większość nazwanych zasad 3D celowo faworyzuje stabilność. Ma to również znaczenie obliczeniowe: nieogranzony wzrost w 3D wypełnia objętość zamiast powierzchni, zużywając O(n³) komórek na generację zamiast O(n²), więc reguła ucieczki staje się przytłaczająca znacznie szybciej niż w 2D.

Wypróbuj na żywo

Wszystko powyżej działa bezpośrednio w Twojej przeglądarce — otwórz the simulation 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ę the simulation

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)