Divine Dance  Wavefront TutorialHullámfront oktatóanyag

An interactive guide to moving sources, expanding wavefronts, and what an observer sees when they arrive.

Interaktív bevezető a Teremtők Tánca építőelemeihez: mozgó forrásokhoz, a táguló hullámfrontokhoz, és ahhoz, mit érzékel a megfigyelő, amikor azok megérkeznek.

1. What is this project about? 1. Mi ez a projekt?

This little modelling program is the continuation of an old research project I wrote back in 2003. That early version was clumsy to extend and nowhere near able to exploit the possibilities we have today. The goal of the project is to help experiment with foundational time-physics concepts, and to serve as a tool for finding parameters of stable, self-sustaining source systems. Or just for generating pretty illustrations. :)

Divine Dance is currently in a "beta" phase — it is only suitable for getting acquainted with it and for testing. I still want to extend it with a comprehensive interaction system that will make it genuinely fit for experimentation. It can already compute push and pull interactions of various magnitudes between sources and their past-fields, but it is still too easy to get lost in those and to figure out what actually makes sense.

The program is best tried on a PC or Mac; mobile and tablet browsers are only partially supported at the moment. For this reason I am also planning a mobile app, where touch control and the interface itself will be much more usable on those devices.

It is important to point out that the whole simulation owes its peculiar character to the fact that the past-field generated by the sources is continuous, not sequenced and discrete. That is, the "interaction" does not happen on the surfaces of the circles/spheres that depict the past — those are merely visual aids of an actually fully continuous informational past-field. The interaction is defined between a source and the vision it perceives in that field. The character of the past-field itself does not matter, only where it maps the perceived visions.

Not yet available in this simulator, but very much on the roadmap: that what a source — a thing that exists — radiates should not be merely its bare existence, but also what it perceives of the others. That is what will make this world truly exciting: if it is not only the being-wave but the full perception that travels along with the past, then new chapters of long-forgotten mysteries become interpretable.

I can be reached at the email address shown in the help widget.

Ez a kis modellező program egy régi, 2003-ban megírt kutatási projektnek a folytatása. Az akkori verzió nehézkesen volt bővíthető és messze nem aknázta ki azokat a lehetőségeket, ahova mára eljutottunk. A projekt célja, hogy segítsen kísérletezni az időfizikai alapfogalmakkal és eszközül szolgáljon stabil, önfenntartó forrásrendszerek paramétereinek megtalálásához. Vagy csak szép illusztrációk generálásához. :)

A Teremtők Tánca jelenlegi "béta" fázisban van, még csak ismerkedésre és tesztelésre alkalmas, még szeretném kiegészíteni egy átfogó kölcsönhatási rendszerrel, amivel tényleg alkalmasnak minősül majd a kísérletezésre. Most ugyan tud különböző mértékű, taszító-vonzó kölcsönhatásokat számolni a források és azok múltterei között, de ezekben még túl könnyű elveszni és kitalálni, hogy minek is van valóban értelme.

A programot PC-n vagy Mac-en javasolt kipróbálni, a mobil és tablet böngészők jelenleg részlegesen támogatottak csak. Emiatt tervezek még egy mobilalkalmazást is, amiben az érintésvezérlés és maga a felület is sokkal használhatóbb lesz ezeken az eszközökön is.

Fontos kiemelni, hogy az egész szimuláció attól számít különlegesnek, hogy a források keltette múlttér folyamatos, nem pedig szekventált és diszkrét. Tehát nem a múltakat ábrázoló körök/gömbök felületén történik az "ütközés", hanem ezek csak vizualizációt segítő megjelentítései egy valójában teljesen folytonos információs múlttérnek. A kölcsönhatás egy forrás és az általa e térben érzékelt látomás között értelmezett. A múlttér jellege nem számít, csak abban, hogy hova képzi le az érzékelt látomásokat.

Ebben a szimulátorban még nem elérhető, de később mindenképpen fontos cél, hogy ne csak a puszta létezése legyen sugározva a források, létezők által, hanem az is, amit egymásból érzékelnek. Ettől lesz majd nagyon izgalmas ez a világ, mert ha nem csak a léthullám, hanem a teljes érzékelés is vele-utazik a múlttal, akkor értelmezhetővé válnak újabb fejezetek a réges-régi titkokból.

A súgóban látható email címen vagyok elérhető.

AI-generated contentMI által generált tartalom: the remainder of this guide was drafted by an AI and is primarily here to exercise the embedded widget. It will be reviewed and rewritten by a human. az ismertető hátralévő részét mesterséges intelligencia készítette, elsődleges célja a beágyazott widget tesztelése. Egy ember át fogja nézni és átírja.

