Devlog #95 – Pakiet nauki stosowanej: 12 nowych symulacji w 11 kategoriach

Ten pakiet stawia na szerokość, nie na widowiskowość. Dwanaście nowych symulacji — każda po angielsku i ukraińsku — wzmacnia kilka kategorii, które były dotąd słabo obsadzone: teorię względności, optykę, uczenie maszynowe, klimat, percepcję, matematykę gier, gamedev, kombinatorykę, inżynierię lądową, medtech i agronomię. Od grawitacyjnego przesunięcia ku czerwieni światła opuszczającego czarną dziurę po model „wiadra” wody glebowej stojący za harmonogramem nawadniania rolnika — to nauka stosowana, którą można poeksperymentować wprost w karcie przeglądarki.

12 symulacji w 11 kategoriach

Pakiet nauki stosowanej, dwujęzyczny od pierwszego dnia

Każda symulacja w tym pakiecie zawiera pełny tekst angielski i ukraiński, te same równania i te same interaktywne elementy sterujące. Celem było pogłębienie kategorii, które miały tylko jeden lub dwa wpisy — inżynierię lądową, medtech, agronomię, percepcję — tak, aby biblioteka była zarówno szeroka, jak i głęboka. Serwis liczy teraz 650 symulacji.

650
Wszystkich symulacji
12
Nowych w tym pakiecie
11
Objętych kategorii
95
Nr Devlogu

Nowe symulacje

🔴

Grawitacyjne przesunięcie ku czerwieni względność

Przesunięcie Schwarzschilda dla światła wspinającego się z grawitacyjnej studni. Pięć ciał od Ziemi po czarną dziurę, animowany foton, którego długość fali przesuwa się w stronę czerwieni, oraz eksperyment Pounda-Rebki (z ≈ 2,46×10−¹&sup5;).

🌈

Siatka dyfrakcyjna optyka

Natężenie interferencji N szczelin ze strukturą maksimów głównych i obwiedni sinc, równanie siatki, światło monochromatyczne kontra białe, zdolność rozdzielcza R = mN oraz 6 gotowych ustawień.

🌲

Las losowy uczenie maszynowe

Agregacja bootstrapowa (bagging) plus losowe podzbiory cech drzew decyzyjnych. Porównaj jedno przeuczone drzewo z zespołem 50 drzew, podziały wg nieczystości Giniego, błąd out-of-bag i wygładzoną granicę decyzyjną.

🌊

El Niño (ENSO) klimat

Model oscylatora z opóźnieniem dla oscylacji El Niño-Południe: przechylająca się termoklina Pacyfiku, próg Oceanicznego Indeksu Niño ±0,5°C oraz nieregularny cykl 2–7 lat.

👁️

Grupowanie Gestalt percepcja

Sześć zasad grupowania w akcji: bliskość, podobieństwo, domknięcie (trójkąt Kanizsy), ciągłość, wspólny los oraz figura–tło (odwracalna waza Rubina).

🎲

Prawdopodobieństwo kości matematyka gier

Rozkład sumy rzutów kością jako splot zbiegający do rozkładu Gaussa (centralne twierdzenie graniczne), prawo wielkich liczb, wzory na średnią i wariancję oraz rzeczywiste szanse kasynowe.

🏰

Proceduralny loch gamedev

Trzy klasyczne algorytmy generowania: podział BSP, losowe pokoje połączone grafem korytarzy z drzewa rozpinającego oraz jaskinie z automatów komórkowych — wszystko sterowane tym samym generatorem liniowym kongruentnym z ziarnem.

🔢

Liczby Catalana kombinatoryka

Ciąg Catalana i pięć jego bijekcji: zbalansowane nawiasy, ścieżki Dycka, drzewa binarne, triangulacje wielokąta i nieprzecinające się cięciwy, ze stosunkiem Cₙ₊₁/Cₙ → 4.

🧱

