02.11.2014 Aufrufe

schriftliche Arbeit (pdf, 1.8MB) - FSG Fellbach

schriftliche Arbeit (pdf, 1.8MB) - FSG Fellbach

schriftliche Arbeit (pdf, 1.8MB) - FSG Fellbach

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Projekt mobilitas: Physiksimulationen am PC<br />

Wie lässt sich das Verhalten von einfachen Körpern nach<br />

Prinzipien der klassischen Mechanik vorausberechnen?<br />

von Patrick Pietzonka (17 Jahre)


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

Inhalt<br />

1. Einleitung 2<br />

2. Vorgehensweise 3<br />

2.1. Hilfsmittel 3<br />

2.1.1. Entwicklungsumgebung Borland C++ Builder 3<br />

2.1.2. Graphikbibliothek OpenGL 3<br />

2.1.3. Mathematikprogramm Maple 10 3<br />

2.2. <strong>Arbeit</strong>smethoden 4<br />

3. Ergebnisse 5<br />

3.1. Die Benutzeroberfläche 5<br />

3.1.1. Bauteile 7<br />

3.1.2. Auswertungsmöglichkeiten der Simulation 8<br />

3.2. Simulationsmethoden 9<br />

3.2.1. Bewegung der Massenpunkte 9<br />

3.2.2. Kollisionen von Kugeln 10<br />

3.2.3. Simulation von durch Stangen verbundenen<br />

Massenpunkten. 11<br />

a) Kollisions-Methode 12<br />

b) Penalty method 12<br />

c) Vergleich der beiden Methoden 14<br />

3.3. Bisherige Anwendungsmöglichkeiten 15<br />

4. Ausblicke 15<br />

4.1. Interaktive Steuerung durch den Anwender<br />

auch nach dem Start der Simulation 15<br />

4.2. Astrophysik mit mobilitas 16<br />

4.3. Einsatz des SmartBoard 16<br />

5. Danksagungen 16<br />

6. Quellen und Literaturverzeichnis 17<br />

- 1 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

1. Einleitung<br />

Aus nahezu allen naturwissenschaftlichen Disziplinen und der Technik sind<br />

leistungsstarke, rechnergestützte Simulationen heute kaum mehr wegzudenken.<br />

Nur Computer können den enormen Rechenaufwand vollbringen,<br />

der nötig ist um mithilfe der Gesetze der Natur die Zukunft „vorherzusagen“.<br />

Sie berechnen beispielsweise die Anfänge des Universums, Wirtschaftssysteme,<br />

Völkerwanderungen und auch in unseren Alltag haben sie<br />

in Form von Wettervorhersagen Einzug erhalten. In der Physik sind Computersimulationen<br />

neben Experimenten und theoretischen Überlegungen<br />

zu einer der wichtigsten <strong>Arbeit</strong>smethoden geworden. Im Physikunterricht<br />

an Schulen werden die Vorzüge von Simulationen dagegen nicht genutzt,<br />

obwohl es sich die Fachschaft Physik meiner Schule zum Ziel erklärt hat,<br />

den Schülern „physikalisches <strong>Arbeit</strong>en“ beizubringen. 1<br />

Meiner Ansicht nach scheitert der Einsatz von Computern im Physikunterricht<br />

an einem Mangel an passender Software: Professionelle Programme<br />

benötigen zur Bedienung physikalische Kenntnisse die jene von Schülern<br />

übersteigen und oftmals sind weitgehende Programmierkenntnisse erforderlich.<br />

Einfachere Software, z.B. das auf den Rechnern meiner Schule<br />

installierte Crocodile Clips 2 , sind im Bereich Mechanik nicht universell einsetzbar.<br />

Crocodile Clips bietet hier nur vorgefertigte Bauteile wie<br />

Zahnräder und Motoren an, einfachste Experimente wie beispielweise die<br />

Betrachtung von Wurfbahnen sind jedoch unmöglich.<br />

Aus meiner Interesse an Physik und Informatik und mit dem Ziel zur Anwendung<br />

im Physikunterricht (siehe auch 4.4.) begann ich daher Mitte des<br />

Jahres 2007 mit den Vorarbeiten für eine eigene Software mit dem Ziel,<br />

die Gesetze der klassischen (newtonschen) Mechanik, die in Klasse 10<br />

(G8) unterrichtet werden, zu simulieren.<br />

Als Name für das Programm wählte ich beim Durchblättern eines Lateinwörterbuches<br />

das lateinische Wort mobilitas, zu Deutsch Beweglichkeit,<br />

also diejenige Eigenschaft, die die Software von langweiligen Skizzen an<br />

der Schultafel im Physikraum unterscheidet.<br />

1 http://www.fsg-fellbach.info > Fächer > Physik > Curriculum<br />

2 Crocodile Clips Version 3.5c der Firma Crocodile Clips Ltd<br />

- 2 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

2. Vorgehensweise<br />

2.1. Hilfsmittel<br />

2.1.1. Entwicklungsumgebung Borland C++ Builder<br />

Programmiert wird mobilitas in der Programmiersprache<br />

C++. Dazu benutze ich die Entwicklungsumgebung C++<br />

Builder der Firma Borland. Sie ermöglicht<br />

das Erstellen von den aus Windows<br />

bekannten Fenstern und<br />

Steuerelementen sowie die Eingabe<br />

von Quelltext und dessen Übersetzung<br />

in Maschinensprache (Kompilierung).<br />

Abb. 1: Logo und Screenshot des C++ Builders<br />

2.1.2. Graphikbibliothek OpenGL<br />

OpenGL (Open Graphics Library) stellt vorgefertigte<br />

Funktionen zum „Einbau“ in das von mir programmierte<br />

Programm bereit. Sie erleichtern die Graphikausgabe,<br />

insbesondere im bezug auf 3D-Darstellungen.<br />

Da mobilitas aber zum Zwecke einfacherer Bedienung nur auf<br />

Abb. 2: Logo von OpenGL<br />

zweidimensionaler Basis arbeitet, mache ich von dieser Möglichkeit eher<br />

wenig Gebrauch (z.B. zur realistischen 3D-Darstellung von Kugeln).<br />

2.1.3. Mathematikprogramm Maple 10<br />

