Statystyki platformy
Wave 29 w skrócie
Wizualizator szeregu Taylora
Obserwuj, jak sin, cos, ex, ln(1+x), arctan, sinh, cosh, 1/(1−x) przybliżają swoje cele wyraz po wyrazie. Regulowane centrum rozwinięcia, N do 20 wyrazów, panel błędu na żywo, etykieta promienia zbieżności.
Wypróbuj →Neuron Hodgkina–Huxleya
Nagrodzony Nagrodą Nobla 1963 model przewodnictwa aksonu kałamarnicy. Wstrzyknij impuls prądowy i obserwuj, jak zmienne bramkujące Na+ / K+ m, h, n napędzają skok potencjału czynnościowego, okres refrakcji i powtarzalne wyładowania.
Wypróbuj →Model Isinga — przejście fazowe
2D Monte Carlo Metropolisa–Hastingsa na siatce spinów N×N. Reguluj temperaturę, pole zewnętrzne i stałą sprzężenia. Obserwuj, jak spontaniczna magnetyzacja pojawia się poniżej Tc = 2,269 J/kB.
Wypróbuj →Wizualizator szeregu Taylora
Szereg Taylora rozwija dowolną gładką funkcję jako nieskończony wielomian wyśrodkowany w punkcie a:
f(x) = Σ f(n)(a) · (x − a)n / n!
Wizualizator obsługuje osiem funkcji i pozwala przesuwać centrum rozwinięcia a w dowolnym miejscu osi — nie tylko w punkcie zerowym Maclaurina. Każdy dodany wyraz jest podświetlony na wykresie i wypisany pod canvasem, dzięki czemu łatwo zobaczyć, jak szybko (lub wolno) suma częściowa zbiega do prawdziwej krzywej.
- Panel główny — prawdziwa funkcja (biała) i suma częściowa (cyjan) nałożone na siebie; luka między nimi jest wypełniona, aby pokazać błąd chwilowy.
- Panel błędu — przełączalny subwykres |f(x) − PN(x)| w skali logarytmicznej, uwidaczniający natychmiast rozbieżność na granicy zbieżności.
- Lista wyrazów — przewijalna lista aktualnych współczynników z podświetlonym wyrazem najwyższego rzędu w chwili dodania.
- Promień zbieżności — wyświetlany dla każdej funkcji (np. R = 1 dla ln(1+x) i arctan, R = ∞ dla sin/cos/exp).
Kontrolki: wybór funkcji, centrum rozwinięcia a (−3 do 3), liczba wyrazów N (1–20), przybliżenie zakresu x, przełącznik panelu błędu, przycisk animacji (automatycznie zwiększa N od 1 wzwyż).
Neuron Hodgkina–Huxleya
Model Hodgkina–Huxleya (1952, Nagroda Nobla 1963) opisuje jonowy mechanizm potencjału czynnościowego w gigantycznym aksonie kałamarnicy. Potencjał błonowy V spełnia ODE:
Cm dV/dt = Iext − gNa m3h(V − ENa) − gK n4(V − EK) − gL(V − EL)
ze zmiennymi bramkującymi m, h (aktywacja/inaktywacja sodowa) i n (aktywacja potasowa), z których każda podlega kinetyce pierwszego rzędu dx/dt = αx(V)(1−x) − βx(V)x.
Symulacja używa oryginalnych parametrów aksonu kałamarnicy Hodgkina i Huxleya z 1952 roku (Cm = 1 μF/cm², gNa = 120, gK = 36, gL = 0,3 mS/cm²) i całkuje pełny układ ODE metodą Eulera z dt = 0,01 ms. Canvas rysuje V(t) na niebiesko plus trzy ślady zmiennych bramkujących (m czerwony, h żółty, n zielony) oraz fioletowy pasek Iext. Panel informacyjny zgłasza liczbę skoków, szczytowe napięcie i częstotliwość wyładowań.
- Presety — pojedynczy skok, powtarzalne wyładowania, podprogowa stymulacja, krótki impuls, wybuch wysokiej częstotliwości.
- Suwaki — Iext (0–20 μA/cm²), początek i czas trwania impulsu, okno symulacji (10–200 ms).
- Tryb animacji — odtwarza symulację w widoku przewijanym w czasie rzeczywistym przy 60 fps, dzięki czemu można obserwować narastanie ciągu skoków.
Model Isinga — przejścia fazowe
2D model Isinga to najprostszy układ przechodzący ciągłe przejście fazowe. Spiny si = ±1 na siatce kwadratowej oddziałują poprzez sprzężenie z najbliższymi sąsiadami; hamiltonian ma postać:
H = −J Σ⟨i,j⟩ si sj − H Σi si
Algorytm Metropolisa–Hastingsa próbkuje rozkład Boltzmanna: losowy obrót spinu jest akceptowany bezwarunkowo, jeśli ΔE ≤ 0, lub z prawdopodobieństwem e−ΔE/kBT w przeciwnym razie. Poniżej dokładnej 2D temperatury krytycznej kBTc = 2J/ln(1+√2) ≈ 2,269J pojawia się spontaniczna magnetyzacja i rosną duże domeny ferromagnetyczne. Powyżej Tc fluktuacje termiczne całkowicie porządkują siatkę w nieporządek.
Canvas koduje kolorem każdy spin (ciepła czerwień = góra, chłodny
błękit = dół) i renderuje w pełnej rozdzielczości przez
ImageData, umożliwiając płynną animację w czasie
rzeczywistym nawet przy N = 80 (6400 spinów). Wykres historii
magnetyzacji na żywo śledzi |〈m〉| w czasie. Kontrolki
udostępniają T/Tc, pole zewnętrzne H, sprzężenie J,
rozmiar siatki N oraz warunki początkowe (losowe, wszystkie w
górę, wszystkie w dół).
Uwagi inżynierskie
Szereg Taylora: analityczne obliczanie n-tej pochodnej + regularyzacja L’Hôpitala
Obliczenie współczynnika Taylora cn = f(n)(a)/n! wymaga dokładnej n-tej pochodnej w centrum rozwinięcia. Dla sin, cos, sinh, cosh pochodne cyklują się z okresem odpowiednio 4 lub 2, więc wystarczy prosty dyspozytor modulo. Dla ln(1+x) wzór to cn = (−1)n+1(n−1)!/(1+a)n. Dla 1/(1−x) postać zamknięta to n!/(1−a)n+1. Dla arctan, którego wyższe pochodne nie mają czystej postaci zamkniętej, implementacja stosuje wyśrodkowany schemat różnic skończonych rzędu n. Silnie są memoizowane do n = 170 (granica przepełnienia podwójnej precyzji). Funkcje szybkości αm i αn w Hodgkinie–Huxleyu stosują ten sam wzorzec reguły L’Hôpitala: gdy |V + 40| < 10−5 (odp. |V + 55|), wartość graniczna 1,0 (odp. 0,1) jest zwracana bezpośrednio, aby uniknąć 0/0 przez skracanie.
Hodgkin–Huxley: pełne rozwiązanie, potem renderowanie dla animacji bez zakłóceń
Zamiast krokować ODE wewnątrz pętli animacji (co grozi
drganiami klatek powodującymi widoczny szum numeryczny),
symulacja uruchamia całą synchroniczną integrację Eulera w
głównym wątku za każdym razem, gdy zmienia się suwak,
przechowując kompletne tablice V(t), m(t), h(t), n(t). Pętla
requestAnimationFrame
po prostu przewija okno po wstępnie obliczonych tablicach i
rysuje widoczny segment, gwarantując, że kształt fali jest
identyczny niezależnie od częstotliwości odświeżania ekranu.
Okno 200 ms przy dt = 0,01 ms to 20 000 punktów
— wystarczająco szybkie do obliczenia w <2 ms na
każdym nowoczesnym urządzeniu.
Model Isinga: losowy dostęp Metropolisa a przemiatanie szachownicowe
Kanoniczna implementacja podręcznikowa używa przemiatania
szachownicowego (czerwono-czarnego), aby uniknąć
problemów wyścigu danych w implementacjach równoległych, ale
wprowadza to subtelną korelację: podsieć "czarna" odczuwa wpływ
wszystkich zaktualizowanych spinów czerwonych
jednocześnie, tworząc małe systematyczne odchylenie w pobliżu
Tc. Symulacja zamiast tego używa
losowego dostępu Metropolisa: każdy podkrok wybiera
jednorodnie losowy indeks spinu, oblicza ΔE z czterech
sąsiadów o warunkach okresowych i stosuje kryterium akceptacji.
Jedno przemiatanie składa się z N² takich pojedynczych
propozycji, więc każde przemiatanie jest statystycznie
równoważne jednemu krokowi Monte Carlo na spin (MCS).
Int8Array przechowuje spiny kompaktowo
(±1 w 1 bajcie każdy), a ImageData renderuje
siatkę pojedynczym wywołaniem putImageData na
klatkę.
Co dalej — zapowiedź Wave 30
Planowane tematy na Wave 30 obejmują:
- Konstruktor szeregu Fouriera — rozkładanie fal prostokątnych, piłokształtnych i trójkątnych na harmoniczne; interaktywne dodawanie/usuwanie wyrazów; obserwacja zjawiska Gibbsa na nieciągłościach
- Soczewkowanie grawitacyjne — ugięcie światła Schwarzschilda, promień pierścienia Einsteina, soczewki punktowe i rozciągłe, obrazy źródła po retro-soczewkowaniu
- Czoło fali epidemii (SIR-PDE) — model SIR reakcji-dyfuzji na siatce 2D, prędkość propagacji przestrzennej, krzywizna czoła fali, heterogeniczność populacji
Wszystkie symulacje Wave 30 będą miały strony EN + UK od dnia premiery.