Fala 31: Fraktal Newtona, Sterta piasku i Funkcje zespolone

Fala 31 przynosi trzy wizualnie spektakularne symulacje matematyczne: fraktalne granice basenów wynikające z metody wyszukiwania pierwiastków Newtona, emergentną potęgową krytyczność w stercie piasku rosnącej ziarno po ziarnie oraz kalejdoskopowe kolorowanie dziedziny funkcji zespolonych. Wszystkie trzy wychodzą z pełnymi stronami EN + UK.

Liczby platformy

466
Symulacje
72
Kategorie
51
Devlogi
31
Fale

Symulacje fali 31

🌀

Fraktal Newtona

Metoda wyszukiwania pierwiastków Newtona zastosowana do zn−1 na płaszczyźnie zespolonej. Każdy piksel jest kolorowany w zależności od tego, do którego pierwiastka zbiega i jak szybko.

Otwórz →

Model sterty piasku

Samoorganizująca się krytyczność Baka–Tanga–Wiesenfelda. Dodawaj ziarna, aż komórki się przewrócą; lawiny wszystkich rozmiarów pojawiają się bez żadnego strojenia parametrów.

Otwórz →
🎨

Funkcje zespolone

Kolorowanie dziedziny f(z): odcień = arg f(z), jasność = |f(z)|. Wizualizuj bieguny, zera i cięcia gałęzi dla 12 klasycznych funkcji.

Otwórz →

🌀 Fraktal Newtona

Algorytm

Metoda Newtona znajduje pierwiastki f(z) = 0 poprzez iterację:

zn+1 = zn − f(zn) / f′(zn)

Dla wielomianu f(z) = zk−1 pierwiastkami są k-te pierwiastki z jedynki: e2πin/k dla n = 0, 1, …, k−1. Fraktal powstaje, ponieważ granice między basenami przyciągania — zbiorami punktów startowych zbiegających do każdego pierwiastka — są nieskończenie szczegółowe.

Renderowanie piksel po pikselu

Każdy z 600×600 pikseli płótna odwzorowuje punkt z na płaszczyźnie zespolonej. Pętla wewnętrzna wykonuje kroki metody Newtona, dopóki odległość do najbliższego pierwiastka nie spadnie poniżej tolerancji ε albo nie zostanie osiągnięta maksymalna liczba iteracji. Szybkość zbieżności (liczba iteracji potrzebna do osiągnięcia tolerancji) moduluje jasność, tworząc cieniowany gradient, który nadaje obrazowi wrażenie trójwymiarowości.

Arytmetyka liczb zespolonych

Cała arytmetyka wykonywana jest na parach część rzeczywista/część urojona. cmul(ar,ai,br,bi) zwraca [ar·br−ai·bi, ar·bi+ai·br]. zn jest obliczane przez wielokrotne wywołanie cmul, a nie za pomocą wzoru de Moivre'a (dzięki temu kod pozostaje bez rozgałęzień dla dowolnego wykładnika całkowitego). Dzielenie f(z)/f′(z) korzysta z cdiv ze standardowym wzorem „sprzężenie przez kwadrat modułu”.

Co warto wypróbować

⏳ Model sterty piasku

Bak–Tang–Wiesenfeld (1987)

Sterta piasku BTW to kanoniczny model samoorganizującej się krytyczności (SOC). Całkowita wysokość hi,j jest przechowywana w każdej komórce siatki N×N. Dodanie ziarna do dowolnej komórki może wywołać kaskadę przewrotek zgodnie z regułą:

if h[i,j] ≥ K: h[i,j] −= K; each of 4 neighbours: h += 1

Ziarna, które opuszczają granicę, znikają (granica otwarta), więc całkowita liczba ziaren jest zachowana średnio. System samoorganizuje się do stanu krytycznego bez żadnego strojenia K, a rozkład rozmiarów lawin P(s) jest zgodny z prawem potęgowym P(s) ~ s−τ z τ ≈ 1.2.

Implementacja

Siatka to płaski Int32Array(N×N). Pętla stabilizacji korzysta z podejścia opartego na kolejce BFS: komórki krytyczne na początku upuszczenia są wprowadzane do kolejki, a następnie przetwarzane jedna po drugiej. Nowo krytyczni sąsiedzi są dołączani do kolejki. Rozmiar lawiny to całkowita liczba zdarzeń przewrócenia. Kolory są przypisywane według wysokości całkowitej (0=czarny, 1=ciemnozielony, 2=żółto-zielony, 3=bursztynowy, ≥K=czerwono-pomarańczowy) i zapisywane bezpośrednio w buforze ImageData.

Co warto wypróbować

🎨 Funkcje zespolone

Kolorowanie dziedziny

Kolorowanie dziedziny to technika wizualizacji funkcji zespolonych f : ℂ → ℂ na płótnie 2D. Dla każdego punktu z = x + iy w oknie podglądu obliczamy f(z) = u + iv i odwzorowujemy wynik na kolor:

Arytmetyka liczb zespolonych w JS

Cała arytmetyka wykonywana jest analitycznie na parach (część rzeczywista, część urojona) — żaden obiekt liczby zespolonej nie jest alokowany, aby pętla wewnętrzna pozostała szybka:

Łącznie dostępnych jest dwanaście funkcji. Przełączenie funkcji uruchamia opóźnione ponowne renderowanie wszystkich 360 000 pikseli; podczas obliczeń (~30 ms) wyświetlana jest nakładka “Rendering…”.

Co warto wypróbować

Najważniejsze rozwiązania techniczne

Tagi

Metoda Newtona Fraktale Baseny przyciągania Sterta piasku Samoorganizująca się krytyczność Prawo potęgowe Analiza zespolona Kolorowanie dziedziny Odwzorowanie konforemne Fala 31

Zapowiedź fali 32

Trzy symulacje są projektowane na falę 32:

Wszystkie symulacje fali 32 wyjdą ze stronami EN + UK w dniu premiery.