Dr. O. Hoffmann
Alles ist in Bewegung und nichts bleibt stehen.
Heraklit von Ephesus
keySplines
)
Mit keySplines wurden ja schon beschleunigte Bewegungen vorgestellt.
Nun soll umgekehrt vorgegangen werden, bekannt ist
die Kraft, Beschleunigung oder die ganze Bewegungsgleichung und
die beschleunigte Bewegung soll dargestellt werden.
Die Bewegung soll also animiert werden.
Zum Grundverständnis seien erst einmal die physikalischen Grundlagen betrachtet: Klassische Mechanik.
Bei den Newtonschen Axiomen heißt es:
1. Jeder Körper beharrt in seinem Zustand der Ruhe oder
der geradlinig gleichförmigen Bewegung, wenn er nicht durch
einwirkende Kräfte gezwungen wird, seinen Zustand zu
ändern.
2. Die Änderung der Bewegung ist der bewegenden Kraft
proportional und geschieht in Kraftrichtung.
3. Die Wirkung zweier Körper aufeinander ist vom Betrag
gleich, aber von entgegengesetzter Richtung.
4. Kräfte addieren sich wie Vektoren, es gilt das
Superpositionsgesetz.
Von Form, Größe und Drehbewegungen und Verformungen
abgesehen, wird das Modell eines Massenpunktes gewählt.
Damit ergibt sich kurz:
1. Aus Kraft F = 0 folgt m v konstant, m die Masse,
v = dr/dt die Geschwindigkeit.
2. Mit dem Impuls p = mv gilt F = dp/dt.
3. F(i,j) = - F(j,i), wobei hier (i,j) steht für
Kraft von Punkt i auf Punkt j.
Bei konstanter Masse ergibt sich die bekannte Gleichung nach Newton:
F = m a mit der Beschleunigung
a = dv/dt als dynamische Grundgleichung.
Für konservative Kraftfelder kann ein Potential angegeben werden oder
umgekehrt ein konservatives Kraftfeld ist der negative Gradient eines Potentials.
Beim Vorhandensein von Potentialen gibt es neben dem Formalismus nach
Newton weitere alternative Formalismen, etwa nach Lagrange und nach
Hamilton. Die Formalismen eignen sich besonders für komplexere
Systeme von Massepunkten. Der Hamilton-Formalismus wird
sinngemäß auch in die Quantenmechanik übertragen.
keySplines
)
Als erstes sei der Fall einer konstanten Beschleunigung betrachtet,
also a konstant. Das tritt etwa auf, wenn man in der Nähe des
Erdbodens etwas fallenläßt (man kann sich denken, daß
sich die Kraft deutlich ändern muß, wenn man vom
Erdboden weiter weg ist als etwa der Erddurchmesser). Das nennt sich
auch freier Fall.
Also F = m a0 = m a = m dv/dt somit
v = a0 t + v0 und
schließlich
r = a0/2 t2 + v0 t + s0
Somit ist diese Bewegungsgleichung so einfach, daß wir sie
komplett mit keySplines
darstellen können,
das ginge sogar noch bei einer Beschleunigung
a = a0 + a1 t,
weil uns kubische
Bézierkurven zur Verfügung stehen, was wir hier aber
nicht betrachten wollen. Betrachten wir zwei Anfangsbedingungen,
zum einen, daß die Darstellung am höchsten Punkt mit
v = 0 beginnt und die andere, wenn s = 0 mit einer der Kraft entgegengerichteten
Anfangsgeschwindigkeit. In relativen Einheiten ergibt sich
(siehe Abschnitt Kurven 10a,b) für die Kontrollpunkte der ersten
Situation bei einer Identifikation t = z:
s(0) = 0, s(1) = 1, v(0) = 0, ds/dz = 2z,
s = z2 und damit
ds(1)/dz = 2 = 3 - 3Ps(2) oder Ps(2) = 1/3 und
ds(0)/dz = 0 = 3 Ps(1)
dz/dz =1 = 3 - 3Pz(2) = 3 Pz(1) oder Pz(1) = 1/3 und Pz(2) = 2/3
Also ist der zugehörige Wert von keySplines
:
1/3 0 2/3 1/3.
Für die Kontrollpunkte der zweiten
Situation bei einer Identifikation t = z:
s(0) = 0, s(1) = 1, v(1) = ds(1)/dz = 0 = 3 - 3Ps(2) oder Ps(2) = 1
s = 2z - z2
ds(0)/dz = 2 = 3 Ps(1) oder Ps(1) = 2/3
Also ist der zugehörige Wert von keySplines
:
1/3 2/3 2/3 1.
Eine Animation eines herunterfallenden Balles, der auf den
Boden auftrifft und elastisch zurückspringt, entspricht also
den keySplines
1/3 0 2/3 1/3;1/3 2/3 2/3 1
Zur Dekoration wird noch eine horizontale
Bewegung und eine Drehbewegung überlagert
(siehe oben, Superposition, die Bewegungen in verschiedene
Richtungen sind voneinander separierbar):
Animation freier Fall,
Quelltext zur
Animation freier Fall.
Freier Fall und Schiefer Wurf unterscheiden sich hinsichtlich der Animation nur in den Anfangsbedingungen. Wenn ein anderer Startzeitpunkt gewählt wird und die Animation bis dahin unsichtbar bleibt, wird der freie Fall zum schiefen Wurf.
Hinsichtlich der keySplines
läßt sich die Methode auch
recht leicht verallgemeinern. Um diese überhaupt sinnvoll einzusetzen, ist es notwendig, daß die
betrachtete Funktion zwischen den beiden Punkten, zwischen denen interpoliert werden
soll, streng monoton ist, ferner sollte die Form der Funktion natürlich zwischen den beiden
Punkten so sein, daß sie sich gut mit einer kubischen Funktion nähern läßt. Weil man auch
den Zeitverlauf mit einer kubischen Funktion beschreibt, ergeben sich so einige Möglichkeiten.
Ist f(s) mit s von 0 bis 1 eine solche Funktion (egal ob für die Zeit oder den
zu animierenden Wert), so transformiert man zu:
h(s) = (f(s)-f(0))/(f(1)-f(0))
Die in keySplines
zu notierenden Punkte sind dann
P(1) = dh(0)/ds/3 und P(2) = 1 - dh(1)/ds/3
oder
P(1) = df(0)/ds/3/(f(1)-f(0)) und P(2) = 1 - df(1)/ds/3/(f(1)-f(0)).
Zulässig ist für keySplines
auch noch eine Konstante
für den animierten Wert, da können die gleichen Kontrollpunkte wie für die Zeit
genommen werden, zum Beispiel für Zeit und animierten Wert
P(1) = 0 und P(2) = 1.
Das Teilen, um von f nach h zu kommen, impliziert, daß es sich bei f um eine skalare Funktion
handelt. Bei Vektoren verwendet man am besten den euklidischen Abstand vom Anfangspunkt, bei
der Bewegung entlang eines Pfades mit animateMotion
verwendet man die Pfadlänge
bezogen auf den Anfangspunkt. Bei Listen müßte man entsprechend ein skalares Maß für den
Abstand einführen, um sinnvoll etwas rechnen zu können.
Meist können Bewegungsgleichungen nur näherungsweise
dargestellt werden, da die Bewegung nicht exakt den Möglichkeiten
eines splines entspricht. Als grobe Näherung kann man dann erstmal
r(t) mit zahlreichen Stützstellen für gleichbleibende Zeitabstände
berechnen und diese einfach als values angeben. Dies kann meist bereits als
brauchbare Animation genutzt werden, weil sich das menschliche Auge bei
Bewegungen leicht bei Feinheiten täuschen läßt. Gleichwohl
kann dies auch als Ausgangspunkt genommen werden, um insbesondere keySplines
auszurechnen, eventuell sogar um die bislang äquidistanten keyTimes
zu
modifizieren, um an kritischen Stellen genauer zu werden. Wegen der bereits genannten
Einschränkungen des Wertebereiches von keySplines
stellen
sich keySplines
allerdings meist als numerisch unpraktikabel dar,
meist wird man doch nur die Anzahl der Stützstellen erhöhen, um genauer zu werden.
Dazu sei eine harmonische Schwingung betrachtet.
Diese tritt bei vielen Bewegungsabläufen näherungsweise auf,
wenn die Auslenkungen aus der Ruhelage klein sind, etwa bei dem Pendel
einer mechanischen Uhr oder bei einem Gewicht an einer Feder, aber auch
in entsprechender Form
bei Schwingungen von Molekülen und Festkörpern, beim
Schwingquarz im Oszillator einer Uhr. Sei die Schwingung in der x-Richtung.
Die Kraft ist dann Fx = m ax = -k x
entsprechend einem Potential von V(x) = k x2/2.
Mittels der Differentialrechnung kann eine solche Differentialgleichung
gelöst werden, worauf ich hier nicht weiter eingehe. Wie leicht
überprüft werden kann, erfüllen sinus und cosinus
die Bedingung, oder genauer
x(t) = A cos(wt+p), dabei hängen die Amplitude A und die Phase p
von den Anfangsbedingungen ab und es gilt
w2 = k/m
Die Zeitdauer für einen kompletten Umlauf ist 2π/w, so daß
über die Angabe des Attributes dur
die Zeitdauer bequem festgelegt
werden kann - wird diese festgesetzt, folgt daraus die sogenannte
Kreisfrequenz w. Das Vorzeichen von w bestimmt dann übrigens,
wie herum die Schwingung abläuft.
Da erstmal ohne keySplines
vorgegangen werden soll, werden besser um die 20 bis 50
Werte verwendet, um die Bewegung anzunähern:
Animation harmonischer Oszillator,
Quelltext zur
Animation harmonischer Oszillator.
Dem aufmerksamen Beobachter sollte an dieser Stelle eigentlich aufgefallen sein, daß
sich ein harmonischer Oszillator ebenfalls durch eine animierte
Rotationstransformation realisieren läßt, bei der man dafür sorgt, daß die
y-Richtung auf 0 skaliert ist. Allerdings sind dann die bewegten Objekte nicht mehr zu sehen, was dann auch
wieder langweilig ist (das ändert sich allerdings in SVG (tiny) 1.2, weil es dort einfache
Eigenschaften gibt, mit denen trotz einer solchen Skalierung etwas sichtbar bleibt).
Der Oszillator kann natürlich auch in einer anderen Richtung mit einer anderen Phase
oszillieren. Soll die fortschreitende Trajektorie dargestellt werden, so kann dafür
stroke-dasharray
animiert werden (blaue Trajektorie), was aber beim adobe-plugin nicht funktioniert, bei Opera 9 hingegen schon.
Bei der goldgelben Trajektorie ist stroke-dashoffset
animiert, das geht
auch beim adobe-plugin, erfordert aber etwas mehr Überlegung vom Autor:
Harmonischer Oszillator mit gemalter Trajektorie,
Quelltext zum
Harmonischen Oszillator mit Trajektorie.
Diese Näherung ist natürlich noch nicht
wirklich prickelnd, aber als schnelle Problemlösung schon mal ein guter Ansatz.
Aus dem Abschnitt Animation wird nun keySplines
verwendet,
das Beispiel einer affinen Funktion für t(u), also äquidistante keyTimes
und so ergibt sich der Unterschied zwischen der Animation mit und ohne
keySplines
:
Vergleich
Animation harmonischer Oszillator mit und ohne keySplines
1,
Quelltext zum
Vergleich mit und ohne keySplines
1.
Rot ist die Animation ohne keySplines
, blau die mit. Das gelbe Quadrat stellt eine
exakte harmonische Schwingung dar, gewonnen aus einer Drehung, leider allerdings so nicht
allgemein brauchbar, lediglich für diesen Präzisionsvergleich nützlich.
In der URI können für die Zeitdauer eines Umlaufes in Sekunden der
Parameter dur angegeben werden und für die Anzahl der values der Parameter anz,
genauer gibt es 2 anz + 1 values von 0 bis 2 anz. Während um anz = 2 die
Unterschiede noch sehr groß sind, ist bereits ab etwa anz = 20 kaum noch ein
Unterschied zu sehen. Bei derartigen Animationen kann man also leicht die Ungenauigkeiten
durch eine etwas größere Anzahl von values
kompensieren.
Um einen Anhaltspunkt zu bekommen, wieviele values
ohne
keySplines
gebraucht werden,
um etwa die gleiche Genauigkeit wie mit zu erreichen, kann die Anzahl der
values unabhängig voneinander eingestellt werden. Dazu ist ein weiterer
Parameter num mit gleicher Bedeutung wie anz verfügbar, aber diesmal nur für die
Animation ohne keySplines
, während anz
für die Animation mit keySplines
vorbehalten bleibt. Mit num=100 stellt man fest, daß mit etwa anz = 8 praktisch
keine bemerkenswerten Abweichungen mehr zu sehen sind, die keySplines
geben die Bewegung also praktisch korrekt wieder. Nun reduzieren wir nun, um zu sehen, ab
wann ohne keySplines
nennenswerte Abweichungen eintreten.
Praktisch ab num = 36 sind da auch keine Unterschiede mehr zu sehen. Zumindest bei diesem
Bewegungstyp läßt sich da an der Datenmenge mit keySplines
nicht viel verbessern.
Bei komplizierteren Bewegungen muß man natürlich gucken, wo
große Beschleunigungen auftreten. Um eine brauchbare Genauigkeit zu erreichen,
sollten in dem Bereich immer die keyTimes
sehr klein gewählt werden.
Vergleich Animation harmonischer Oszillator
mit und ohne keySplines
2,
Quelltext zum
Vergleich mit und ohne keySplines
2.
Mittels einer simplen Drehung läßt sich aus einem harmonischen Oszillator auch
schnell etwas ähnliches wie ein Foucaultsches Pendel erzeugen.
Genaue Anpassung von Parametern sei hier dem Leser mit Hilfe eines
physikalischen Lehrbuches zur Übung überlassen:
Foucaultsches Pendel,
Quelltext zur
Animation Foucaultsches Pendel.
Wirkt nun auch noch eine Kraft in y-Richtung mit gleicher Formel, aber anderem k,
so erhält man eine Lissajous-Figur. Da der Raum drei Dimensionen hat, kann auch
in der dritten Richtung noch eine Kraft wirken. Doch wie kann das in einer
zweidimensionalen Graphik dargestellt werden? Klar, die Größe des
bewegten Objektes kann auch noch animiert werden:
Animierte Lissajous-Figur in drei Dimensionen,
Quelltext zur
Animation Lissajous-Figur.
Feinheiten wie den Einsatz von keyTimes
, keySplines
,
das Zeichnen der Kurve und dekorative Gesichtspunkte
seien auch hier dem Leser zur Übung überlassen. Für eine vierte Dimension könnte
man statt die Größe des Objektes komplett zu ändern, bei einer Ellipse oder besser noch
einem Rechteck Höhe und Breite getrennt schwingen lassen, für weitere
Freiheitsgrade kann man zum Beispiel die Farbe und die Opazität des animierten
Objektes ändern. Weitere Möglichkeiten gibt es, wenn die Symmetrie des bewegten Objektes
reduziert wird, so kann etwa noch eine Drehschwingung integriert werden. So sollte man spielend zu einer
Visualisierung von Schwingungen in mindestens sieben Dimensionen kommen.
Die höhere theoretische Physik
jongliert ja mit noch mehr Dimensionen, diese aber zu visualisieren, dürfte dann schon etwas
kniffliger werden, ist aber nicht unmöglich.
Wenn die normalen Lissajous-Figuren betrifft, wie bereits im Bereich Kurven dargestellt, so kann auch animiert werden,
wie diese gezeichnet werden, dazu kann ausgenutzt werden, was im Bereich Animation im Abschnitt
'Kurven Zeichnen animieren' erläutert wurde (hier wird stroke-dashoffset
animiert,
damit man auch mit dem adobe-plugin was sehen kann):
Eine Lissajous-Figur zeichnen,
Quelltext zur
Zeichnung einer Lissajous-Figur.
Mit dem gleichen Skript zur Darstellung einer
Lissajous-Figur,
mittels der GET-Parameter dur, anz, kx und ky kann angegeben werden, welche Figur dargestellt
wird.
dur ist die Animationsdauer bis zur Wiederholung in Sekunden (zwischen 20 und 1000 zu wählen, sonst ist sie 60). Da die Bogenlänge nur großzügig
geschätzt ist, scheint die Zeichnung immer etwas vor dem Ende dieser
Zeit vollendet zu sein, nach Ablauf der Zeit beginnt das Zeichnen von vorne.
anz ist die Anzahl der Kontrollpunkte (zwischen 20 und 250 zu wählen, sonst
ist sie 60). Bei niedrigen Werten für kx und ky reichen auch wenige Kontrollpunkte,
bei hohen Werten muß auch anz hoch sein, sonst kommt es zu sichtbaren
Fehlern bei der Darstellung. Mit 2π multipliziert ergeben kx und ky die
Kreisfrequenzen (jeweils zwischen 1 und 30 zu wählen, sonst zufällig zwischen
1 und 5). Bei nicht ganzzahligen, ungünstigen Verhältnissen gibt es
natürlich keine geschlossene Kurve - auch dann muß vor der Wiederholung
der Animation etwas gewartet werden. Bei nicht teilerfremden kx und ky sollte wirklich
durch den ganzzahligen Teiler dividiert werden, sonst werden natürlich die
Wartezeiten länger und das Verhältnis von Dateigröße zu
Genauigkeit wird schlechter als notwendig.
Die Phasen werden immer zufällig bestimmt, damit keine
Langeweile aufkommt.
Weil die Ableitung der Kurve ohnehin berechnet wird, habe ich mich darauf beschränkt,
mit einer entsprechenden Summe den Bogen abzuschätzen:
Eine Lissajous-Figur zeichnen mit besser
geschätzter Bogenlänge,
Quelltext zur
Zeichnung einer Lissajous-Figur (mit besser
geschätzter Bogenlänge).
Mit dem Attribut pathLength
kann die geschätze Pfadlänge explizit angegeben
werden, wonach alles exakt stimmen sollte. Das klappt bei Opera 9, das adobe-plugin und
Opera 8 ignorieren dieses für die tägliche Praxis enorm wichtige Attribut allerdings.
Bei dieser einfachen Animation hat das Zeichnen immer die gleiche Geschwindigkeit.
Verbessern kann man das Verhalten natürlich, wenn man die Bogenlänge
numerisch bestimmt, und so zum einen eine bessere Abschätzung für diesen
wichtigen Parameter hat, zum anderen aber auch einen Zugang hat zum Zeichnen mit
veränderlicher Geschwindigkeit.
Folgendes Beispiel bietet dafür einen Ansatz, wobei bewegtes Objekt und gezeichnete
Trajektorie miteinander verglichen werden. Orange ist eine Trajektorie mit konstantem
Betrag der Geschwindigkeit, blau die mit geschätztem Betrag der Geschwindigkeit,
ein Kreis als Objekt zeigt näherungsweise die Bewegung, allerdings ohne
keyTimes
oder keySplines
, wie bei den Trajektorien auch:
Eine Lissajous-Figur zeichnen mit besser
geschätzter Bogenlänge und Geschwindigkeit,
Quelltext zur
Zeichnung einer Lissajous-Figur (mit besser
geschätzter Bogenlänge und Geschwindigkeit).
Ein weiterer netter SVG-Trick kann herausgearbeitet werden,
wenn Oszillatoren miteinander gekoppelt werden. Typische Vertreter
dieser Art sind gekoppelte Pendel oder
gekoppelte Oszillatoren. Die Kopplung
vermittele sich wieder über eine harmonische Kraft, also
etwa eine Feder. Die Bewegung
jeweils eines Oszillators setzt sich zusammen aus zwei
Oszillationsbewegungen unterschiedlicher Frequenz, so daß
es zu einer Schwebung kommt. Die Amplitude
der Bewegung erreicht ein zeitliches Minimum oder wird gar null,
um dann wieder anzusteigen. Umgedreht hat der zweite Oszillator
dann bei der Amplitude das zeitliche Maximum. In SVG wird das am besten
realisiert, indem die jeweiligen Oszillationsbewegungen separiert
animiert werden, auch wenn sie die gleiche Koordinate animieren.
Hier kann gut mit verschiedenen g
-Elementen gearbeitet werden oder
auch mit den Attributen additive
und
accumulate
. Als Beispiel
ist hier zum einen ein Oszillator gezeigt, bei dem die Bewegung in
x- und y-Richtung miteinander gekoppelt sind und zum anderen
die klassischen gekoppelten Pendel:
Oszillator
mit gekoppelter Bewegung in x- und y-Richtung
(Quelltext zum
Oszillator mit gekoppelter Bewegung in x- und y-Richtung)
,
gekoppelte
Pendel
(Quelltext zum
gekoppelten Pendel).
Der Leser denkt es sich schon - Anpassung von Parametern, Variation
mit verschiedenen Phasen und Amplituden sowie die Realisation im
wirklichen Leben bleibt ihm zur Übung überlassen.
In voller Allgemeinheit und Schönheit sieht die Lösung
der Bewegungsgleichung übrigens so aus:
x1(t) =
a cos(ω1 t +
φ1) +
b cos(ω2 t +
φ2)
x2(t) =
- c cos(ω1 t +
φ1) +
d cos(ω2 t +
φ2)
dabei sind a, b, c, d anzupassende Konstanten, die φ sind
anzupassende Phasen und die ω sind die Frequenzen.
Manchmal sieht man ja solch ein Schreibtischspielzeug mit Pendeln
leicht verschiedener Frequenz, solch Dekoratives können wir natürlich
auch leicht zusammenbasteln:
Dekorative
Pendel
(Quelltext zu
dekorativen Pendeln).
Bei harmonischen Schwingungen ausgedehnter Objekte entspricht die eigentliche Schwingung wieder der eines harmonischen Oszillators.
Diese Schwingung hat räumlich gesehen allerdings jeweils eine andere Phase, welche wiederum durch seinen Sinus oder Cosinus über die Raumdimensionen gegeben ist:
L(r,t) = A sin(wt+p) sin(kr+q),
r ist dabei die Raumdimension, also gegebenenfalls auch ein Vektor bei mehrdimensionalen Objekten.
k ist wie Wellenzahl, diese korrespondiert mit der Frequenz in der Zeitachse.
Dabei hängen die Amplitude A und die Phasen p, q von den Anfangsbedingungen ab.
Transversale Schwingungen von Objekten sind einfacher darzustellen als longitudinale, daher geht es erst einmal um erstere. Transversale Schwingungen erfolgen senkrecht zur Ausdehnung des Objektes, longitudinale in Richtung der Ausdehnung.
Altbekannt ist das Problem der Schwingung einer Saite oder allgemein einer länglichen, elastischen Struktur wie eine Kette, ein Gummiband, ein dünner Stab. Die Lösung für eine harmonische Schwingung besteht aus den Funktionen Sinus oder Cosinus für die räumliche und zeitliche Struktur des länglichen, eindimensional genäherten Objektes. Insofern kann die Lösung für eine Gerade einfach als Formel angegeben werden. Für leicht gebogene Kurven kann dies wiederum als Näherung verwendet werden, wobei die transversale Schwingung jeweils senkrecht zur lokalen Richtung der Kurve erfolgt. Diese Richtung ist einfach als Senkrechte zur Ableitung der Kurve zu ermitteln. Diese Näherung wird sicherlich unbrauchbar, wenn die Auslenkung aufgrund der Schwingung in den Bereich der Krümmung der Kurve kommt.
Hinsichtlich der Präsentation mit Vektorgraphik ist ferner die Kurve durch kubische Kurvensegmente anzunähern. Aufgrund des Nyquist-Shannon-Abtasttheorems ist dabei die Anzahl der Kurvensegmente deutlich größer als die Wellenzahl pro Bogenlänge zu wählen, wenn also die Wellenlänge N mal auf die Bogenlänge paßt, müssen deutlich mehr als N Kurvensegmente für die Näherung verwendet werden. Wieviel mehr, hängt auch etwas von der Krümmung der Kurve im Gleichgewicht sowie der Amplitude der Schwingung ab.
Beispiele:
Schwingung einer Kurve (1)
(Quelltext zu
Schwingung einer Kurve (1))
Schwingung mit Parametern
Parameter:
Typ t: Saite, Bogen, Angel, Welle, Schlaufe
Saite - Gleichgewichtskurve ist eine Gerade
Bogen - Näherungsweise eine Kettenlinie, etwas wie ein Gummiband; die roten Kreise geben den eigentlich korrekten Verlauf einer Kettenlinie oder Seilkurve an, welche durch den Bogen angenähert wird.
Angel - Ähnlich einer Angelrute
Welle - s-förmige Kurve
Schlaufe - stark gekrümmte Kurve
Dämpfung d: 1 ohne Dämpfung, typisch um 0.995.
Runden: r: größer als 0, maximal 100 (große Datei!), Anzahl der Schwingungen bei Dämpfung.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 10.
Wellenzahl/Bogenlänge w: Muß zwischen -s/2 und s/2 liegen, Vorgabe abhängig vom Typ.
Ist der Betrag der Wellenzahl s/2 oder größer, so ergäbe die Animation Unfug, siehe auch Nyquist-Shannon-Abtasttheorem, genauer ist ein Wert signifikant kleiner als die Grenze.
Praktisch brauchbar sind Werte kleiner gleich s/4.
Bei geschlossenen Gleichgewichtskurven ist etwas anders vorzugehen, damit der Anschluß paßt:
Schwingung einer Kurve (2)
(Quelltext zu
Schwingung einer Kurve (2))
Schwingung mit Parametern
Parameter:
Dämpfung d: 1 ohne Dämpfung, typisch um 0.995.
Runden: r: größer als 0, maximal 100 (große Datei!), Anzahl der Schwingungen bei Dämpfung.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 10.
Wellenzahl/Bogenlänge w: Muß zwischen -s/2 und s/2 liegen, Vorgabe 2, für geschlossene Kurve ganzzahlig.
Longitudinale Schwingungen treten zum Beispiel bei Medien auf, bei welchen sich Dichte oder Druck um ein Gleichgewicht ändern können, zum Beispiel bei Schallwellen. Die Darstellung ist also etwas schwieriger als bei der Oszillation starrer Körper oder der Schwingung von Kurven.
Beispiel:
Schwingung mittels Farbverlauf
(Quelltext zu
Schwingung mittels Farbverlauf)
Schwingung mit Parametern
Parameter:
Dämpfung d: 1 ohne Dämpfung, typisch um 0.995.
Runden: r: größer als 0, maximal 100 (große Datei!), Anzahl der Schwingungen bei Dämpfung.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 20.
Wellenzahl/Bogenlänge v, w: Müssen zwischen -s/2 und s/2 liegen, in x- und y-Richtung, Vorgabe zufällig.
Bei der Schwingung handelt es sich um eine stehende Welle auf einem Objekt, welche bei geeigneten Randbedingungen eintreten kann, also insbesondere bei mindestens einem festen Ende zum Beispiel eines Seiles. Bei Wellen liegen die Enden nicht fest, die Welle bewegt sich durch das Objekt.
Als Formel:
L(r,t) = A sin(kr - wt + p),
r ist dabei die Raumdimension, also gegebenenfalls auch ein Vektor bei mehrdimensionalen Objekten.
k ist wie Wellenzahl, diese korrespondiert mit der Frequenz in der Zeitachse.
Dabei hängen die Amplitude A und die Phase p von den Anfangsbedingungen ab.
Beispiele analog zur Schwingung:
Welle auf einer Kurve (1)
(Quelltext zu
Welle auf einer Kurve (1))
Welle mit Parametern
Parameter:
Typ t: Saite, Bogen, Angel, Welle, Schlaufe
Saite - Gleichgewichtskurve ist eine Gerade
Bogen - Näherungsweise eine Kettenlinie, etwas wie ein Gummiband; die roten Kreise geben den eigentlich korrekten Verlauf einer Kettenlinie oder Seilkurve an, welche durch den Bogen angenähert wird.
Angel - Ähnlich einer Angelrute
Welle - s-förmige Kurve
Schlaufe - stark gekrümmte Kurve
Dämpfung d: 1 ohne Dämpfung, typisch um 0.995.
Runden: r: größer als 0, maximal 100 (große Datei!), Anzahl der Schwingungen bei Dämpfung.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 10.
Wellenzahl/Bogenlänge w: Muß zwischen -s/2 und s/2 liegen, Vorgabe abhängig vom Typ.
Ist der Betrag der Wellenzahl s/2 oder größer, so ergäbe die Animation Unfug, siehe auch Nyquist-Shannon-Abtasttheorem, genauer ist ein Wert signifikant kleiner als die Grenze.
Praktisch brauchbar sind Werte kleiner gleich s/4.
Bei geschlossenen Gleichgewichtskurven ist etwas anders vorzugehen, damit der Anschluß paßt:
Welle auf einer Kurve (2)
(Quelltext zu
Welle auf einer Kurve (2))
Welle mit Parametern
Parameter:
Dämpfung d: 1 ohne Dämpfung, typisch um 0.995.
Runden: r: größer als 0, maximal 100 (große Datei!), Anzahl der Schwingungen bei Dämpfung.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 10.
Wellenzahl/Bogenlänge w: Muß zwischen -s/2 und s/2 liegen, Vorgabe 2, für geschlossene Kurve ganzzahlig.
Wellen und auch Schwingungen unterschiedlicher Frequenz oder Wellenzahl können sich überlagern. Bei eng benachbarten Frequenzen oder Wellenzahlen insbesondere kommt es zu Schwebungen.
Zeitliche Schwebung
(Quelltext zu
zeitliche Schwebung)
Die Parameter sind Analog zu Typ 1, es ist allerdings nur die Saite verfügbar.
Räumliche Schwebung
(Quelltext zu
räumliche Schwebung)
Die Parameter sind Analog zu Typ 1, es ist allerdings nur die Saite verfügbar.
Räumliche und zeitliche Schwebung
(Quelltext zu
räumliche und zeitliche Schwebung)
Die Parameter sind Analog zu Typ 1, es ist allerdings nur die Saite verfügbar.
Natürlich können auch mehr als zwei Frequenzen überlagert werden. Werden die Amplituden geeignet gewählt, kann sich daraus ein Wellenpaket ergeben, welches also jeweils nur in einem bestimmten Raumbereich verteilt ist.
Wellenpaket in Gaußform (Quelltext zu Wellenpaket in Gaußform)
Parameter:
Zeit z: in Sekunden, größer als 0, maximal 100 (große Datei!)
Anfangsbreite des Paketes (zerfließt mit der Zeit): d mindestens 0, maximal 5
Das Zerfließen ist gut für d kleiner 0.3 erkennbar;
bei kleinem d gibt es aber auch eine große Datei,
weil dies eine gute Ortsauflösung erfordert.
Anzahl Stützpunkte s: mindestens 5, maximal 100 (große Datei!), Vorgabe 20
Bei d kleiner als 1 erfolgt eine automatische Korrektur.
Bei wenigen Stützstellen gibt es Artefakte, das Wellenpaket besteht auf zuwenig Frequenzen.
Ein roter Balken zeigt die Animationsdauer.
Beispiele für Wellen in der Ebene, welche durch Farbverläufe repräsentiert werden, wurden bereits im Kapitel Malen vorgestellt:
Ebene Welle
(Quelltext zu ebener Welle).
Interessanter ist natürlich eine
klassische Überlagerung ebener Wellen
(Quelltext zu klassischen Überlagerung ebener Wellen).
Radiale Wellen lassen sich ebenso erzeugen und überlagern:
radiale Welle
(Quelltext zur radialen Wellen)
klassische Überlagerung radialer Wellen
(Quelltext zu klassischen Überlagerung radialer Wellen)
klassische Überlagerung radialer Wellen (2)
(Quelltext zu klassischen Überlagerung radialer Wellen (2)).
Ein Problem mit zwei miteinander wechselwirkenden Körpern, kurz Zweikörperproblem,
kann auf ein Problem eines Teilchens in einem Zentralpotential zurückgeführt
werden. Seien die beiden Massen m1 und m2 mit den
Geschwindigkeiten v1 und v2
und die Ortsvektoren
r1 und r2.
Der Koordinatenursprung wird so gelegt, daß gilt:
(1) m1 r1= -m2 r2.
Der Abstandsvektor ist
(2) r = r1 - r2
Daraus ergibt sich
(3.1) r1 = m2/(m1 + m2) r
und
(3.2) r2 = -m1/(m1 + m2) r.
Die reduzierte Masse ist
(4) m = m1m2/(m1 + m2)
und für das reduzierte System ergibt sich die kinetische Energie
(4.1) m/2 (dr/dt)2.
Bei einer Zweikörperwechselwirkung ist das Potential von der Form U(r), sofern es eines gibt, was insbesondere bei makroskopischen Problemen nicht der Fall sein muß, wenn nicht konservative Kräfte wie Reibung berücksichtigt werden. Zahlreiche räumlich und zeitlich begrenzte inelastische Prozesse lassen sich jedoch oft insofern berücksichtigen, als die Energie vorher und nachher wieder erhalten ist. Liegt in diesem Sinne jedoch kein nichttrivialer Energieverlust des betrachteten Systems vor, gibt es auch ein Potential der Form U(r).
Offenbar ist im Zentralpotential der Drehimpuls L erhalten, woraus sich allgemein ergibt,
daß die Bewegung in einer Ebene stattfindet. Die Behandlung des Problems in
Polarkoordinaten mit Abstand r und Winkel φ erweist sich als vorteilhaft.
Drehimpulserhaltung als Formel:
(5) L = m r2 dφ/dt
Im Bedarfsfalle
kann damit das effektive Potential eingeführt werden:
(6) Ueff = U(r) + L2/(2m r2)
Die Gesamtenergie, welche erhalten ist, ist folglich:
(7) E = m/2 (dr/dt)2 + Ueff
Es ist
(8) dr/dt = (2/m (E - U(r)) - L2/(m r)2)1/2
Benutzen wir ∫ als Symbol für das Integral, so ist
(9) φ = konstant + ∫dr L/r2/(2 m (E - U(r)) - L2/r2)1/2
Beim Gravitationspotential oder dem Keplerproblem ist
(10) U(r) = - k/r
Für die Gesamtenergie E < 0 ergeben sich geschlossene Bahnen, genauer
Ellipsen mit dem Zentrum in einem Brennpunkt, Bei E = 0 eine Parabel,
für E > 0 sind es Hyperbeln. Bei letzteren beiden Fällen handelt es sich
um einen Stoßprozeß, es ist sogar ein
elastischer Stoß. E < 0 werden auch gebundene Zustände
genannt, was einer Planetenbewegung um eine Sonne entspricht und die beiden
anderen Möglichkeiten sind also Streuprobleme.
Man beachte, daß die Ellipsen sich zeitlich nicht drehen - die Richtungen der
Hauptachsen sind zeitlich konstant. Das gilt nur für das Potentiale der Form k/r oder
k r2, was bei diesen eine spezielle Erhaltungsgröße darstellt
(Laplace-Runge-Lenz-Vektor).
Mit p = L2/(m k) und
e = (1 + 2 E L2/m k2)1/2
ergibt sich die Ellipsengleichung:
(11) p/r = 1 + e cos(φ)
dabei ist p der Parameter und e die Exzentrizität der
Bahn. Große und kleine Halbachse ergeben sich zu
(12.1) a = p / (1 - e2)
und
(12.2) b = p / (1 - e2)1/2
Für eine Animation wird natürlich noch eine Zeitabhängigkeit benötigt,
möglichst in geschlossener Form, um die Bewegungsgleichungen nicht numerisch
lösen zu müssen. Das ist nicht ganz einfach, vorgerechnet wird das hier nicht.
Zum Glück kann die Lösung nachgelesen werden (L. D. Landau, E. M. Lifschitz:
Lehrbuch der Theoretischen Physik I Mechanik, Akademie-Verlag, Berlin).
Für die Ellipsenbahnen gilt mit dem Parameter ξ aus dem Intervall [0, 2π]
nach Transformation in kartesische Koordinaten:
(13.1) t= (m a3/k)1/2
(ξ - e sin(ξ))
(13.2) x = a (cos(ξ)- e)
(13.2) y = a (1 - e2)1/2 sin(ξ)
Für die Hyperbelbahnen läuft ξ von minus unendlich bis unendlich:
(14.1) t = (m a3/k)1/2
(e sinh(ξ) - ξ)
(14.2) x = a (e - cosh(ξ))
(14.3) y = a (e2 - 1)1/2 sinh(ξ)
Für die Parabelbahnen läuft ξ von minus unendlich bis unendlich:
(15.1) t= (m p3/k)1/2
ξ/2(1 + ξ2/3 )
(15.2) x = p/2 (1 - ξ2)
(15.3) y = p ξ
Bei den Ellipsenbahnen ist die Zeit für einen Umlauf
(16) T = 2 π a2/3 (m/k )1/2 =
π k (- m/(2 E3))1/2
Bei Animationen kann T ja einfach mit dem Attribut dur
vorgegeben werden, daraus ergibt
sich dann mit einer frei wählbaren Längeneinheit a die Kombination m/k, etwa so, daß für
eine Animation gilt (m a3/k)1/2 = 1/(2 π)
dann können die t-Werte als
keyTimes
genutzt werden. Mittels (2) bis (4) kann komponentenweise
die Bewegung von den zwei Körpern ermittelt werden.
Es ist nun unmittelbar zu sehen, daß sich
bei einem Planetensystem nicht nur der Planet bewegt, sondern auch die Sonne. Bei einem System
mit Massen ähnlicher Größe wie einem Doppelsternensystem ist der Effekt bereits
sehr deutlich zu sehen und seit langem auch praktisch beobachtbar.
Beim Erde-Mond-System ist die Wackelei für Ebbe und Flut auf der
Erde verantwortlich. Die Effekte für eine Sonne durch umkreisende Planeten ist winzig,
dennoch sind in den letzten Jahren mit hochauflösenden Anlagen und ausgefeilten
Programmen zahlreiche Beobachtungen von Planeten in entfernten Sonnensystemen gelungen,
meist allerdings mit recht masssereichen Planeten.
Mehrteilchensysteme sind ansonsten nicht allgemein geschlossen lösbar. Sie sind in der
Regel chaotisch. Die scheinbare Ordnung in unserem
Sonnensystem ist auf Milliarden Jahre lange
'Sortiererei' zurückzuführen. Dabei sortiert natürlich nicht jemand Bestimmtes, dies erfolgt
aufgrund der Tatsache, daß beim inelastischen Aufschlag eines kleinen Objektes auf ein großes das kleine einfach
zum Teil des großen wird und es somit insgesamt ein Objekt weniger gibt.
Vieles, was zu chaotisch war, ist so inzwischen entweder auf
Planeten oder der Sonne eingeschlagen oder aus dem System geschleudert worden. Die Planeten untereinander samt
ihrer Monde haben große Abstände zueinander, so daß vieles näherungsweise
auf Zweikörperprobleme
(Sonne-Planet oder Planet-Mond) reduziert werden kann.
Die anderen Objekte sind dann kleine Störungen,
die vor allem dazu führen, daß
die Hauptachsen der Ellipsen nicht mehr fest im Raum stehen, sondern langsam um den Schwerpunkt rotieren. Weitere Ursachen für Abweichungen sind mit der Relativitätstheorie zu
erklären. Bereits Einstein hat solche Abweichungen vorhergesagt.
Experimentelle Beobachtungen können dies belegen.
Bei schnell rotierenden Doppelsternensystemen sind sogar Gravitationswellen indirekt nachgewiesen worden, über welche ein solches System Energie abstrahlt, was eine Verkleinerung des Abstandes und eine Verkleinerung der Umlaufzeiten zur Folge hat.
Zwar ist der Strahlungstyp anders als bei Ladungen, die ein gleichartiges Coulomb-Potential haben, der Effekt ist aber ähnlich, bei beschleunigten
Bewegungen von geladenen Objekten aber viel stärker, weswegen diese in der Regel nicht
rein mechanisch mit obigen Gleichungen beschrieben werden.
Wer mit seinem eigenen Rechner meinen ehemaligen Kollegen (meine ehemaligen Institutskollegen sind jene von GEO600) helfen möchte, Gravitationswellen direkt nachzuweisen, kann ja auf seinem Rechner »Einstein@home
installieren und laufenlassen.
So dies abzusehen ist, sind die Planeten unseres Sonnensystems für viele Millionen Jahre innerhalb von Inseln der Ordnung im Meer des Chaos. Bei Planetenbewegungen sind Energieverluste durch Gravitationswellen irrelevant, andere Störungen sind weit größer. Kleinere Objekte können sich allerdings jederzeit auf Kollisionskurs mit einem der großen Objekte begeben, solch ein Zusammenstoß ändert nichts an den Inseln der Ordnung, kann aber großen Schaden auf dem Planeten anrichten, weil die kinetische Energie beim Aufschlag sehr hoch ist. Chaotische Systeme sind immer nur numerisch mit endlicher Genauigkeit zu lösen, mit wachsender Intergrationszeit wird die Berechnung exponentiell ungenauer.
Einige Beispiele zu den Ellipsenbahnen im Zentralpotential
(die Größen der Objekte relativ zur Bahn sind
für Sonnen oder Planeten nicht realistisch. Einige Parameter werden
zufällig bestimmt, es lohnt sich also ein wiederholtes Aufrufen):
Bewegung im Zentralpotential
(Quelltext zur
Bewegung im Zentralpotential)
Bewegung im Zentralpotential mit kleiner Störung
(Quelltext zur
Bewegung im Zentralpotential mit kleiner Störung)
Unser Sonnensystem in der Näherung
eines Zentralpotentials
(Quelltext zur
Animation unseres Sonnensystems)
Stark vereinfachte Darstellung unseres Sonnensystems mit Sonne und acht Planeten und dem Kleinplanten Pluto
in der Näherung des Zentralpotentials
ohne Wechselwirkung zwischen den Planeten.
Als GET-Parameter können angegeben werden:
jahr - die Animationszeit/Sekunde für ein Jahr
halb - die große Halbachse der Erdumlaufbahn
Weitere Näherungen:
Die Bahnen sind in einer Ebene und die
Durchmesser von Sonne und Planeten sind viel zu groß
dargestellt. Die Sonne ist gut einen Faktor 40 zu groß
dargestellt, der größte Planet Jupiter gut einen Faktor
200 zu groß, damit man sie überhaupt sehen kann
(nur bei der Voreinstellung jahr=10 und halb=10, ab etwa halb=430
stimmt der Sonnendurchmesser etwa relativ zur Umlaufbahn des Merkur).
Die Anfangspositionen der Planeten sind im Minimum ihrer
Bahn, die Richtungen der Hauptachsen sind zufällig gewählt
und ebenso die Blickposition des Betrachters entweder so, daß
die Planeten links herum drehen oder rechts herum.
Die Pluto-Bahn ist um etwa 17 Grad gegenüber der Zeichenebene
geneigt, schneidet die Neptum-Bahn also nicht wirklich. Einige Monde
der Planeten sind größer als Pluto oder Ganymed (Jupitermond)
sogar größer als der Merkur, sind aber hier nicht eingezeichnet.
Im Sonnensystem gibt es ansonsten noch Haufenweise Kleinplaneten,
der größte davon ist Ceres mit einem Durchmesser von
gut 1000 km, irgendwo zwischen Mars und Jupiter, wo sich als
andere 'Prominenz' auch noch Pallas, Juno, Vesta und Eros herumtreiben.
Dem Leser sei es zur Übung überlassen, die Bahnneigungen
richtig einzutragen, mittels Drehungen und Projektionen andere
Ansichten zu erzeugen, die Ausrichtung der Ellipsen, die jeweiligen
Startpositionen der Objekte zu einem bestimmten Beispiel und eventuell
noch einige Kleinplaneten und Monde nachzutragen. Das könnte dann
wie folgt aussehen: Sonnensystem;
Beim Drüberfahren mit der Maus oder einer Aktivierung eines Objektes werden zusätzliche Informationen angezeigt.
Die Anzeige kann wieder mit einem weiteren Klick oder einer Aktivierung der Anzeige entfernt werden.
Geozentrisches oder planetozentrisches Weltbild
(Quelltext zum
geozentrischen beziehungsweise planetozentrischen Weltbild):
Zusätzlich zu der einfachen Animation des Sonnensystem kann hier ein Planet in
der Mitte der Animation fixiert werden. Gut zu erkennen ist, daß
in solchen Weltbildern Gesetzmäßigkeiten in den Bewegungen
der Planeten viel schwieriger zu erkennen sind. Der GET-Parameter fix
entscheidet, welcher Planet fixiert wird (0: Sonne bis 9, 3 ist die Erde).
Weitere Animationen zum Gravitationspotential:
Streulösung des
Kepler-Problems
(Quelltext zur
Streulösung des Kepler-Problems)
Streulösung im
attraktiven Coulomb-Potential oder im Gravitationspotential im Schwerpunktsystem
(Quelltext zur
Streulösung im Schwerpunktsystem)
Doppelsternsystem
(Quelltext zum
Doppelsternsystem)
Doppelsternsystem mit kleiner Störung
(Quelltext zum
Doppelsternsystems mit kleiner Störung)
System mit Sonne, Planet und Mond
(Quelltext zum
System Sonne, Planet und Mond)
Diese Animation ist eine grobe Näherung aus zwei Zweikörperproblemen und kleinen
simulierten Störungen. Die Parameterkombination ist rein aus der Luft gegriffen. Was man
bei entsprechender Vergrößerung aber gut sehen kann, sind die Bewegungen der
Sonne, durch welche der normalerweise von weit weg komplett unsichtbare Planet entdeckt
werden kann. Die in der Animation zufällig ausgewählten Systeme haben eher
diese superschweren Planeten, die leichter zu entdecken sind. Hier liegen alle Bewegungen
exakt in einer Ebene. Das muß bei einem
realen System natürlich nicht so sein, auch wird man da in der Regel nicht senkrecht
auf die Ebene der Bewegung gucken. Wenn seitlich auf die Ebene geguckt wird, kann es
passieren, daß der Planet vor der Sonne vorbeizieht und somit eine scheinbare
kleine Helligkeitsänderung bewirkt, welche ebenfalls zum Nachweis von Planeten
genutzt werden kann. In der Animation könnte dies simuliert werden, wenn das
System auf die Seite gedreht wird. Allerdings gibt es dann bei SVG ein Problem damit, daß
später gezeichnete Objekte immer vorne dargestellt werden, was bei solchen
Animationen zu unangenehmen Komplikationen führt. Ansätze zur Lösung solcher Probleme werden im
Abschnitt 'Tricks zu Problemen der Zeichenreihenfolge' behandelt.
System mit Sonne, Planet und Mond (fixiert)
(Quelltext zum
System Sonne, Planet und Mond(fixiert))
Eine lunarzentrische Sicht der gleichen Systeme - auch aus dieser Perspektive ist es schwer,
einfache Gesetzmäßigkeiten aus den Bewegungen abzuleiten.
Nochmal zurück zum System Erde-Mond als Zweikörperproblem.
Hier lohnt es sich schon, die Drehung von Erde und Mond um die eigene Achse ebenfalls
darzustellen. Um diese sichtbar zu machen, sind auf den beiden willkürliche
Muster angebracht:
Erde-Mond-System
(Quelltext zum
Erde-Mond-System).
Als GET-Parameter kann die Dauer eines Erdentages in der Animation in Sekunden angegeben
werden. Details auf Erde oder Mond sind nur bei starker Vergrößerung zu erkennen.
Daher können die Durchmesser von beiden beim zweiten Beispiel über den
GET-Parameter fak relativ zum Durchmesser der Mondbahn
verändert werden, etwa um besser beobachten zu können, daß
sich der Mond gerade mit der gleichen Zeit um die eigene Achse dreht wie auf seiner
Bahn um die Erde, so daß der Mond der Erde immer die gleiche Seite zuwendet.
Die Sonneneinstrahlung wird grob durch Schattenwurf vorgetäuscht.
Bahnneigungen sind allerdings komplett vernachlässigt. Gut zu erkennen
sind so aber die Mondphasen von der Erde aus gesehen.
Erde-Mond-System 2
(Quelltext zum
Erde-Mond-System 2).
Bei den Streulösungen kann auch das Coulomb-Potential wichtig werden, nicht nur die Gravitation, wenn man für solche nichtperiodischen Lösungen die Strahlung erst einmal vernachlässigt. Die Streulösungen sind einfache Beispiele für einen elastischen Stoß.
Obige Lösungen entsprechen dann beim Coulomb-Potential
entgegengesetzten Ladungen. Bei zwei gleichen Ladungen ergibt sich offenbar ein
Potential der Form:
(17) U = k/r
Die Ellipsengleichung wird dann zu
p/r = e cos(φ) -1
oder mit dem minimalen rmin (Perihelabstand)
rmin = p/(e -1) = a(e + 1)
Für die Hyperbelbahnen läuft ξ von minus unendlich bis unendlich:
(18.1) t = (m a3/k)1/2
(e sinh(ξ) + ξ)
(18.2) x = a (cosh(ξ) + e)
(18.3) y = a (e2 - 1)1/2 sinh(ξ)
Streulösung im
repulsiven Coulomb-Potential im Zentralfeld
(Quelltext zur
Streulösung im repulsiven Coulomb-Potential)
Streulösung im
repulsiven Coulomb-Potential im Schwerpunktsystem
(Quelltext zur
Streulösung im repulsiven Coulomb-Potential im Schwerpunktsystem)
Eigentlich geht es hier erst richtig los, typische Potentiale von Teilchen-Teilchen-Stößen sind nicht so einfach und die Bewegungsgleichungen sind numerisch zu lösen, gebundene Zustände ergeben zum Beispiel Moleküle. Viele Teilchen-Teilchen-Stöße sind Beispiele für einen elastischen Stoß. Ein Einstieg in die Numerik gibt es im Kapitel 'Differentialgleichungen numerisch lösen'.
Streuungen der verschiedensten Teilchen aneinander geben seit
den ersten Streuexperimenten von Rutherford 1911 immer tiefere Einblicke im
Bereich der Atomphysik und der Teilchenphysik in die Grundlagen und die
fundamentalen Prozesse, auf denen im Falle der Teilchenphysik das ganze
Universum basiert oder im Falle der Atom- und Molekülphysik zumindest
die gesamte Chemie, die unser Dasein und auch die Biologie
auf diesem Planeten bestimmt. Chemie findet überall in den etwas
kühleren Gegenden des Universums statt, in Sternatmosphären und
stellaren Gaswolken.
Bei der Streuung von Teilchen gibt es dann auch interessante Effekte wie
Regenbögen, Glorienstreuung, Orbiting oder semiklassisch oder
quantenmechanisch gerechnet interessante Interferenzeffekte zwischen
verschiedenen Möglichkeiten für den gleichen Ablenkwinkel.
Das alles geht dann aber doch weit hinaus über die einfachen Beispiele für
SVG - obwohl sich solche SVG-Animationen auch
ausgezeichnet zur Visualisierung
wissenschaftlicher Daten und Forschungsergebnisse eignen.
Als Beispiel sei hier ein Ergebnis aus eigener Forschung angegeben, ein sogenannter
Optischer Stoß. Bei dem durchgeführten Experiment
werden Wirkungsquerschnitte differentiell gemessen. Statt wie üblich bei den
meisten Streuexperimeten wird hier aber zusätzlich zur Präparation vor
dem Stoß und der Analyse danach der Stoßprozeß direkt beobachtet,
manipuliert und kontrolliert, wofür ein geeigneter Pulslaser verwendet wird.
Durch die zusätzliche Wechselwirkung mit dem Licht ergibt sich entweder ein Dreiteilchenstoß,
eine Wechselwirkung des Stoßpaares mit Licht oder aber auch ein
inelastischer Stoß zweier Teilchen, wobei das Licht eine zeitlich
stark lokalisierte Wechselwirkung darstellt, welche die Potentialkurven austauscht und die
Gesamtenergie verändert, allerdings in so einfacher Weise, daß die Situation davor
und danach weiter als ein elastischer Stoß betrachtet werden kann.
Dies Experiment ist bislang weltweit einmalig.
Folgendes Beispiel zeigt eine Animation zur klassischen
Interpretation eines Ergebnisses, welches (halb)klassisch anschaulich und einfach
zu verstehen ist. Das experimentelle Meßergebnis (Sternchen) zeigt die
Ausrichtung des Orbitals eines Natrium-Atoms bei einer Anregung durch den
Laser während des Stoßes mit einem Neon-Atom, quasi ein
Photo dieses schnellen Stoßprozesses,
die Animation zeigt den Stoßprozeß kurz davor und danach, die
Entwicklung des Orbitals innerhalb von knapp einer Pikosekunde, der typischen
Dauer eines typischen atomaren Stoßprozesses:
Optischer Stoß -
direkte Beobachtung eines atomaren Stoßprozesses.
Die Elemente desc
und title
enthalten genauere Beschreibungen
(Bei Opera 9.x wird die Animation korrekt angzeigt, etwa das adobe plugin und Squiggle 1.7 sind fehlerhaft).
Aktivieren oder anklickern des Logos unten zeigt den Moment der Anregung 20s als unbewegtes Bild.
Mehr Informationen zum Experiment von mir:
»Direkte Beobachtung atomarer und molekularer
Stoßprozesse.
Albert Einstein hat 1905 einen wichtigen Artikel zur Brownschen
Molekularbewegung geschrieben, das war nur einer von mehreren
wichtigen Artikeln von ihm in diesem Jahr. Daher wurde 2005 das
Einsteinjahr gefeiert - innerhalb von 100 Jahren hat sich durch ihn
und viele andere Physiker unser Bild von der Welt komplett geändert.
Bei der Brownschen Molekularbewegung wird ein großes
Teilchen in einem Ensemble von Molekülen beobachtet, typisch in Gasen oder
Flüssigkeiten. Die makroskopisch als Kraftstöße interpretierbaren
scheinbar spontanen Änderungen der Geschwindigkeit in Richtung und
Betrag sind mikroskopisch letztlich auf elastische
Stöße mit Molekülen zurückzuführen, die
zu klein und zu schnell sind, als daß
atomare Stoßprozesse
direkt beobachtet werden könnten. Heutzutage geht das schon,
genaugenommen aber nur in einem Experiment, an welchem ich seit
einigen Jahren arbeite (siehe Beispiel im vorherigen Abschnitt).
In traditionellen Stoßexperimenten hat man hingegen nur eine
Präparation vor dem Stoß und eine Analyse danach. Das
entspricht grob der Brownschen Molekularbewegung, wo man auch nur
die Bewegung des großen Teilchens vor und nach dem Stoß
sieht. Der eigentliche Stoßprozeß
dauert typisch unter einer
Pikosekunde und findet auf einer rämlichen Skala von einigen
atomaren Einheiten statt (einige Nanometer). In solchen Dimensionen
werden Bewegungsabläufe gewöhnlich nicht aufgelöst.
Mit Femtosekundenlasern kann inzwischen das zeitliche Verhalten
einfacher Dissoziationsprozesse aufgelöst werden.
Das ist noch kein ganzer Stoß - ein Molekül
wird dabei mit einem Laser in zwei Teile zerteilt.
Aber durch trickreiche weitere Technik wie bei meinem
Experiment ist die räumliche Information dann verfügbar
bis hin zu einer Photographie eines Stoßprozesses,
in Kombination mit den Femtosekunden-Experimenten wäre dann wirklich ein
echter Film des Stoßprozesses realisierbar.
Zurück zu den inzwischen profanen Interpretationen der Brownschen
Molekularbewegung:
Ist m die Masse des großen Teilchens und T die Temperatur des
Ensembles, k die Boltzmann-Konstante, so ergibt sich die mittlere
Geschwindigkeit des großen Teilchens aus der bekannten Beziehung:
m v2 /2 = kT/2 pro Raumrichtung,
normalerweise gibt es drei Raumrichtungen, bei unserer Animation nur
zwei. Bei ausgedehnten Objekten können auch noch Rotationen und
Schwingungen Energie aufnehmen.
Die Animation gibt eine solch stochastische Zufallsbewegung des
großen Teilchens qualitativ wieder. Je länger der Weg bis
zum nächsten Stoß, desto weniger kleine Teilchen sind
vorhanden, je kleiner die Geschwindigkeitsänderung bei einem
Stoß, desto größer ist das Verhältnis von
kleiner zu großer Masse. Je schneller sich das Teilchen im
Mittel bewegt, desto heißer das Ensemble.
Animation einer
Brownschen Molekularbewegung
(Quelltext zur
Brownschen Molekularbewegung)
Etwas gepfuscht habe ich allerdings bei der Zufallsbewegung. In SVG
kann ich nur einen endlichen Pfad zufällig generieren, daher
läuft das Teilchen nach Ablauf der Animation rückwärts
zum Ausgangspunkt zurück und beginnt von vorn - sobald es
auffällt, sollte das Bild mit neuen Zufallsparametern gestartet
werden. Als Zufallsverteilung sollte es eigentlich eine
Poissonverteilung sein, auch da habe ich stark
vereinfacht, was aber nichts Wesentliches
am Ergebnis ändern sollte.
Man kann auch anders mogeln, dazu lasse ich allerdings die Randbegrenzung weg und symmetrisiere den Zufallspfad - der ist dann allerdings nur noch halb so zufällig wie er sein sollte und das Teilchen kann teilweise über den Rand hinausgelangen. Weitere Animation einer Brownschen Molekularbewegung (Quelltext der zweiten Animation zur Brownschen Molekularbewegung) mit eingezeichnetem symmetrisierten Zufallspfad.
Mit einem anderen Typ von Symmetrisierung ist beim Zufallspfad dann auch die Symmetrisierung nicht mehr direkt erkennbar: Weitere Animation einer Brownschen Molekularbewegung (Quelltext der dritten Animation zur Brownschen Molekularbewegung) mit eingezeichnetem, asymmetrischen Zufallspfad.
Und noch eine etwas andere Methode, um einen asymmetrischen, geschlossenen Zufallspfad zu erhalten: Weitere Animation einer Brownschen Molekularbewegung (Quelltext der vierten Animation zur Brownschen Molekularbewegung) mit eingezeichnetem, asymmetrischen Zufallspfad.
Nun könnte man sich auch noch vorstellen, daß kleine Richtungsänderungen bei einem Stoß bevorzugt sind, im einfachsten Fall kann man dazu erst einmal den maximalen Ablenkwinkel pro Stoß einschränken: Animation einer Brownschen Molekularbewegung mit eingeschränkter Richtungsänderung (Quelltext der fünften Animation zur Brownschen Molekularbewegung).
Stattdessen kann man natürlich auch die kleinen Ablenkwinkel stärker gewichten als große: Animation einer Brownschen Molekularbewegung mit gewichteter Richtungsänderung (Quelltext der sechsten Animation zur Brownschen Molekularbewegung).
Andere interessante Zufallsbewegungen ergeben sich, wenn man x- und y-Komponenten getrennt animiert und mit verschiedenen Animationsdauern ausstattet, so kann bereits mit wenigen Datenpunkten ein komplexer Zufallspfad entstehen, der sich nur sehr selten wiederholt, insbesondere bei teilerfremden Animationsdauern.
Weitere interessante Beispiele sind die numerischen Lösungen von
Bewegungsgleichungen, speziell auch Modelle aus der Chaostheorie,
etwa das bekannte Lorenz-System. Gibt es keine geschlossene Darstellung
der Kurvenform und ist diese nicht in allen Dimensionen periodisch,
kann mit PHP natürlich nur ein kleiner Zeitbereich einer solchen
Kurve dargestellt werden. Allerdings können die jeweiligen
Endwerte als GET-Parameter an einen Verweis angehängt werden,
den der Nutzer nur zu betätigen braucht, damit er das
nächste Zeitintervall der Bewegung berechnet und visualisiert
bekommt. Mit SVG 2 sollten da auch noch mehr Tricks drin sein,
man wird sehen. Mit der numerischen Lösung von Diffentialgleichungen
beschäftigt sich der Abschnitt 'Numerik', dort werden Verfahren nach
Runge-Kutta verwendet.
Wenn jedenfalls bekannt ist, daß es sich um eine periodische
Lösung handelt, lohnt es sich, die Differentialgleichung zeitlich einmal
vorwärts und einmal rückwärts zu lösen und
die numerischen Fehler durch geeignete gewichtete Mittelwertbildung
zu verkleinern.
Mit Skript-Animationen lassen sich auch nichtperiodische Bewegungen
bequem integrieren - ohne weitere Interaktion durch den Nutzer. Allerdings
funktionieren solche Animationen nicht mit SVG-tiny oder bei deaktivierten
Skript-Sprachen (java-script, ecma-script), weswegen diese Animationen
für solche Nutzer auch leere Versprechungen sein können, dem
mit einer alternativen deklarativen Animation, wie hier vorgestellt,
vorgebeugt werden sollte. Auch stellen wohl Skript-Animationen wieder einen
Rückgriff auf das Einzelbildverfahren dar, vergleichbar mit Film- und
Fernsehen, wenn ich das in entsprechenden Beispielen richtig gesehen habe.
Das ist formal nicht schön, da somit den Darstellungsprogrammen wieder
vorgeschrieben wird, wie sie etwas darstellen sollen und nicht was sie darstellen
sollen. Gut, vielen Autoren und auch Nutzern wird der Unterschied nicht klar
sein. Eigenes Überdenken hinsichtlich der Vermeidung von Zugänglichkeitsbarrieren
beim Einsatz von anwenderseitigen Skriptsprachen verbleibt hier aber erstmal als kleine Hausaufgabe -
nicht nur in Hinsicht auf Skript-Animationen, auch hinsichtlich SVG und
XHTML ganz allgemein eine gute Hausaufgabe...