2. What is a wavefront? 2. Mi a hullámfront?

A wavefront is the surface traced by a disturbance as it travels outward from its source. Drop a stone into still water: the expanding ring you see is a wavefront. In this simulator every source continuously emits circular wavefronts that spread at a fixed wave speed c = 1.

If the source does not move, the wavefronts are perfectly concentric rings centered on it. Everything that happens later is just a consequence of the source moving while still emitting these ever-expanding rings.

A note on terminology: the rings you see here are a visualization aid. Physically each source generates a continuous past-field (also called its wave space — we use the two terms as synonyms throughout this guide); we draw discrete rings only to make that field intelligible.

A hullámfront az a felület, amit egy zavarás a forrásától kifelé haladva kirajzol. Dobj egy követ nyugodt vízbe: a táguló gyűrű, amit látsz, egy hullámfront. Ebben a szimulátorban minden forrás folyamatosan köralakú hullámfrontokat bocsát ki, amelyek rögzített c = 1 sebességgel terjednek.

Ha a forrás nem mozog, a hullámfrontok tökéletesen koncentrikus gyűrűk. Minden, ami ezután történik, csupán annak a következménye, hogy a forrás mozogni kezd, miközben továbbra is ezeket a táguló gyűrűket bocsátja ki.

Egy szó a megnevezésekről: a látható gyűrűk csupán vizualizációs eszközök. Fizikailag minden forrás folytonos múlteret kelt (ezt hullámtérnek is hívjuk — a két kifejezést szinonimaként használjuk az ismertető során); a diszkrét gyűrűket csak az érthetőség kedvéért rajzoljuk ki.

A stationary source. The ring marks a single wavefront expanding at speed c. Egy álló forrás. A gyűrű egy hullámfront, ami c sebességgel tágul.

3. Water-like and fire-like sources 3. Víz-szerű és tűz-szerű források

The most important distinction in the entire simulator is whether the source moves slower than or faster than its own wavefronts. We normalize the wave speed to c = 1, so "the source's speed" and "its Mach number" are the same number.

Water-like (subsonic, v < 1). Imagine a boat on a pond. Each ripple spreads outward faster than the boat moves, so the boat stays inside all its past wavefronts. An observer ahead hears each ripple exactly once — compressed in frequency (Doppler blue-shift), but with no ambiguity about where the boat is.
Fire-like (supersonic, v > 1). A bullet or a jet outruns its own sound. The wavefronts pile up behind it into a V-shaped Mach cone. An observer inside this cone receives two wavefronts at once — one from an earlier source position and one from a later one. They literally see the source in two places at the same instant.

A szimulátor legfontosabb megkülönböztetése az, hogy a forrás lassabban vagy gyorsabban mozog-e, mint a saját hullámfrontjai. A hullámsebességet c = 1-re normáljuk, így "a forrás sebessége" és "a Mach-száma" ugyanaz.

Víz-szerű (szubszonikus, v < 1). Képzelj el egy csónakot a tavon. Minden fodor gyorsabban terjed, mint ahogy a csónak halad, így a csónak belül marad minden korábbi hullámfrontján. Egy előtte lévő megfigyelő minden fodrot pontosan egyszer hall — frekvenciában összenyomva (Doppler-kékeltolódás), de egyértelmű forráspozícióval.
Tűz-szerű (szuperszonikus, v > 1). Egy puskagolyó vagy sugárhajtású gép kilép a saját hangjából. A hullámfrontok V-alakba, egy Mach-kúpba halmozódnak mögötte. Egy megfigyelő a kúp belsejében egyszerre két hullámfrontot kap — egyet egy korábbi, egyet egy későbbi forráspozícióból. Szó szerint egyszerre két helyen látja a forrást.
Subsonic (v = 0.5c) — offset concentric wavefronts, water ripples. Szubszonikus (v = 0.5c) — eltolt koncentrikus hullámfrontok, vízfodrok.
Sonic (v = c) — the edge case. All wavefronts pile up on the source itself. Hangsebesség (v = c) — határeset. Minden hullámfront a forráson halmozódik.
Supersonic (v = 2c) — Mach cone. Observers inside see the source in two places at once. Szuperszonikus (v = 2c) — Mach-kúp. A belül lévő megfigyelők két helyen látják egyszerre a forrást.
RegimeSpeedVisionsAnalogy
Subsonicv < cOneBoat on water
Sonicv = cDegenerateSound barrier
Supersonicv > cTwo (inside cone)Jet aircraft
TartománySebességVíziókAnalógia
Szubszonikusv < cEgyCsónak a vízen
Hangsebességv = cElfajulóHangsebesség-korlát
Szuperszonikusv > cKettő (a kúpban)Sugárhajtású repülő