Für die mathematischen Vorarbeiten benutze ich das<br />

Computeralgebrasystem (CAS) Maple 10. Es ermöglicht<br />

algebraische Umformungen auch an langen, komplizierten<br />

Formeln. Außerdem nutze ich häufig die<br />

Möglichkeit, die Ergebnisse in C++ zu konvertieren.<br />

2<br />

mv<br />

z.B.: F1 = double F[0]= m * pow(v, 2) / r<br />

r<br />

Abb. 3: Fenster beim Start<br />

von Maple<br />

Dies ist vor allem bei langen Formeln mit vielen Bruchstrichen, Klammern,<br />

Potenzen usw. sehr hilfreich.<br />

- 3 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

2.2. <strong>Arbeit</strong>smethoden<br />

Die <strong>Arbeit</strong> an mobilitas lässt sich grob in zwei Teile untergliedern: Zum<br />

einen das Erstellen einer Benutzeroberfläche und zum anderen die Entwicklung<br />

von Algorithmen zur Simulation der physikalischen Vorgänge.<br />

Beim Erstellen der Benutzeroberfläche, über die der Anwender mit der<br />

Anwendung interagiert, versuche ich Wert auf ein logisches Gesamtkonzept<br />

zu legen, welches sich im Design der Fenster, den Menüs und den<br />

Eingabeschritten hin zum virtuellen Versuchsaufbau widerspiegeln sollte.<br />

Stets ist dabei ein Kompromiss zwischen einer möglichst großen Zahl an<br />

Bearbeitungsmöglichkeiten und einem Maximum an Benutzerfreundlichkeit<br />

zu finden. Im Idealfall sind die verschiedenen Funktionen selbsterklärend<br />

oder bereits von anderen Anwendungen her bekannt. Letzteres trifft dabei<br />

besonders bei den Funktionen zum Bearbeiten der Objekte (z.B. Markieren,<br />

Rückgängig, Kopieren, Einfügen, Löschen) oder zur Bedienung der<br />

Dateien (z.B. Speichern (unter), Öffnen) zu. Am Zeitaufwendigsten ist bei<br />

diesem ersten Teil die Programmierung von Abläufen im Hintergrund, die<br />

im Normalfall dem Anwender nur dann auffallen, wenn sie einmal nicht<br />

funktionieren sollten (z.B. andere Objekte nicht mehr markieren, sobald<br />

der Anwender ein neues Objekt markiert, alte Position nicht mehr anzeigen,<br />

nachdem ein Objekt verschoben wurde, Lücken im <strong>Arbeit</strong>sspeicher<br />

nach dem Löschen eines Objekts schließen usw.). Die Ergebnisse dieser<br />

<strong>Arbeit</strong> werde ich in Punkt 3.1. erläutern.<br />

Die Umsetzung der physikalischen Sachverhalte in der Anwendung forderte<br />

deutlich mehr z.T. sehr aufwendige Vorarbeiten. Die Vorkenntnisse<br />

zu den einzelnen Themen aus der Schule erwiesen sich als weitgehend<br />

unzureichend – mir fiel auf, dass die dort erarbeiteten mathematischen<br />

Beziehungen meist nur für Spezialfälle gelten. Bezeichnend dafür ist die<br />

Art und Weise, wie der elastische Stoß im [Dorn-Bader 11] behandelt<br />

wird. Hier lautet die Fragestellung: Wie bewegen sich zwei Kugeln der Geschwindigkeiten<br />

v 1 und v 2 =0 und gegebener Masse nach einem geraden 3<br />

Stoß weiter? Für eine Simulation, bei der die Kugeln frei wählbare Startparameter<br />

zugewiesen bekommen, ist die Antwort auf diese Frage nicht<br />

ausreichend. Hier lautet die Fragestellung: Werden zwei Kugeln mit den<br />

gegebenen Parametern Anfangsposition, einwirkende Kraft, Masse, Startgeschwindigkeit<br />

und Radius kollidieren? Wenn ja, zu welchem Zeitpunkt?<br />

Wie bewegen sie sich nach dem elastischen Stoß weiter? 4 Durch diese<br />

neue Fragestellung erhöht sich die Zahl der zu berücksichtigenden Parametern<br />

von drei auf sechzehn 5 ; die Lösungsformeln werden somit viel<br />

länger und unüberschaubarer als im Physikunterricht.<br />

Die erarbeiteten Lösungsformeln oder Näherungsmethoden füge ich zu<br />

Algorithmen zusammen, die die Grundlage der Simulation bilden.<br />

3 Der schiefe Stoß wird im Schulbuch nur kurz unter der Rubrik „Interessantes“ behandelt<br />

4 Antwort siehe 3.2.2.a)<br />

5 Kraft, Geschwindigkeit und Position sind Vektoren mit zwei Komponenten in der Ebene<br />

- 4 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

Programmierung der Physikalischen<br />

Vorgänge<br />

Theoretische<br />

physikalische/mathematische Vorarbeiten<br />

Vorarbeiten zur Benutzeroberfläche<br />

Programmierung der Benutzeroberfläche<br />

Abb. 4: Zeitaufwand für die verschiedenen <strong>Arbeit</strong>sschritte (Schätzung)<br />

3. Ergebnisse<br />

3.1. Die Benutzeroberfläche<br />

6<br />

5<br />

2<br />

1<br />

4<br />

Abb. 5: Screenshot mobilitas<br />

7<br />

3<br />

- 5 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

1 Zeichenoberfläche<br />

Auf der Zeichenoberfläche erstellt der Anwender den virtuellen Versuchsaufbau.<br />

Alle Objekte werden durch Mausklicks an bis zu drei verschiedenen<br />

Stellen festgelegt. Über die Bezugspunkte (meist Mitteloder<br />

Endpunkte) werden weitere Objekte an ein beliebiges Bauteil<br />

„angebaut“.<br />

2 Bauteile-Explorer<br />

Der Bauteile-Explorer, der der in Windows üblichen Ordnerstruktur<br />

(Tree View) nachempfunden ist, stellt die verschiedenen Bauteile zur<br />

Verfügung. Nach dem Auswählen eines Bauteils kann dieses direkt auf<br />

der Zeichenoberfläche gezeichnet oder durch Eingabe der Objekteigenschaften<br />