Ściana oporowa inżynieria lądowa

Czynne parcie gruntu wg Rankine'a, siła wypadkowa działająca na H/3, współczynniki bezpieczeństwa przeciw wywróceniu i poślizgowi, mimośród podstawy oraz animowany scenariusz awarii.

🩸

Hemodializa medtech

Przeciwprądowy klirens mocznika, kinetyka jednokompartmentowa, cel adekwatności Kt/V oraz współczynnik redukcji mocznika — matematyka stojąca za zleceniem dializy.

🌱

Fotosynteza agronomia

Krzywa świetlna z punktem kompensacji i saturacji, prawo czynników ograniczających Blackmana, oddychanie ciemniowe oraz gotowe ustawienia dla roślin C3 i C4.

💧

Nawadnianie i woda glebowa agronomia

Bilans wodny gleby, polowa pojemność wodna i punkt trwałego więdnięcia, próg dopuszczalnego zubożenia zarządczego, ewapotranspiracja uprawy ET = ET₀·Kc oraz nawadnianie deficytowe.

Grawitacyjne przesunięcie ku czerwieni: światło wspinające się ze studni

Kiedy foton oddala się od masywnego ciała, traci energię — nie zwalniając (światło nigdy tego nie robi), lecz rozciągając swoją długość fali. To grawitacyjne przesunięcie ku czerwieni jest bezpośrednią konsekwencją ogólnej teorii względności i dylatacji czasu: zegary głębiej w studni grawitacyjnej chodzą wolniej, więc fala tam wyemitowana, mierzona wyżej, ma niższą częstotliwość.

Dla nierotującej sferycznej masy metryka Schwarzschilda daje dokładny stosunek między odebraną a wyemitowaną częstotliwością w funkcji promienia Schwarzschilda oraz pozycji radialnych emitera i odbiornika. Symulacja pozwala wybrać jedno z pięciu ciał — Ziemię, Słońce, białego karła, gwiazdę neutronową i czarną dziurę — i animuje pojedynczy foton wspinający się na zewnątrz, którego kolor przechodzi od niebieskiego ku czerwieni, gdy przesunięcie długości fali jest mapowane na wartość RGB.

Klasycznym ziemskim testem jest eksperyment Pounda-Rebki (1959), który zmierzył znikome przesunięcie ku czerwieni promieni gamma wspinających się po 22,5-metrowej wieży na Harvardzie — ułamkowe przesunięcie zaledwie około 2,46×10−¹&sup5;, potwierdzone za pomocą efektu Mössbauera.

R_s   = 2GM / c^2                  (promień Schwarzschilda)
f_recv / f_emit = sqrt(1 - R_s/r_emit) / sqrt(1 - R_s/r_recv)
z     = (lambda_recv - lambda_emit) / lambda_emit
Pound-Rebka:  z = gh/c^2 ≈ 2.46e-15  (h = 22,5 m)

Siatka dyfrakcyjna: interferencja N szczelin

Siatka dyfrakcyjna to powierzchnia z tysiącami równo rozmieszczonych szczelin lub rowków na milimetr. Światło przechodzące przez nią interferuje konstruktywnie tylko w określonych kierunkach, rozdzielając białe światło na wyraźne linie widmowe — jest to zasada działania każdego laboratoryjnego spektrometru.

Wzór natężenia to iloczyn dwóch czynników: członu interferencji wieloszczelinowej, który gwałtownie się wyostrza wraz ze wzrostem liczby szczelin N, oraz obwiedni dyfrakcji jednoszczelinowej sinc, która moduluje wysokość pików. Maksima główne pojawiają się tam, gdzie różnica dróg optycznych między sąsiednimi szczelinami stanowi całkowitą wielokrotność długości fali, co określa równanie siatki. Zdolność do rozdzielenia dwóch bliskich długości fali — zdolność rozdzielcza — skaluje się zarówno z rzędem widma m, jak i liczbą oświetlonych szczelin N.