4. Visions — what the observer detects 4. Víziók — amit a megfigyelő észlel

A vision is a detection event: a moment when one of the source's wavefronts reaches the observer's location. In Detection mode the simulator colors each pixel by how many visions it currently has, and how tightly packed those wavefronts are (the density).

Density is the ratio dr/dR — how much the apparent distance r to the source changes per unit of true wavefront radius R. High density means many wavefronts compress into a small region (the leading edge of a moving source, or the Mach cone). Low density means the wavefronts are stretched apart.

Formally, density is the derivative of the experienced self-time t with respect to the observer's clock: the denser the past-field is at a point, the faster the vision moves through it — the same mechanism that produces the Doppler effect. A vision approaching head-on packs many emission moments into a short interval (high density, blue-shift); a receding vision spreads them out (low density, red-shift).

Anatomy of a vision glyph

When you hover with the mouse — or when one source detects another — the simulator draws a small composite marker at the apparent location. Each piece carries information:

A vízió egy észlelési esemény: az a pillanat, amikor a forrás egyik hullámfrontja eléri a megfigyelő helyét. Észlelési módban a szimulátor minden pixelt aszerint színez, hogy hány víziója van éppen, és milyen sűrűn helyezkednek el a hullámfrontok (sűrűség).

A sűrűség a dr/dR arány — az, hogy a látszólagos r távolság mennyit változik egységnyi valódi R hullámfront-sugár változásra. Magas sűrűség azt jelenti, hogy sok hullámfront tömörül kis térbe (a mozgó forrás eleje, vagy a Mach-kúp). Alacsony sűrűség azt jelenti, hogy a hullámfrontok szétszakadnak.

Formálisan a sűrűség a megélt t sajátidő deriváltja a megfigyelő órája szerint: minél sűrűbb a múlttér egy pontban, annál gyorsabban halad rajta keresztül a vízió — ugyanez a mechanizmus okozza a Doppler-effektust is. Egy szembe érkező vízió sok kibocsátási pillanatot zsúfol rövid intervallumba (magas sűrűség, kékeltolódás); egy távolodó vízió szétkeni őket (alacsony sűrűség, vöröseltolódás).

Egy vízió-jelölő anatómiája

Amikor az egérrel az ábra fölé viszed a kurzort — vagy amikor egy forrás egy másikat észlel — a szimulátor egy kis összetett jelölőt rajzol a látszólagos pozícióba. Minden eleme információt hordoz:

5. Interaction and forces 5. Kölcsönhatás és erők

Sources can interact through each other's wave spaces (i.e. their past-fields). When source A "sees" source B via a vision, the simulator applies a force that nudges A toward or away from the apparent position of B. Key settings:

Because every force is delayed by the travel time of the wavefront, the dynamics are inherently non-local and time-delayed — that is what makes the system visually fascinating. Tuning these forces is the route to the stable, self-sustaining source systems mentioned in the introduction.

A források egymás hullámterein (azaz múlttereiken) keresztül hatnak kölcsön. Amikor az A forrás "látja" a B forrást egy vízión keresztül, a szimulátor egy erőt alkalmaz, amely A-t B látszólagos pozíciója felé vagy attól el mozdítja. Fontos beállítások:

Mivel minden erőt a hullámfront terjedési ideje késleltet, a dinamika eredendően nemlokális és időkésleltetéses — ez az, ami vizuálisan lenyűgözővé teszi a rendszert. Ezeknek az erőknek a hangolása vezet a bevezetőben említett stabil, önfenntartó forrásrendszerekhez.

Two subsonic sources heading toward each other with no interaction. Their wavefronts overlap and each "sees" the other's past, but the sources themselves pass straight through — this is a pure geometry demonstration. Két szubszonikus forrás közeledik egymáshoz, kölcsönhatás nélkül. Hullámfrontjaik átfednek, és mindegyik a másik múltját "látja", de maguk a források áthaladnak egymáson — ez tisztán geometriai bemutató.
Same two sources, now with the default push interaction enabled. Each source's past wavefronts physically repel the other's present position — watch how they slow, bend sideways and recoil before ever touching. The visible past trails reveal the curved worldlines the interaction carves out. Ugyanaz a két forrás, most a bekapcsolt alapértelmezett taszító kölcsönhatással. Mindkét forrás múltbeli hullámfrontjai fizikailag eltaszítják a másik jelenlegi pozícióját — figyeld meg, hogyan lassulnak, oldalra hajolnak és fordulnak vissza, mielőtt egyáltalán érintenék egymást. A látható múltbeli nyomvonal felfedi a kölcsönhatás által megrajzolt ívelt világvonalakat.