erstellt werden.<br />

3 Werkzeuge<br />

Mit den sechs verschiedenen Werkzeugen können Objekte nachträglich<br />

bearbeitet werden oder die Ansicht verändert werden.<br />

Objekte markieren, dabei sind auch Mehrfachauswahlen möglich.<br />

Objekte durch Verschieben der Bezugspunkte bewegen.<br />

Bauteile durch einfaches Klicken löschen.<br />

Den gesamten Versuchsaufbau bewegen.<br />

Zoom vergrößern Zoom verkleinern<br />

4 Objekteigenschaften<br />

In diesem Bereich lassen sich die Eigenschaften der markierten Objekte<br />

ändern. So lässt sich z.B. eine Geschwindigkeit viel genauer einstellen<br />

als durch bloßes Zeichnen des Vektors.<br />

5 Hauptmenü<br />

Die Menüs Datei und Bearbeiten bieten gleiche Funktionen wie in jeder<br />

gewöhnlichen Windows-Anwendung. Messung bietet Möglichkeiten zur<br />

Aufzeichnung von Diagrammen und Wertetabellen; die Menüs<br />

Simulation und Ansicht beinhalten gleiche bzw. ähnliche Funktionen<br />

wie die Simulations-Toolbox und die Werkzeuge.<br />

Unter Einstellungen lassen sich unter anderem die Fallbeschleunigung<br />

einstellen.<br />

6 Simulations-Toolbox<br />

Die Simulations-Toolbox ist den allgemeinverständlichen Bedienelementen<br />

zur Medien-Wiedergabe nachempfunden. Mit ihr kann die Simulation<br />

gestartet, angehalten oder gestoppt werden.<br />

Über das -Symbol gelangt man zu den Simulations-Einstellungen,<br />

dort lässt sich z.B. die Abspielgeschwindigkeit ändern<br />

7 Statusleiste<br />

Anzeige der Cursorposition, des Zoomfaktors, Hinweise zur Bedienung<br />

und während der Simulation Zeit t und Dauer eines Zeitschrittes ∆t.<br />

- 6 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

Alle Bauteile<br />

- Name(String)<br />

- Name anzeigen(bool)<br />

- Sichtbar bei der Simulation (bool)<br />

- programminterne Nummer (int)<br />

- Funktion Zeichnen<br />

- Funktion Löschen<br />

Punkt<br />

- x-Position (double)<br />

- y-Position (double)<br />

(x-Achse nach rechts, y-<br />

Achse nach unten<br />

gerichtet)<br />

- fest im Raum, d.h.<br />

unbeweglich (bool)<br />

Kugel<br />

- Radius (double)<br />

- Masse (double)<br />

- Einheit der Masse<br />

(g/kg/t) (String)<br />

- Name/Nummer des<br />

Mittelpunktes (String<br />

/int)<br />

Vektor<br />

- Bezugspunktnummer/-<br />

name (String /int)<br />

- Betrag<br />

- Richtung (Winkel)<br />

- Betrag, der in der<br />

Pfeildarstellung einer<br />

Längeneinheit entspricht.<br />

Stange<br />

- Anfangspunktnummer/-<br />

name (String/int)<br />

- Endpunktnummer/-name<br />

(String/int)<br />

- Masse (double)<br />

- Einheit der Masse<br />

(g/kg/t) (String)<br />

Kraft<br />

- Einheit (cN/N/kN)<br />

(String)<br />

Geschwindigkeit<br />

- Einheit<br />

(cm s -1 / km h -1 / m s -1 )<br />

(String)<br />

Abb. 6: Objektstruktur von mobilitas (Auszug)<br />

Datentypen: double Gleitkommazahl 64-Bit<br />

int Ganzzahl<br />

String Text<br />

bool Boolesche Variable (wahr / falsch)<br />

3.1.1. Bauteile<br />

Die Bauteile haben verschiedenerlei Aufgaben und Funktionen im Programmablauf.<br />

Punkte dienen, wie bereits erwähnt, als Bezugspunkte bzw.<br />

Anknüpfpunkte aller anderen Objekte. „Feste Punkte“ haben eine feste<br />

Position im Raum, sie eignen sich daher als Aufhängepunkte, Dreh- oder<br />

Angelpunkte. „Lose Punkte“ dagegen werden als frei bewegliche Gelenke<br />

aufgefasst.<br />

Durch das Zeichnen eines Geschwindigkeitsvektors wird einem losen<br />

Punkt eine Anfangsgeschwindigkeit verliehen. Solche Vektoren können<br />

Betrag und Richtung während der Simulation ändern. Kraftvektoren dagegen<br />

wirken während der Simulation stets gleichartig auf den ihnen zugewiesenen<br />

Angriffspunkt.<br />

Als idealer Körper sind auch Kugeln im Grundsortiment von Bauteilen vorhanden,<br />

sie erhalten beim Zeichnen automatisch eine Masse, die proportional<br />

zum Radius ist 6 (diese automatisch zugewiesene Masse kann selbstverständlich<br />

nachträglich unabhängig vom Radius geändert werden).<br />

Stangen sind die in dem Programm am vielseitigsten einsetzbaren Körper.<br />

Aus ihnen können alle erdenklichen weiteren Körper aufgebaut werden:<br />

Seile werden bei der Simulation durch eine „Kette“ sehr vieler kurzer<br />

Stangen ersetzt, starre Körper setzen sich aus vielen zu Dreiecken angeordneten<br />

Stangen zusammen. In den nächsten Monaten wird das Erstellen<br />

einer größeren Auswahl an solchen zusammengesetzten Bauteilen wichtiger<br />

Bestandteil der <strong>Arbeit</strong> an mobilitas sein.<br />

6 Proportionalität zur dritten Potenz des Radius wäre zwar physikalisch korrekter, eine<br />

Kugel der Masse von beispielsweise genau 2 kg lässt sich jedoch auf die von mir<br />

gewählte Art und Weise viel leichter erstellen.<br />

- 7 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

Die Bauteile Stange und Kugel haben die Eigenschaft Material. Sie hat bisher<br />

noch keine Auswirkungen auf die Simulation, mein Ziel ist es jedoch,<br />