Symulacja oferuje tryby światła monochromatycznego i białego, sześć gotowych ustawień od zgrubnej siatki 100 linii/mm po precyzyjną 1200 linii/mm, a także odczyt zdolności rozdzielczej na żywo.

I(theta) = I0 * [ sin(N*delta/2) / (N*sin(delta/2)) ]^2 * sinc^2(beta)
delta    = (2*pi*d/lambda) * sin(theta)        (faza między szczelinami)
d * (sin(theta_i) + sin(theta_m)) = m*lambda   (równanie siatki)
R        = lambda / d(lambda) = m*N            (zdolność rozdzielcza)

Las losowy: mądrość wielu drzew

Pojedyncze drzewo decyzyjne jest łatwe do zinterpretowania, ale podatne na przeuczenie: wystarczająco głęboko wyhodowane, zapamięta dane treningowe i wytworzy postrzępioną, kruchą granicę decyzyjną. Las losowy okiełznuje to, trenując wiele drzew na różnych próbkach bootstrapowych danych, a przy każdym podziale biorąc pod uwagę tylko losowy podzbiór cech. Uśrednienie ich głosów niweluje indywidualne dziwactwa.

Każdy podział jest wybierany tak, aby maksymalizować redukcję nieczystości Giniego — miary tego, jak wymieszane są etykiety klas w węźle. Ponieważ każde drzewo jest trenowane na próbce bootstrapowej, mniej więcej jedna trzecia danych pozostaje poza każdym drzewem; te próbki out-of-bag dają uczciwe oszacowanie błędu generalizacji bez konieczności walidacji krzyżowej.

Symulacja zestawia jedno głębokie drzewo, którego granica trzyma się każdego wartości odstającej, z zespołem 50 drzew, którego granica jest gładka i odporna — wyrazista demonstracja redukcji wariancji dzięki baggingowi.

Gini(node) = 1 - sum_k p_k^2          (nieczystość, p_k = udział klasy)
Bootstrap: próbkuj n punktów ze zwracaniem dla każdego drzewa
Podzbiór cech: wybierz sqrt(p) cech przy każdym podziale
Błąd OOB: przewiduj każdy punkt, używając tylko drzew, które go nie widziały
Głosowanie: klasa większościowa spośród wszystkich drzew

El Niño: oscylator z opóźnieniem

Oscylacja El Niño-Południe (ENSO) to największe źródło rocznej zmienności klimatycznej na Ziemi. Powstaje ze sprzężonego sprzężenia zwrotnego między tropikalnym Oceanem Spokojnym a atmosferą nad nim: ciepła temperatura powierzchni morza osłabia pasaty, co spłaszcza termoklinę, co dalej ociepla powierzchnię — dodatnie sprzężenie zwrotne, które wymknęłoby się spod kontroli, gdyby nie opóźnione ujemne sprzężenie zwrotne niesione przez wolne fale oceaniczne przemierzające basen.

Model oscylatora z opóźnieniem ujmuje to w jednym równaniu: lokalny człon wzrostu dodatniego, opóźniony człon ujemny reprezentujący fale, które odbijają się od zachodniej granicy i wracają po pewnym opóźnieniu czasowym, oraz człon sześcienny ograniczający amplitudę. Rezultatem jest samopodtrzymująca się, lecz nieregularna oscylacja o okresie od dwóch do siedmiu lat.

Symulacja przechyla termoklinę Pacyfiku w czasie rzeczywistym i śledzi Oceaniczny Indeks Niño, ogłaszając zdarzenie El Niño lub La Niña, gdy tylko indeks przekroczy ±0,5°C przez utrzymujący się okres.

dT/dt = a*T(t) - b*T(t - tau) - eps*T(t)^3
  a   : lokalny wzrost sprzężony (sprzężenie zwrotne Bjerknesa)
  b   : opóźnione sprzężenie zwrotne falowe (ujemne)
  tau : opóźnienie przejścia/odbicia fali oceanicznej
