Strona główna Chaos i Dynamika Nieliniowa Lorenz Attractor — 3D Chaos

🦋 Lorenz Attractor — 3D Chaos

A 3D Lorenz butterfly attractor in Three.js. Adjust sigma, rho and beta, orbit the camera, and pick a trail colour or preset.

Chaos i Dynamika Nieliniowa3DŚredni60 FPS
lorenz-3d ↗ Otwórz osobno
Interfejs samej symulacji jest w języku angielskim.

O atraktorze Lorenza — symulacji chaosu 3D

Układ Lorenza to zestaw trzech sprzężonych nieliniowych równań różniczkowych zwyczajnych, po raz pierwszy wyprowadzonych przez meteorologa Edwarda Lorenza w 1963 roku podczas modelowania konwekcji atmosferycznej: ẋ = σ(y − x), ẏ = x(ρ − z) − y, ż = xy − βz. Dla klasycznych parametrów σ = 10, ρ = 28, β = 8/3, trajektoria nigdy się nie zamyka na sobie, ale pozostaje na zawsze ograniczona do zwartego, fraktalnego obszaru przestrzeni fazowej — dziwnego atraktora Lorenza. Układ jest prototypowym przykładem chaosu deterministycznego: drobne różnice w warunkach początkowych rosną wykładniczo, czyniąc długoterminową prognozę niemożliwą mimo w pełni deterministycznych równań.

Ta symulacja całkuje równania Lorenza w czasie rzeczywistym za pomocą czterorzędowej metody Rungego–Kutty (krok dt = 0,005) wewnątrz sceny Three.js WebGL ze swobodnie orbitującą kamerą (OrbitControls). Każdy punkt na wstędze śladu jest kolorowany jednym z czterech trybów — chwilową prędkością, bieżącym skrzydłem (x < 0 lub x > 0), wysokością wzdłuż osi z lub upływem czasu — czyniąc topologię dziwnego atraktora wizualnie wyrazistą. Pięć presetów pozwala odkrywać jakościowe zmiany zachowania: klasyczny chaos przy ρ = 28, blisko bifurkacji przy ρ = 24, prawdziwie okresowa orbita przy ρ = 99,96, chaos przejściowy przed ustabilizowaniem przy ρ = 21, oraz uproszczony atmosferyczny model Lorenza-84.

Najczęściej zadawane pytania

Czym są równania Lorenza?

Równania Lorenza to trzy sprzężone równania różniczkowe zwyczajne pierwszego rzędu: dx/dt = σ(y − x), dy/dt = x(ρ − z) − y, dz/dt = xy − βz. Modelują one wałki konwekcyjne cienkiej warstwy cieczy ogrzewanej od dołu (konwekcja Rayleigha-Bénarda). Zmienna x jest proporcjonalna do tempa konwekcyjnego przewracania się, y do poziomej różnicy temperatur, a z do zniekształcenia pionowego profilu temperatury. Lorenz wyprowadził je w 1963 roku z równań Naviera–Stokesa, zachowując tylko trzy mody Fouriera.

Jak sterować tą symulacją?

Przeciągnij na canvasie 3D, aby obrócić atraktor; przewiń lub uszczypnij, aby przybliżyć; przeciągnij prawym przyciskiem myszy, aby przesunąć widok. Suwaki HUD u góry pozwalają zmieniać σ (sigma), ρ (rho) i β (beta) w czasie rzeczywistym, a suwak Śladu dostosowuje, ile ostatnich kroków całkowania jest pokazywanych. Rozwijana lista Koloru przełącza między kolorowaniem według prędkości, strony skrzydła, wysokości lub czasu. Menu Presetów natychmiast stosuje pięć dobrze znanych zestawów parametrów. Pauza/Odtwórz zatrzymuje i wznawia całkowanie; Restart zaczyna od początku i wyśrodkowuje kamerę.

Dlaczego atraktor Lorenza nazywany jest „motylem”?

Oglądany z góry (wzdłuż osi z) dwie pętle orbit atraktora Lorenza przypominają skrzydła motyla, a trajektoria wykręca się spiralnie na zewnątrz na jednym płacie, po czym przełącza się na wykręcanie spiralne na drugim. Ten wizualny kształt dał nazwę „efektowi motyla” — Lorenz spopularyzował tę metaforę w wykładzie z 1972 roku zatytułowanym „Przewidywalność: czy trzepot skrzydeł motyla w Brazylii wywołuje tornado w Teksasie?”, aby opisać, jak drobne zaburzenia wzmacniają się wykładniczo w układach chaotycznych.

Jakiej metody całkowania używa ta symulacja?

Symulacja wykorzystuje klasyczną czterorzędową metodę Rungego–Kutty (RK4) ze stałym krokiem czasowym dt = 0,005 i 6 podkrokami na renderowaną klatkę (efektywny postęp 0,03 na klatkę przy 60 fps). RK4 zapewnia dokładność czwartego rzędu — lokalny błąd obcięcia O(dt⁵) — co jest istotne dla sztywnego układu chaotycznego, jakim jest atraktor Lorenza, gdzie prostsza metoda Eulera szybko gromadzi błędy w przestrzeni fazowej. Trajektoria dzięki temu ściśle śledzi prawdziwy matematyczny atraktor przez tysiące kroków, zanim chaotyczna rozbieżność od jakiejkolwiek „prawdziwej” orbity staje się nieunikniona.

Czym jest dziwny atraktor?