eine Datenbank mit materialspezifischen Größen (Elastizität des Stoßes,<br />

Federhärte, Bruchfestigkeit usw.) zu erstellen und die darin gespeicherten<br />

Werte bei der Simulation zu berücksichtigen<br />

3.1.2. Auswertungsmöglichkeiten der Simulation<br />

a) Dynamik<br />

Bis zu drei Ortskurven von Punkten kann man während dem Ablauf der<br />

Simulation aufzeichnen und so die Bahn von Punkten auswerten. Optional<br />

können diese Kurven als Reihe von Punkten dargestellt werden,<br />

deren Dichte ein Maß für die Geschwindigkeit des beobachteten Punktes<br />

auf einem Kurvenabschnitt ist.<br />

Abb. 7: Aufzeichnung dreier Zykloiden (bewegtes, rotierendes Dreieck)<br />

b) Statik<br />

Abb. 8<br />

Bei Statikexperimenten eignet sich<br />

besonders die Auswertung der<br />

inneren Kräfte in Stangen – entweder<br />

durch farbige Markierung belasteter<br />

Stangen (um sich einen Überblick zu<br />

verschaffen) oder durch Ablesen<br />

einer Anzeige neben der jeweiligen<br />

Stange (optional einzustellen)<br />

In der Abbildung wurden Zugkräfte<br />

blau und Druckkräfte rot markiert.<br />

Der abgebildete Kran bedarf evtl.<br />

eines größeren Gegengewichtes oder<br />

einer geringeren Belastung.<br />

- 8 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

3.2. Simulationsmethoden<br />

Bei der Simulation ist es stets nötig, die Realität in Modellen so zu vereinfachen,<br />

dass der Computer physikalische Vorgänge berechnen kann. Zu<br />

diesen Vereinfachungen gehören immer Idealbedingungen (z.B. kein Luftwiderstand).<br />

Ungenauigkeiten entstehen auch dadurch, dass mir die<br />

Schulmathematik nur eine sehr beschränkte Auswahl an mathematischen<br />

Verfahren bietet. 7 Außerdem gibt es nur selten exakte algebraische Lösungen<br />

für die auftretenden Probleme; die Genauigkeit der numerischen Lösungen<br />

hängt stark von der Rechenleistung und der Auslastung des benutzten<br />

Computers ab.<br />

3.2.1. Bewegung der Massenpunkte<br />

Bei der Simulation werden die für das Erstellen des Versuchsaufbaus nötigen<br />

Bezugspunkte zu Massenpunkten. Nach meiner Modellvorstellung ist<br />

in ihnen die Masse aller Objekte konzentriert, sie haben jedoch keine<br />

räumliche Ausdehnung.<br />

Jedem Massenpunkt wird zu Beginn der Simulation die entsprechende<br />

Position r zugewiesen 8 , allen losen Massenpunkten wird die Summe der<br />

Massen der an ihnen „befestigten“ Objekte (bei Stangen wird nur die<br />

Hälfte der Masse berücksichtigt) als Masse zugeordnet, die Masse der<br />

festen Punkte dagegen geht gegen unendlich, d.h. sie sind unendlich<br />

träge. Außerdem wird den losen Punkten die Anfangsgeschwindigkeit v r<br />

r r<br />

zugewiesen, als Kraft erfahren sie die Gravitation F = mg<br />

(Betrag der nach<br />

unten gerichteten Fallbeschleunigung g r kann vom Benutzer gewählt werden;<br />

Standard: 9,81 m s -2 ). Dazu werden evtl. an den Punkt gezeichnete<br />

Kraftvektoren addiert.<br />

Während der Simulation wird die Zeit in möglichst kleine 9 Zeitschritte ∆t<br />

unterteilt. Nach jedem Zeitschritt wird eine komplexe Routine durchlaufen,<br />

die zur Aktualisierung von r und v r dient. Im einfachsten Falle geschieht<br />

dies durch diesen Ablauf:<br />

r r<br />

valt<br />

= v<br />

r<br />

Für alle losen r r F<br />

vneu<br />

= v + ∆t<br />

(1)<br />

Massenpunkte<br />

m<br />

r r<br />

r r valt<br />

+ vneu<br />

neu<br />

=<br />

+ ∆t<br />

(2)<br />

2<br />

24 Mal pro Sekunde werden die neu errechneten Positionen auch auf dem<br />

Bildschirm aktualisiert.<br />

7 Das Lösen von Differenzialgleichungen, auf die ich bei meinen Recherchen oft stoße,<br />

wird in der Schule nicht behandelt.<br />

8 Bei Vektoren werden stets vertikale und horizontale Komponente gespeichert<br />

9 Die „Winzigkeit“ dieser Zeitschritte ist ausschlaggebend für die Qualität der Simulation.<br />

Mit mobilitas werden i.d.R. Zeitschritte um 17ms erreicht. Kleinere Zeitschritte werden<br />

durch Abspielen in Zeitlupe erreicht.<br />

- 9 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

3.2.2. Kollisionen von Kugeln 10<br />

Um das Verhalten zweier Kugeln bei einer<br />

Kollision zu beschreiben, ist es hilfreich,<br />

zunächst folgenden Spezialfall zu betrachten:<br />

Der gerade elastische Stoß einer<br />

Kugel der Masse m 1 mit der Geschwindigkeit<br />

v 1 auf eine ruhende Kugel der Masse m 2 .<br />

Nach der Kollision bewegen sich die Kugeln<br />

mit den Geschwindigkeiten u 1 und u 2 weiter.<br />

Dabei gilt der Energieerhaltungssatz (EES)<br />

im Bezug auf die kinetischen Energien der<br />

beiden Kugeln und der Impulserhaltungssatz<br />

(IES):<br />

1 2 1 2 1 2<br />

EES: m<br />

1v1<br />

+ 0 = m1u<br />

1<br />

+ m2u2<br />

2 2 2<br />

IES: m<br />

1v1<br />

+ 0 = m1u<br />

1<br />

+ m2u2<br />

1<br />

Setzen von m2 = k ⋅ m1<br />

und Teilen durch m<br />

1 bzw. m<br />

1<br />

:<br />

2<br />

2<br />

1<br />

1<br />

2<br />

1<br />

1<br />

2<br />

2<br />