6. Path functions — artificial trajectories 6. Pályafüggvények — mesterséges trajektóriák

Beyond simple constant velocities, each source can follow a user-defined parametric path:

x(t) = f(t)     y(t) = g(t)

where f and g are math expressions you type (or pick from presets). The simulator compiles them at runtime and lets you animate arbitrary curves — circles, Lissajous figures, spirals, even accelerating motions that cross the sonic barrier mid-flight.

Available functions include sin, cos, tan, exp, log, sqrt, abs, pow(a,b), and the constants pi, e. The only free variable is t, the elapsed time since the source was created.

A konstans sebesség mellett minden forrás követhet egy felhasználó által definiált paraméteres pályát:

x(t) = f(t)     y(t) = g(t)

ahol f és g általad beírt (vagy sablonból választott) matematikai kifejezések. A szimulátor ezeket futásidőben fordítja le, és tetszőleges görbék animálását teszi lehetővé — köröket, Lissajous-görbéket, spirálokat, sőt olyan gyorsuló mozgásokat is, amelyek menet közben átlépik a hangsebesség-határt.

Elérhető függvények: sin, cos, tan, exp, log, sqrt, abs, pow(a,b), és a pi, e konstansok. Az egyetlen szabad változó t, a forrás létrejötte óta eltelt idő.

Circular path: x = 2·cos(0.5·t), y = 2·sin(0.5·t). Kör alakú pálya: x = 2·cos(0.5·t), y = 2·sin(0.5·t).
Lissajous figure-8: x = 2·sin(0.5·t), y = 2·sin(t). Lissajous-nyolcas: x = 2·sin(0.5·t), y = 2·sin(t).
Expanding spiral: x = 0.3·t·cos(t), y = 0.3·t·sin(t). The speed grows linearly with time — this source crosses sonic mid-flight. Bővülő spirál: x = 0.3·t·cos(t), y = 0.3·t·sin(t). A sebesség lineárisan nő az idővel — ez a forrás menet közben lép át a hangsebességen.

7. The math behind it all 7. A háttérben álló matematika

When does a wavefront emitted at source time τ reach an observer at (x, y)? If the source position is (x₀ + τ·vₓ, y₀ + τ·vᵧ) and the wavefront has radius r₀ + (t − τ)·c at observer time t, the arrival condition is:

(x − x₀ − τ·vₓ)² + (y − y₀ − τ·vᵧ)² = (r₀ + (t − τ)·c)²

This is a quadratic in τ. Rearranging gives Aτ² + Bτ + C = 0 with discriminant Δ = B² − 4AC, where A = |v|² − c².

Sign of ARegimeSolutionsMeaning
A < 0SubsonicOne valid τExactly one vision — always
A = 0SonicDegenerate (linear)A single τ or none
A > 0Supersonic0, 1, or 2 valid τInside Mach cone → 2 visions; outside → 0

The fragment shader evaluates this per pixel every frame, which is why the dense hyperbolic boundaries appear automatically without any explicit geometry. The density field plotted across the canvas is exactly dr/dR, the derivative of apparent distance with respect to true wavefront radius.

Mikor ér el egy τ időpontban kibocsátott hullámfront egy (x, y) pontban lévő megfigyelőt? Ha a forrás pozíciója (x₀ + τ·vₓ, y₀ + τ·vᵧ), és a hullámfront sugara r₀ + (t − τ)·c a megfigyelő t idejében, az érkezési feltétel:

(x − x₀ − τ·vₓ)² + (y − y₀ − τ·vᵧ)² = (r₀ + (t − τ)·c)²

Ez másodfokú egyenlet τ-ban. Átrendezve: Aτ² + Bτ + C = 0, diszkrimináns Δ = B² − 4AC, ahol A = |v|² − c².

A előjeleTartományMegoldásokJelentés
A < 0SzubszonikusEgy érvényes τMindig pontosan egy vízió
A = 0HangsebességElfajuló (lineáris)Egyetlen τ, vagy egy sem
A > 0Szuperszonikus0, 1 vagy 2 érvényes τMach-kúpon belül → 2 vízió; kívül → 0

A fragment-shader pixelenként, minden képkockán kiszámolja ezt, ezért jelennek meg automatikusan a sűrű hiperbolikus határok bármiféle geometria nélkül. A vásznon ábrázolt sűrűségmező pontosan dr/dR, a látszólagos távolság deriváltja a valódi hullámfront-sugár szerint.

→ Open the full simulator → Nyisd meg a teljes szimulátort