Zdarzenie ONI:  |T| > 0,5 C utrzymujące się;  okres ≈ 2-7 lat

Grupowanie Gestalt: jak organizuje się wzrok

Psychologia Gestalt, rozwinięta na początku XX wieku w Niemczech, głosi, że układ wzrokowy postrzega całościowe, zorganizowane formy, a nie izolowane części — „całość jest czymś innym niż sumą swoich części”. Garść zasad grupowania opisuje, jak rozproszone elementy zamieniają się w spójne obiekty.

Symulacja demonstruje sześć z nich interaktywnie. Bliskość grupuje sąsiadujące kropki w rzędy lub kolumny; podobieństwo grupuje wg koloru lub kształtu; domknięcie pozwala umysłowi dopełnić przerwany kontur, tworząc słynny iluzoryczny trójkąt Kanizsy; ciągłość faworyzuje gładkie, nieprzerwane linie; wspólny los łączy elementy poruszające się razem; a organizacja figura–tło wymusza wybór między dwoma odczytami, jak w odwracalnym obrazie wazy-twarzy Rubina.

Każda zasada ma przełącznik pozwalający obserwować, jak te same elementy przegrupowują się przy zmianie odstępów, koloru, ruchu lub kompletności konturu — bezpośrednie, manipulowalne okno na organizację percepcyjną.

Prawdopodobieństwo kości: od splotu do krzywej dzwonowej

Rzut pojedynczą uczciwą kością daje płaski, jednostajny rozkład. Zsumuj dwie kości, a rozkład staje się trójkątny; zsumuj wiele, a wyrasta w znajomą krzywą dzwonową. To namacalna ilustracja centralnego twierdzenia granicznego: rozkład sumy niezależnych, jednakowo rozłożonych zmiennych dąży do rozkładu Gaussa, niezależnie od kształtu poszczególnego rozkładu.

Mechanicznie funkcja masy prawdopodobieństwa sumy rzutów kością to wielokrotny splot rozkładu pojedynczej kości z samym sobą. Symulacja buduje tę funkcję bezpośrednio i nakłada na nią graniczny rozkład Gaussa, podczas gdy osobny panel wykonuje tysiące rzutów, pokazując, jak średnia bieżąca zbliża się do teoretycznej wartości oczekiwanej — prawo wielkich liczb.

E[sum]   = n * (s + 1) / 2
Var[sum] = n * (s^2 - 1) / 12          (n kości, s ścianek każda)
P_sum    = P_die * P_die * ... (n-krotny splot)
CTG:  znormalizowana suma -> Normal(0,1) wraz ze wzrostem n
PWL:  średnia z próby -> E[X] wraz ze wzrostem liczby rzutów

Proceduralny loch: trzy generatory, jedno ziarno

Generowanie proceduralne pozwala grze budować niekończące się, zróżnicowane poziomy z kilku linii kodu i losowego ziarna. Symulacja implementuje obok siebie trzy kanoniczne generatory lochów, wszystkie sterowane tym samym generatorem liniowym kongruentnym z ziarnem, dzięki czemu każdy układ jest dokładnie odtwarzalny.

Binarny podział przestrzenny rekurencyjnie dzieli mapę na coraz mniejsze prostokąty, następnie umieszcza pokój w każdym liściu i łączy sąsiednie pokoje — tworząc schludne, architektonicznie wiarygodne lochy. Metoda losowych pokoi rozrzuca prostokąty, odrzuca nakładające się i łączy pozostałe korytarzami wyprowadzonymi z minimalnego drzewa rozpinającego, dając organiczny labirynt. Automaty komórkowe zaczynają od losowego szumu i wielokrotnie stosują regułę wygładzania, wykuwając systemy jaskiń o miękkich, naturalnych ścianach.