v = u + k ⋅ u Subtrahieren der u 1<br />

-Terme und<br />

2 2<br />

v = u + k ⋅ u Setzen von v − u = v − u )( v + )<br />

2<br />

1 1 ( 1 1 1 u1<br />

v v =<br />

1<br />

2<br />

0<br />

m1<br />

m2<br />

u1<br />

u2<br />

Abb. 9: Der elastische Stoß<br />

( v<br />

= k ⋅u<br />

1<br />

− u1)(<br />

v1<br />

+ u1)<br />

v1 − u1<br />

= k ⋅u2<br />

2<br />

2<br />

Teilen jeder Seite der ersten Gleichung<br />

durch die der zweiten:<br />

v + u<br />

1<br />

1<br />

1<br />

v − u<br />

1<br />

= u<br />

2<br />

= k ⋅u<br />

1− k<br />

u1 = v1<br />

und 1 + k<br />

2<br />

u<br />

2<br />

Lösen des LGS liefert:<br />

2v<br />

= 1<br />

1 + k<br />

Wenn sich bei diesem geraden Stoß auch noch die rechte Kugel anfangs<br />

mit beliebigem Geschwindigkeitsbetrag v 2 bewegt, kann das Verhalten der<br />

Kugeln in einem Bezugssystem betrachtet werden, welches sich ebenfalls<br />

mit der Geschwindigkeit v 2 bewegt. In ihm gilt dann:<br />

v 1 ' = v 1 − v 2 und v ' 0 2 =<br />

1−<br />

k<br />

u ' = u − v = v1 '<br />

2v1<br />

'<br />

1 1 2 und u2' = u2<br />

− v2<br />

=<br />

1+<br />

k<br />

1+<br />

k<br />

Rückschluss auf ruhendes Bezugssystem:<br />

1−<br />

k<br />

2( v1<br />

− v2)<br />

u 1 = ( v1<br />

− v2)<br />

+ v2<br />

und u<br />

2<br />

= + v2<br />

1+<br />

k<br />

1+<br />

k<br />

In den meisten Fällen liegt jedoch kein gerader, sondern ein schiefer Stoß<br />

vor. Dabei kann man nicht mehr die Gesamtbeträge der Geschwindigkeit<br />

10 Kollisionen, an denen Stangen beteiligt sind wurden kurz vor Einsendeschluss dieses<br />

Berichtes realisiert; die zugehörige Physik ist komplex und würde diesen Rahmen<br />

sprengen. Auf Anfrage gebe ich gerne auch darüber Auskunft.<br />

- 10 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

und v r<br />

2<br />

nach obigen Formeln verändern, sondern muss die Geschwindigkeiten v r<br />

1<br />

jeweils in zueinander orthogonale Komponenten zerlegen. Maßgebend<br />

für diese Zerlegung ist der Vektor r 12<br />

, der vom Mittelpunkt der einen<br />

werden so zer-<br />

Kugel zum Mittelpunkt der anderen Kugel zeigt. v r 1<br />

und v r<br />

2<br />

legt, dass jeweils eine Komponente parallel, die andere orthogonal zu r 12<br />

ist. Nur die Beträge der parallelen Komponenten werden für v 1<br />

und v 2 in<br />

den oben hergeleiteten Formeln eingesetzt. Die daraus resultierenden Beträge<br />

werden den jeweiligen parallelen Komponenten neu zugewiesen. Die<br />

orthogonalen Komponenten bleiben beim Stoß unverändert. Schließlich<br />

berechnen sich die Geschwindigkeiten der jeweiligen Kugeln nach dem<br />

Stoß aus dem durch Vektoraddition der unveränderten orthogonalen und<br />

der neuen parallelen Komponente.<br />

Um diesen Algorithmus während dem Ablauf der Simulation anwenden zu<br />

können, muss vorerst noch der Zeitpunkt einer Kollision berechnet werden.<br />

Für alle möglichen Kombinationen zweier Kugeln wird daher der zeitliche<br />

Verlauf des Abstandes d r der beiden Mittelpunkte an den Positionen<br />

r 1<br />

und r 2<br />

betrachtet:<br />

r r r<br />

d ( t)<br />

=<br />

1<br />

( t)<br />

−<br />

2<br />

( t)<br />

r 1 r 2 r r 1 r 2 r r<br />

d ( t)<br />

= ( a1t<br />

+ v1t<br />

+<br />

1)<br />

− ( a2t<br />

+ v<br />

2t<br />

+<br />

2)<br />

2<br />

2<br />

Bedingung<br />

r<br />

für Kollision:<br />

| d ( t) | = dmin<br />

, wobei d<br />

min<br />

die Summe der Radien der beiden Kugeln ist. Werden<br />

obige Gleichungen in Komponenten formuliert so ergibt sich für die<br />

Abstandsfunktion d r 2 ( t)<br />

eine ganzrationale Funktion vierten Grades. Die<br />

Zeitpunkte, für die die Bedingung erfüllt wird, lassen sich mithilfe des<br />

Newton-Verfahrens numerisch berechnen.<br />

Relevant für die Simulation ist nur jeweils der kleinste Zeitpunkt t 1 der Lösungsmenge,<br />

der sich innerhalb des soeben betrachteten Zeitschrittes<br />

befindet. Wenn das Programm einen solchen Zeitpunkt ermittelt, wird der<br />

aktuelle Zeitschritt so in zwei Teile untergliedert, dass der zweite Teil zu t 1<br />

beginnt und dadurch die Kollision zur richtigen Zeit berechnet werden<br />

kann.<br />

3.2.3. Simulation von durch Stangen verbundenen Massenpunkten.<br />

Eine der Hauptanwendungsmöglichkeiten von mobilitas ist die Simulation<br />

von sowohl statischen als auch dynamischen Systemen aus durch Gelenke<br />

verbundenen Stangen. Dafür erarbeitete ich zwei unterschiedliche Modelle,<br />

die das Verhalten solcher Systeme beschreiben. Gemeinsamkeit<br />

beider Modelle ist die Vereinfachung, das gesamte System auf eine endliche<br />

Zahl von Massenpunkten zu reduzieren, die durch masselose, unendlich<br />

steife Stangen verbunden sind (engl. „constrained particles“).<br />

Die tatsächliche Masse einer Stange wird je zur Hälfte zur Punktmasse von<br />

Anfangs- und Endpunkt addiert.<br />

- 11 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

a) „Kollisions-Methode“<br />

