Liczby platformy
Symulacje Wave 30
Konstruktor szeregu Fouriera
Rozłóż fale prostokątną, piłokształtną, trójkątną, impulsową i półfalę wyprostowaną na obracające się epicykle. Obserwuj sumowanie harmonicznych w czasie rzeczywistym i przeglądaj widmo częstotliwości.
Otwórz →Soczewkowanie grawitacyjne
Odwrotnie śledź promienie dla każdego piksela przez trzy modele soczewek — masa punktowa (pierścień Einsteina), SIS i profil NFW — i obserwuj, jak galaktyka lub kwazar zniekształca się w łuki.
Otwórz →Czoło epidemii
Model SIR reakcji-dyfuzji FTCS na siatce 150×150. Reguluj β, γ i dyfuzyjność D; obserwuj, jak R₀ = β/γ decyduje, czy czoło fali zapłonie, czy zgaśnie.
Otwórz →🎵 Konstruktor szeregu Fouriera
Matematyka
Każdy sygnał okresowy można zapisać jako sumę sinusoid: f(x) = ∑ cn cos(nx + φn). Konstruktor szeregu Fouriera oblicza analityczne współczynniki dla pięciu klasycznych przebiegów jednym kliknięciem — bez całkowania numerycznego.
- Fala prostokątna — tylko nieparzyste harmoniczne; amplituda 4/(πn), wszystkie w fazie.
- Piłokształtna — wszystkie harmoniczne; amplituda 2/(πn), naprzemienne znaki.
- Trójkątna — nieparzyste harmoniczne; amplituda 8/(π²n²), cykliczna faza z floor((n−1)/2).
- Impulsowa — wszystkie harmoniczne przez obwiednię sinc; wypełnienie 20%.
- Sinus wyprostowany połówkowo — specjalny wzór dla n=1 i parzystych n.
Animacja epicykli
Funkcja drawEpicycles(t) łańcuchuje obracające się ramiona
malejącej długości, jedno na harmoniczną. Koniec ostatniego ramienia
rysuje odtworzony przebieg. Wykres słupkowy widma częstotliwości na
żywo pod canvasem pokazuje amplitudę względem numeru harmonicznej,
aktualizując się przy zmianie liczby wyrazów.
Co wypróbować
- Dodawaj wyrazy jeden po drugim do fali prostokątnej i obserwuj zjawisko Gibbsa na nieciągłości.
- Przełącz na falę trójkątną — wyższe harmoniczne zanikają jak 1/n², więc zbieżność jest znacznie szybsza.
- Ustaw N=1 lub N=3 dla pulsującego pojedynczego ramienia, aby wyraźnie pokazać relacje fazowe.
🔭 Soczewkowanie grawitacyjne
Odwrotne śledzenie promieni
Dla każdego piksela (i, j) na płaszczyźnie obrazu funkcja
deflect(ix, iy) oblicza pozycję kątową na niebie,
skąd rzeczywiście pochodziło światło. Canvas jest wypełniany przez
próbkowanie pozaekranowego obrazu źródłowego w tych przekierowanych
współrzędnych.
Zaimplementowano trzy modele soczewek:
- Masa punktowa — dokładny wynik OTW: β = θ − θE²/|θ|. Daje charakterystyczny pierścień Einsteina przy idealnym wyrównaniu źródła i soczewki.
- SIS (osobliwa izotermiczna sfera) — stały kąt ugięcia α = θE · θ̂; modeluje soczewki skali galaktycznej z w miarę płaskimi krzywymi rotacji.
- NFW (Navarro-Frenk-White) — profil zmieniający się radialnie α(r/rs) opisany wzorem logarytmiczno-arcsekantowym, opisujący zimne halo ciemnej materii.
Co wypróbować
- Masa punktowa ze źródłem kwazara — wyrównaj źródło z soczewką, aby zamknąć pierścień Einsteina.
- Przełącz na SIS i zauważ, że łuki styczne są bardziej rozciągnięte niż promieniowe.
- Przeciągnij suwak promienia Einsteina, aby zobaczyć, jak skaluje się cała geometria soczewkowania.
🦠 Czoło epidemii
Reakcja-dyfuzja SIR
Klasyczny model przedziałowy SIR jest rozszerzony do przestrzeni 2D przez dodanie członu dyfuzji dla populacji zakażonej:
- dS/dt = −β·S·I
- dI/dt = β·S·I − γ·I + D·∇²I
- dR/dt = γ·I
Rozprzestrzenianie przestrzenne wchodzi przez człon laplasjanu D·∇²I, dyskretyzowany 5-punktowym schematem różnic skończonych z warunkami brzegowymi Neumanna (bez wypływu). Integracja używa jawnego Eulera (FTCS) z Δt = 0,25, wykonując 1–20 kroków na klatkę animacji w zależności od suwaka prędkości.
Prędkość czoła fali Fishera-KPP
Daleko przed czołem fali S ≈ 1, a gęstość zakażonych jest mała. W tej granicy równanie dla I linearyzuje się do równania Fishera, którego minimalna prędkość czoła fali wynosi v = 2&sqrt;(D·(β−γ)). Symulacja wyświetla R₀ = β/γ dużą czcionką, kolorowaną na zielono (R₀ < 1, epidemia zanika) przez pomarańczowy do czerwonego (R₀ > 2, szybkie rozprzestrzenianie).
Warunki początkowe
- Centrum — pojedyncze okrągłe ognisko w środku siatki; czoło fali rozszerza się symetrycznie.
- 4 ogniska — cztery ogniska w narożnikach; czoła fal zderzają się i interferują pośrodku.
- Krawędź — cały dolny rząd zakażony; planarne czoło fali przemiata prosto przez siatkę.
- Losowe — ~2% komórek zasianych przy niskiej gęstości; wiele jednoczesnych zdarzeń nukleacji.
Co wypróbować
- Ustaw β = 0,07, γ = 0,08 (R₀ < 1) — ognisko zakażenia zapada się bez rozprzestrzeniania.
- Zwiększ D do maksimum z ogniskiem centralnym — szersze, szybsze czoło fali; mniej wyzdrowiałych komórek w śladzie.
- Użyj "4 ognisk" i obserwuj, jak przeciwbieżne czoła łączą się i wygasają.
- Przełącz na "Krawędź", aby wizualnie zmierzyć prędkość czoła fali względem przewidywania Fishera-KPP.
Najważniejsze rozwiązania techniczne
-
Fourier —
getCoeffs(type, maxN)zwraca zwykłą tablicę obiektów{n, amp, phase}obliczonych w postaci zamkniętej; zero całkowania numerycznego;drawEpicycles(t)renderuje animację obracających się ramion przez Canvas 2D ze śladem przebiegu. -
Soczewkowanie —
deflect(ix, iy)działa w znormalizowanych współrzędnych kątowych; cały canvas jest wypełniany pojedynczym zapisemImageDatana klatkę; wzór źródłowy jest rysowany raz na pozaekranowym canvasie i próbkowany przez wyszukiwanie całkowitoliczbowe zbliżone do biliniowego. -
Epidemia — trzy pary
Float32Arraydo podwójnego buforowania S, I, R; pętla wewnętrzna dotyka każdą z 150×150 = 22 500 komórek w każdym kroku; siatka jest renderowana doImageDatao wymiarach 600×600 pikseli z mieszaniem kolorów S→niebieski, I→czerwony, R→szary. - Wszystkie symulacje Wave 30 mają pełne strony EN + UK i są zarejestrowane w
simulations.json.
Tagi
Szereg Fouriera Epicykle Analiza harmoniczna Soczewkowanie grawitacyjne Ogólna teoria względności Ciemna materia Model SIR Reakcja-dyfuzja Epidemiologia Fisher-KPP Wave 30
Zapowiedź Wave 31
Trzy symulacje są projektowane na kolejne wydanie:
- Fraktal Newtona — metoda Newtona dla z^n−1 na płaszczyźnie zespolonej; kolorowane baseny przyciągania odsłaniające zapierające dech fraktalne granice.
- Kopiec piasku — samoorganizująca się krytyczność Baka–Tanga–Wiesenfelda; statystyki lawin o rozkładzie potęgowym wyłaniające się z prostej reguły przewracania.
- Funkcje zespolone — kolorowanie dziedziny f(z): odcień koduje argument, jasność koduje moduł; wizualizacja biegunów, zer, cięć gałęziowych.
Wszystkie symulacje Wave 31 będą miały strony EN + UK od dnia premiery.