LCG:  x = (a*x + c) mod m            (deterministyczny, sterowany ziarnem)
BSP:  podziel prostokąt; rekursja; pokój na liść; połącz sąsiadów
Pokoje+MST: rozmieść prostokąty; odrzuć nakładanie; korytarze przez drzewo rozpinające
Jaskinie: losowe wypełnienie p; powtarzaj: komórka = (sąsiednie_ściany >= 5)

Liczby Catalana: jeden ciąg, wiele twarzy

Liczby Catalana 1, 1, 2, 5, 14, 42, 132… pojawiają się w zdumiewającej różnorodności problemów kombinatorycznych. Symulacja pokazuje pięć z nich jako żywe, manipulowalne bijekcje, uwypuklając zaskakujący fakt, że wszystkie są zliczane przez ten sam ciąg.

N-ta liczba Catalana zlicza sposoby zbalansowania n par nawiasów, monotoniczne ścieżki kratowe pozostające pod przekątną (ścieżki Dycka), kształty drzew binarnych z n węzłami wewnętrznymi, triangulacje wielokąta wypukłego oraz sposoby poprowadzenia nieprzecinających się cięciw łączących 2n punktów na okręgu. Przeciągnij suwak dla n, a każdy panel przeliczy się w tym samym rytmie.

C_n = (2n)! / ((n+1)! * n!) = binom(2n, n) / (n + 1)
Rekurencja:  C_{n+1} = sum_{i=0..n} C_i * C_{n-i}
Stosunek asymptotyczny:  C_{n+1} / C_n -> 4  wraz ze wzrostem n
n:    0 1 2 3 4  5   6
C_n:  1 1 2 5 14 42 132

Ściana oporowa: parcie gruntu i bezpieczeństwo

Ściana oporowa powstrzymuje masę gruntu, która w przeciwnym razie osunęłaby się do swojego naturalnego kąta stoku. Zaprojektowanie jej oznacza określenie ilościowe poziomego parcia wywieranego przez grunt oraz wykazanie, że ściana nie przewróci się, nie poślizgnie do przodu ani nie przeciąży podłoża pod sobą.

Teoria Rankine'a podaje współczynnik czynnego parcia gruntu jako funkcję kąta tarcia wewnętrznego gruntu. Parcie rośnie liniowo z głębokością, więc wypadkowa siła działa na jednej trzeciej wysokości ściany licząc od podstawy. Symulacja oblicza współczynniki bezpieczeństwa przeciw wywróceniu i poślizgowi, mimośród wypadkowej na podstawie i odtwarza animowaną awarię, gdy współczynnik bezpieczeństwa spadnie poniżej progu.