Eine meiner Ideen zu Simulation solcher verbundenen Massenpunkte, im<br />

folgenden Kollisions-Methode genannt, bedient sich in der Umsetzung<br />

weitgehend der selben Algorithmen wie die Kollision von Kugeln. Einzelne<br />

Stangen werden ähnlich wie Paare von Kugeln untersucht. Lediglich die<br />

Bedingung, deren Erfüllung zur Berechnung der Geschwindigkeitsänderungen<br />

von Massenpunkten führt, ändert sich: Statt nur eines<br />

minimalen Abstandes zweier Punkte d min , berechnet aus der Summe der<br />

Radien der mit ihnen assoziierten Kugeln, gibt es nun zwei solche kritischen<br />

Werte d min<br />

und d max , wobei d min = (Länge der Stange)− ∆s<br />

und<br />

d max = (Länge der Stange)+ ∆s . Erreicht der Abstand der Endpunkte der Stange, die<br />

sich ansonsten wie jeder andere Massenpunkt unbeeinflusst nach dem<br />

Algorithmus von 3.2.1. bewegen würden, einen der Werte d min<br />

und d<br />

max<br />

,<br />

so wird ein „Stoß“ dieser beiden Punkte berechnet. Dieser zwingt sie nach<br />

einer erheblichen Vergrößerung ihres Abstandes wieder zur Konvergenz<br />

und nach einer erheblichen Verkleinerung desselben zur Divergenz. Auf<br />

diese Art und Weise bleibt die Länge einer Stange stets mit einer Toleranz<br />

von ± ∆s<br />

konstant, d.h. das wichtigste Postulat eines Systems aus durch<br />

unendlich steifen Stangen wird (näherungsweise) erfüllt. Aus dem Wert<br />

für die Toleranz wird ersichtlich, dass für höchstmögliche Genauigkeit der<br />

Simulation möglichst kleines ∆ s gewählt werden muss. Dies zieht jedoch<br />

einen höheren Bedarf an Rechenkapazität mit sich, da es bei kleinem ∆s<br />

häufiger zu Stößen kommt.<br />

Nebenbei kann bei der Kollisions-Methode die innere Kraft in Stangen berechnet<br />

werden: Addiert man während ∆ t alle bei den Stößen auftretenden<br />

Impulsübertragungen und dividiert diese Summe durch ∆ t , so erhält<br />

man nach dem Prinzip des Kraftstoßes (eine Näherung 11 für) die innere<br />

Kraft in der Stange.<br />

b) „penalty-method“<br />

Mit dem englischen Begriff „penalty-method“ bezeichnet man üblicherweise<br />

ein mathematisches Verfahren zum Lösen von Differenzialgleichungen.<br />

Eine anschauliche, gebräuchliche Methode zur Simulation<br />

von durch Stangen verbundenen Massenpunkten wird gleich genannt, weil<br />

es mit diesem Verfahren einige Ähnlichkeiten aufweist. Als eine der wenigen<br />

mit der Schulmathematik verständlichen Quellen beschreibt<br />

[Jakobsen] auf seiner Internetseite diese Simulationsmethode.<br />

(Beim Recherchieren auf dieser Seite war stets zu beachten, dass dort die<br />

Physik in Computerspielen beschrieben wird, bei der gewöhnlich<br />

realistisches Aussehen über Genauigkeit geht.)<br />

11 Bei nur wenigen Stößen während ∆ t ist die berechnete Kraft starken Schwankungen<br />

unterworfen, daher ist der Mittelwert über einen längeren Zeitraum hinweg zu bilden.<br />

- 12 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

d<br />

∆s 1<br />

∆s 2<br />

m 1<br />

l<br />

m 2<br />

Abb. 10<br />

Abstand zu groß –<br />

Zugbelastung<br />

Bei der penalty-method bewegen sich die einzelnen Massenpunkte während<br />

eines Zeitschrittes zunächst ohne Berücksichtigung der Stangen nach<br />

dem Algorithmus von 3.2.1, d.h. auf Parabeln oder Geraden. Am Ende<br />

jedes Zeitschrittes jedoch wird für jede Stange deren zugewiesene Länge<br />

l (Soll-Wert) mit dem tatsächlichen Abstand d (Ist-Wert) ihrer Endpunkte<br />

verglichen. Sollte es zwischen diesen Werten einen Unterschied geben, so<br />

werden die Positionen beider Endpunkte so entlang der durch sie<br />

verlaufenden Geraden verschoben, dass sie den gewünschten Abstand d<br />

wieder erhalten (siehe Abb. 11). Dabei muss gelten:<br />

Wegen actio F 1=reactio F 2:<br />

F = F<br />

1<br />

1 1<br />

1<br />

1<br />

2<br />

m a = m a<br />

m ∆s<br />

= m ∆s<br />

2<br />

2<br />

2<br />

2<br />

|Grundgl. d. Mechanik<br />

1<br />

| a∆t<br />

2<br />

2<br />

= ∆s<br />

d.h. a ~ ∆s<br />

mit ∆t<br />

= const.<br />

- 13 -<br />

Abstand zu klein –<br />

Druckbelastung<br />

F = m ⋅ a<br />

An Knotenpunkten, d.h. Massenpunkten mit mehr als einer angrenzenden<br />

Stange geschieht es meist, dass die für eine Stange ausgeführte Positionskorrektur<br />

die zuvor abgeschlossene Positionskorrektur für eine andere<br />

Stange zunichte macht. Der daraus entstehende Fehler kann durch<br />

Wiederholung (Iteration) des Algorithmus zur Längenanpassung der Stangen<br />

verkleinert werden. Nach jedem Iterationsschritt verkleinert sich dabei<br />

der Gesamtfehler, d.h. die Summe aller Beträge | d − l | . Die Iteration<br />

wird beendet, sobald der Gesamtfehler einen vernachlässigbar kleinen<br />

Wert unterschreiten oder ein Fortsetzen der Iteration den Programmfluss<br />

zum Stocken bringen würde. Anschließend muss den veränderten Massenpunkten<br />