Dziwny atraktor to atraktor w przestrzeni fazowej o strukturze fraktalnej — zajmuje zerową objętość, a mimo to trajektorie pozostają w nim uwięzione na zawsze. Atraktor Lorenza ma wymiar Hausdorffa (fraktalny) wynoszący w przybliżeniu 2,06, co oznacza, że jest nieco bardziej złożony niż powierzchnia, ale znacznie mniej wypełnia przestrzeń niż bryła 3D. Sąsiednie trajektorie na atraktorze rozbiegają się ze średnim tempem mierzonym maksymalnym wykładnikiem Lapunowa λ₁ ≈ 0,906 s⁻¹, potwierdzającym chaos deterministyczny: przewidywalność zmniejsza się o połowę mniej więcej co 0,76 jednostki czasu (≈ln 2 / λ₁).

Co się dzieje, gdy zmienia się rho (ρ)?

Parametr ρ kontroluje siłę napędową (analogiczną do liczby Rayleigha w konwekcji). Dla ρ < 1 wszystkie trajektorie zbiegają do początku układu (brak konwekcji). Dla 1 < ρ < 24,74 układ ma dwa stabilne punkty stałe (ustalone wałki konwekcyjne). Przy ρ ≈ 24,74 zachodzi podkrytyczna bifurkacja Hopfa i pojawia się chaos. Przy ρ = 28 istnieje słynny dziwny atraktor. W pobliżu ρ = 99,96 ponownie pojawia się orbita okresowa — czasem nazywana oknem okresowym wewnątrz reżimu chaotycznego. Menu Presetów pozwala przeskakiwać między tymi jakościowo różnymi zachowaniami bez ręcznego dostrajania.

Co kontrolują sigma (σ) i beta (β)?

σ to liczba Prandtla, stosunek dyfuzyjności pędu (lepkości kinematycznej) do dyfuzyjności cieplnej. Dla powietrza σ ≈ 0,72; Lorenz użył σ = 10, co odpowiada wodzie i daje solidny chaos. Zmniejszenie σ poniżej 1 ma tendencję do tłumienia chaosu. β to czynnik geometryczny związany ze stosunkiem wymiarów komórki konwekcyjnej: dla klasycznego przybliżenia okrągłego wałka β = 8/3 ≈ 2,667. Zmiana β przesuwa położenie skrzydeł punktów stałych i nieznacznie zmienia wymiar fraktalny atraktora, ale rzadko eliminuje chaos przy standardowym ρ=28.

Jak obliczane jest kolorowanie według prędkości?

W każdym kroku całkowania chwilowa prędkość jest obliczana jako wielkość wektora prędkości w przestrzeni fazowej: |v| = √(ẋ² + ẏ² + ż²). Jest to mapowane liniowo z zakresu 0–30 na wartość barwy 240°–0° (niebieski dla wolnego, czerwony dla szybkiego). Ślad zazwyczaj pokazuje więc niebieski (wolno) blisko wewnętrznych spirali każdego płata — gdzie trajektoria owija się ciasno — i czerwony (szybko) blisko obszaru siodłowego przejścia między dwoma skrzydłami, czyniąc strukturę dynamiczną natychmiast widoczną.

Dlaczego ślad wykorzystuje bufor kołowy?

Bufor kołowy (pierścieniowy) o długości równej wartości suwaka śladu przechowuje tylko N najnowszych punktów całkowania. Gdy bufor jest pełny, każdy nowy punkt nadpisuje najstarszy, więc zużycie pamięci jest stałe niezależnie od tego, jak długo trwa symulacja. Geometria Three.js jest odbudowywana co klatkę poprzez odczyt bufora w porządku chronologicznym i przesłanie wynikowych uporządkowanych tablic zmiennoprzecinkowych do GPU za pomocą BufferAttribute. Takie podejście zapobiega nieograniczonemu wzrostowi pamięci, jednocześnie utrzymując dokładnie żądaną długość śladu.

Czy atraktor Lorenza jest naprawdę trójwymiarowy?

Tak. Każda orbita żyje w trójwymiarowej przestrzeni fazowej (x, y, z). Sam atraktor jest nieskończenie cienkim zbiorem o wymiarze fraktalnym ≈ 2,06 — jest zasadniczo złożoną dwuwymiarową powierzchnią, sfałdowaną nieskończenie wiele razy jak ciasto francuskie. W dwóch wymiarach widziałbyś tylko projekcję: klasyczny widok z boku pokazuje dwie połączone spirale, widok z góry pokazuje skrzydła motyla. Ta symulacja pozwala swobodnie orbitować, aby docenić prawdziwą geometrię 3D, w tym spiralne helisy każdego płata i wąski mostek je łączący.

Jakie są powszechne błędne przekonania o efekcie motyla?

Efekt motyla jest często mylnie rozumiany jako oznaczający, że motyl dosłownie powoduje tornado. To, co faktycznie stwierdza, to że w układzie chaotycznym mała zmiana warunków początkowych prowadzi do wykładniczo rozbieżnych wyników w czasie — czyniąc długoterminową prognozę fundamentalnie ograniczoną, a nie że motyl jest rzeczywistą fizyczną przyczyną. Drugim powszechnym błędnym przekonaniem jest to, że chaos oznacza losowość. Układ Lorenza jest całkowicie deterministyczny: przy identycznych warunkach startowych trajektoria jest za każdym razem identyczna. Pozorna losowość wynika z wykładniczej czułości na drobną niedokładność nieodłączną każdemu rzeczywistemu pomiarowi.

⚙ Pod maską

Trójwymiarowy motylkowy atraktor Lorenza w Three.js. Dostosuj sigma, rho i beta, obróć kamerę i wybierz kolor śladu lub preset.

3DThree.jsLorenz AttractorChaos TheoryStrange Attractor

3D · Renderer Three.js / WebGL · cel 60 FPS · działa w całości po stronie klienta, bez instalacji

Podobne symulacje

Co znalazłeś?

Dodaj kroki odtworzenia (opcjonalnie)