K_a   = tan^2(45 - phi/2)              (czynny współczynnik Rankine'a)
P_a   = 0,5 * K_a * gamma * H^2        (siła, działająca na H/3)
FS_wywrócenie = M_utrzym / M_wywr   >= 2,0
FS_poślizg     = (mu * N) / P_a          >= 1,5
e     = B/2 - (M_net / N)               (mimośród podstawy)

Hemodializa: membrana zamiast nerki

Gdy nerki zawodzą, aparat do dializy przejmuje zadanie oczyszczania krwi z toksycznych związków. Krew i czysty płyn dializacyjny płyną po przeciwnych stronach półprzepuszczalnej membrany, a małe cząsteczki, takie jak mocznik, dyfundują wzdłuż gradientu stężeń z krwi do dializatu.

Prowadzenie dwóch przepływów przeciwprądowo — w przeciwnych kierunkach — utrzymuje wysoki gradient stężeń na całej długości membrany, maksymalizując klirens. Symulacja modeluje spadające stężenie mocznika we krwi za pomocą kinetyki jednokompartmentowej i podaje dwie kliniczne miary adekwatności: bezwymiarowe Kt/V oraz współczynnik redukcji mocznika.

C(t)  = C0 * exp(-K * t / V)           (kinetyka mocznika jednokompartmentowa)
  K   : klirens dializatora (mL/min)
  V   : objętość dystrybucji mocznika
Kt/V  >= 1,2     (cel adekwatności na sesję)
URR   = (C0 - C_end) / C0 * 100%

Fotosynteza: krzywa świetlna

Tempo, w jakim liść wiąże węgiel, zależy między innymi od ilości otrzymywanego światła. Przy niskim natężeniu światła tempo rośnie niemal liniowo; w miarę wzrostu natężenia światła tempo osiąga nasycenie, ponieważ maszyneria biochemiczna nie nadąża. Poniżej pewnego poziomu światła — punktu kompensacji — oddychanie przewyższa fotosyntezę i liść staje się netto emitentem węgla.

Symulacja modeluje asymilację netto za pomocą hiperboli nieprostokątnej, sterowanej wydajnością kwantową i maksymalnym tempem nasycenia światłem, pomniejszoną o stały człon oddychania ciemniowego. Zaznacza punkty kompensacji i saturacji oraz ilustruje prawo czynników ograniczających Blackmana — ideę, że najwolniejszy czynnik wejściowy ogranicza ogólne tempo. Gotowe ustawienia dla C3 i C4 pokazują, dlaczego rośliny C4, które koncentrują CO₂ wokół swojego enzymu wiążącego, przewyższają rośliny C3 w warunkach jasnych i gorących.

A_net = (phi*I * A_max) / (phi*I + A_max) - R_d
  phi   : wydajność kwantowa (mol CO2 na mol fotonów)
  I     : strumień fotonów;   A_max : tempo nasycenia światłem
  R_d   : oddychanie ciemniowe
Punkt kompensacji:  A_net = 0
Punkt saturacji:    dA/dI ≈ 0  (ograniczenie Blackmana)

Nawadnianie: „wiadro” wody glebowej

Strefa korzeniowa pola zachowuje się jak dziurawe wiadro. Deszcz i nawadnianie je napełniają; transpiracja uprawy, głęboki drenaż i spływ powierzchniowy je opróżniają. Rozsądny harmonogram nawadniania oznacza wiedzę, jak pełne jest wiadro, i uzupełnianie go, zanim uprawie zabraknie wody.

Wiadro ograniczają dwie właściwości gleby: polowa pojemność wodna, czyli woda utrzymywana po odprowadzeniu nadmiaru przez grawitację, oraz punkt trwałego więdnięcia, poniżej którego korzenie nie mogą już pobierać wody. Woda dostępna dla rośliny leży pomiędzy nimi, a frakcja dopuszczalnego zubożenia zarządczego wyznacza próg dla kolejnego nawadniania. Zapotrzebowanie uprawy na wodę to referencyjna ewapotranspiracja przeskalowana współczynnikiem uprawy; symulacja bada również nawadnianie deficytowe, gdzie celowe niedopojenie oszczędza wodę kosztem umiarkowanego spadku plonu.

delta_S = P + I - ET - D - R           (bilans wodny gleby)
  P,I : opady, nawadnianie;  D,R : drenaż, spływ
ET    = ET0 * Kc                       (ewapotranspiracja uprawy)
TAW   = (FC - WP) * root_depth         (całkowita dostępna woda)
Uruchom nawadnianie, gdy zubożenie >= MAD * TAW

Co dalej

To zamyka pakiet nauki stosowanej — 12 symulacji, 11 kategorii, wszystkie dwujęzyczne, doprowadzając bibliotekę do 650. Skoro inżynieria lądowa, medtech i agronomia są teraz lepiej reprezentowane, kolejny pakiet powróci do fizycznego i matematycznego trzonu, jednocześnie wciąż wypełniając luki w percepcji i matematyce gier. Przeglądaj wszystko w archiwum bloga.

← Devlog #94: Fala 73 Wszystkie wpisy →