auch noch jeweils eine neue Geschwindigkeit v r<br />

neu zugewiesen<br />

werden.<br />

r r<br />

Sie berechnet sich zu r<br />

neu −<br />

alt<br />

vneu<br />

= , wobei r alt die Position des betrachteten<br />

∆t<br />

Massenpunktes zum Ende des vorigen Zeitschrittes und r neu die aktuelle<br />

Position des selben Punktes darstellt.<br />

Dieses Verfahren eignet sich nur bedingt zum Einbau in mein Programm,<br />

da sich nach ihm keine stetigen Ortskurven der einzelnen Massenpunkte<br />

ergeben, die Punkte werden nämlich am Ende eines Zeitschrittes an eine<br />

andere Position „gebeamt“. Diese Tatsache führt zu Fehlern bei der Kollisionserkennung.<br />

Um dies zu vermeiden strukturierte ich den Ablauf der


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

penalty-method um: Statt am Ende eines Zeitschrittes die falsche Position<br />

eines Punktes zu korrigieren, berechne ich zu Beginn jedes Iterationsschrittes<br />

die künftigen Positionen der Endpunkte der betrachteten Stange.<br />

Anstelle der Positionskorrektur werden nun die Geschwindigkeiten der<br />

betreffenden Massenpunkte so verändert, dass sie am Ende des Zeitschrittes<br />

den Abstand d erreichen. Weiterer Vorteil dieser Version der penalty-method<br />

ist die einfachere Berechnung der inneren Kräfte in der<br />

Stange: Die Geschwindigkeitsänderung einer der Endpunkte wird durch ∆t<br />

geteilt und mit der Punktmasse multipliziert. Die errechnete Kraft wird zur<br />

inneren Kraft der Stange addiert.<br />

c) Vergleich beider vorgestellter Methoden<br />

Kollisions-Methode<br />

Vorteil:<br />

Kein Verlust an mechanischer Energie oder<br />

Impuls des Gesamtsystems, da alle Vorgänge<br />

strikt nach den Formeln von 3.2.2,<br />

d.h. auf Grundlage von Impuls- und Energieerhaltungssatz<br />

berechnet werden.<br />

Nachteile:<br />

- Bei großen Geschwindigkeiten müssen<br />

zu viele Stöße berechnet werden –<br />

Überlastung des Rechners<br />

- Komplexere Systeme (mehr als drei<br />

verbundene Stangen) brechen fast immer<br />

aus diversen Gründen (zu viele<br />

Stöße, drastische Auswirkungen winziger<br />

Ungenauigkeiten) zusammen.<br />

Statikexperimente (meist) unmöglich<br />

- Die durch Stangen verbundenen<br />

Massenpunkte bewegen sich auf „Zickzack-Bahnen<br />

(Schwankungen nicht<br />

sichtbar, da kleiner als ein Pixel). Ihre<br />

Geschwindigkeiten sind bei der Betrachtung<br />

kleiner Zeitabschnitte starken<br />

Schwankungen unterworfen. Die Auswertung<br />

der Momentangeschwindigkeit<br />

gestaltet sich dadurch schwierig – die<br />

eingezeichneten Geschwindigkeitsvektoren<br />

„zappeln“ während der Simulation<br />

schnell hin und her.<br />

Lösungsansatz:<br />

Quadratische Regression der Ortskurven<br />

und Ableitung zur gewünschten Zeit für<br />

Momentangeschwindigkeit – immer<br />

noch etwas ungenau<br />

penalty-method<br />

Vorteile:<br />

Zuverlässige, schnelle Berechnung komplexer<br />

Systeme (Statik oder Dynamik)<br />

Genaue Auswertungsmöglichkeiten<br />

Nachteile:<br />

Energie- und Impulsverluste treten auf, dies<br />

zeigt sich besonders am Beispiel der Kreisbewegung<br />

eines Massenpunktes um einen<br />

festen Punkt (Punkte durch eine Stange<br />

verbunden; Schwerelosigkeit)<br />

v r<br />

r<br />

v′<br />

∆s<br />

Abb. 11: Energieverlust<br />

bei der penalty-method<br />

| v r | > | v<br />

r ′ |<br />

Energieverlust<br />

Dies ist teilweise realistisch, da Energieverlust<br />

als Reibung interpretiert werden kann,<br />

physikalisch aber nicht korrekt.<br />

Lösungsansatz (noch nicht verwirklicht):<br />

Zur Berechnung der zukünftigen Position<br />

eines Massenpunktes bei der Iteration der<br />

penalty-method keine Parabelbahn 12 des<br />

Punktes sondern Rotation um den Schwerpunkt<br />

der betrachteten Stange, der sich<br />

tatsächlich auf einer Parabelbahn bewegt<br />

annehmen 13 .<br />

r<br />

12 Form 1<br />

r 2 r r<br />

( t)<br />

= at + vt +<br />

2<br />

0<br />

r<br />

13 Form ( )<br />

1 r 2 r r<br />

t = at + vt +<br />

0 + r(cosωt,sinω<br />

t )<br />

2<br />

- 14 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

Ich entschied mich nach Abwägung dieser Vor- und Nachteile für die<br />

penalty-method als standardmäßige Simulationsmethode. Der Benutzer<br />

kann bei Bedarf auch die Kollisions-Methode manuell einstellen. Denkbar<br />

wäre auch eine automatische Entscheidungsfindung seitens des<br />

Programms anhand verschiedener Kriterien (z.B. Anzahl der verbundenen<br />

Stangen > 3? Dann Kollisions-Methode!)<br />

3.3. Bisherige Anwendungsmöglichkeiten<br />

• Betrachtung von Wurfbahnen<br />

• Überprüfung mechanischer Gesetze unter Idealbedingungen (z.B.<br />

Zentripetalkraft)<br />

• Statik: Auswertung von Kräfteverteilungen, Überprüfung der Stabilität<br />

• Experimente zu deterministischem Chaos (z.B. Dreikörperprobleme)<br />

• Veranschaulichungen der Gasgesetze (Kugeln als Moleküle, Geschwindigkeit<br />

als Temperatur etc.)<br />

4. Ausblicke<br />

4.1. Interaktive Steuerung durch den Anwender auch<br />

nach dem Start der Simulation<br />

Ein Vorteil von Echtzeitsimulationen ist die Möglichkeit, auch während des<br />

Ablaufes als Benutzer in das Geschehen eingreifen zu können. Sie wird<br />

bisher in mobilitas nicht genutzt, ich plane aber in künftigen Versionen<br />

dem Anwender die Möglichkeit zu geben, selbst einfachste<br />

Ereignisbehandlungsroutinen zu entwerfen, dies könnte in der Praxis wie<br />

folgt aussehen: In einem Benutzerdialog bestimmt der Anwender im<br />

Voraus, welche Eigenschaft eines beliebigen Bauteils beim Drücken einer<br />

frei wählbaren Taste geändert werden soll. Diese Einstellung wird<br />

selbstverständlich mit dem Versuchsaufbau gespeichert. Auch ein Eingriff<br />

in das Geschehen der laufenden Simulation über die Maus dürfte leicht zu<br />

realisieren sein. Mit diesen Erweiterungen werden sich einige neue<br />

Möglichkeiten ergeben, denkbar wären z. B. Geschicklichkeitsspiele, die<br />

die Attraktivität von mobilitas auch bei „Nicht-Physikern“ erhöhen würden.<br />

- 15 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

4.2 Astrophysik mit mobilitas<br />

Um den einen weiteren Bereich der newtonschen Mechanik abzudecken,<br />

plane ich in dem Programm einen „Astrophysik-Modus“ einzubauen. Bauteile<br />

wären dann beispielsweise Planet, Sonne, Raumschiff oder Komet.<br />

Anhand der dadurch neu möglich werdenden Versuche könnte z.B. die<br />

Stabilität einer Anordnung von Himmelskörpern überprüft und Bahnen von<br />

Raumschiffen nachvollzogen werden. Der Anwender kann hier Erfahrungen<br />

in einem Bereich der Physik sammeln, der bei üblichen, praktischen Versuchen<br />

verschlossen bleibt.<br />

4.3. Einsatz des SmartBoard<br />

Ein langfristiges Ziel der Programmierung von mobilitas ist der Einsatz einer<br />

elektronischen Schultafel, die nun schon seit längerer Zeit unbenutzt<br />

im Physikvorbereitungsraum unserer Schule steht. Gekoppelt mit einem<br />

Beamer lassen sich an diesem sog. SmartBoard Aufschriebe oder Zeichnungen<br />

direkt an der als Leinwand funktionierenden Tafel erstellen.<br />

Für mobilitas stelle ich mir vor, Objekte statt mithilfe der Maus zu erstellen<br />

direkt am SmartBoard zu zeichnen. Das Programm erkennt dann<br />

automatisch, was der Anwender gezeichnet hat und erstellt aus diesen<br />

Informationen den virtuellen Versuchsaufbau.<br />

Zeichnet der Physiklehrer nun seine Skizzen aus dem Bereich der Mechanik<br />

ans SmartBoard statt an die Schultafel, können die sonst eher langweiligen<br />

Zeichnungen zum Leben erweckt werden.<br />

5. Danksagung<br />

An dieser Stelle möchte ich besonders meinem Mathe- und Physiklehrer<br />

Herrn Walker danken, der mir stets bei fachlichen Fragen zur Seite gestanden<br />

hat (und steht) und mich in der Idee bestärkt hat, diese <strong>Arbeit</strong><br />

bei Jugend forscht einzureichen.<br />

Mein Dank gilt auch meinem langjährigen Mathe-, Physik- und Naturwissenschaft<br />

und Technik(NWT)-Lehrer Herrn Luft. Letztes Jahr gab er mir<br />

im Physikunterricht einen Großteil der Ideen für mein Projekt; ein Exkurs<br />

über Statik im NWT-Unterricht (2006) weckte mein Interesse für dieses<br />

Thema.<br />

- 16 -


Physiksimulationen am PC<br />

Patrick Pietzonka<br />

6. Literaturverzeichnis<br />

[Dorn-Bader 11]<br />

[Schulz]<br />

[Martz]<br />

[Sieber]<br />

[Lambacher-<br />

Schweizer]<br />

Bader, F., Dorn, F.<br />

Physik 11 Ausgabe A Gymnasium Sek. II<br />

besonders S. 83 und 93<br />

(Schroedel, Hannover 2006)<br />

Schulz, H<br />

Physik mit Bleistift Das analytische Handwerkszeug der Naturwissenschaftler<br />

Kap. 1<br />

(Verlag Harry Deutsch, Frankfurt, 6. Auflage2006)<br />

Martz, P.<br />

OpenGL Distilled<br />

(Addison-Wesley, Boston, First printing 2006)<br />

Sieber, H.<br />

Mathematische Formelsammlung<br />

(Klett-Verlag, Stuttgart, 2002)<br />

Lambacher, Schweizer<br />

Kursstufe<br />

S. 54ff, S.56ff<br />

(Ernst Klett Verlag, Stuttgart 2004)<br />

Webadressen<br />

[Sonar]<br />

http://www.mathematik.tu-bs.de/FA-Workgroup/tsonar/VWProjekt/skript23.htm<br />

…/skript24.htm<br />

05.01.2008<br />

Prof. Dr. Thomas Sonar, Lineare/Quadratische Regression<br />

[Witkin] 14<br />

http://www.cs.cmu.edu/~baraff/pbm/pbm.html 05.01.2008<br />

Witkin, Andrew and Baraff, David<br />

An Introduction to Physically Based Modeling<br />

[Jakobsen]<br />

http://www.teknikus.dk/tj/gdc2001.htm 05.01.2008<br />

Thomas Jakobsen<br />

Advanced Character Physics<br />

Zusätzliche Quelle: Hilfedatei des Borland C++ Builders<br />

Bildnachweis:<br />

Alle Bilder und Zeichnungen wurden von mir selbst erstellt, allein Abb. 2 (S.3) stammt<br />

von der Seite http://www.opengl.org/img/opengl_logo.jpg (28.12.2007); Abb. 3 ist ein<br />

Screenshot des Fensters, das beim Start von Maple erscheint.<br />

14 Große Teile dieser Seite sind nur schwer mit der Schulmathematik verständlich<br />

- 17 -

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!