Pinball Wizard
Kursleiter
Andreas Potschka und Rainer MühlhoffLegen wir eine kleine Metallkugel auf eine glatte schiefe Tischfläche, so können wir recht einfach voraussagen, an welcher Stelle die Kugel vom Tisch fallen wird. Seit Isaac Newton gibt es schöne geschlossene Formeln, die uns die Geschwindigkeit lehren, mit der die Kugel die Tischfläche verlassen wird. Aber was passiert, wenn wir — mehr oder weniger wahllos — elastische Hindernisse auf den Tisch nageln, an denen die Kugel abprallt? Oder dazu gleich noch mehrere gegenseitig zusammenstoßende Kugeln auf einmal die Fläche herunterrollen lassen? Schon ist die Voraussage quasi unmöglich geworden, welche Kugel an welcher Stelle und mit welcher Geschwindigkeit den Tisch verlassen wird. Wir können keine einfache geschlossene Formel mehr finden, die uns diese Daten in Abhängigkeit von der Ausgangssituation präzise beschreibt. Das Problem ist zu komplex geworden.
In diesem Kurs werden wir uns erste Einblicke in das wissenschaftliche Werkzeug verschaffen, das auch komplexe Abläufe in vielen Fällen zufrieden stellend beantworten kann: Die Computer-Simulation.
Das komplexe Problem, das wir uns stellen, wird der Spielhallen-Flipper-Automat sein; genauer gesagt, die Bewegung der Kugeln desselben, beeinflusst durch Hindernisse, andere Kugeln und Eingriffe des Spielers. Die Ergebnisse unserer Simulation werden wir auf dem Computerbildschirm graphisch visualisieren.
Für die Simulation brauchen wir ein mathematisches Modell, das den Zustand (Position der Kugeln) und die Änderung in kleinen Zeitschritten (Geschwindigkeit, Beschleunigung und Stöße der Kugeln) beschreibt und ein Computerprogramm, welches dieses Modell umsetzt. Ausgehend von einem einfachen Modell, das wir im ersten Drittel des Kurses verstehen lernen wollen, werden wir in den anderen zwei Dritteln des Kurses Verbesserungen und Erweiterungen vornehmen und so die Qualität unserer Computer-Simulation stetig erhöhen.
Zu diesem Zweck werden wir einen Spaziergang in die Welt der Mathematik, Physik und Informatik antreten und dabei unter Anderem die Bekanntschaft mit folgenden Themen machen:
Was ist Simulation, wo kann sie eingesetzt werden, wo nicht?
Wie funktioniert elementare Vektorgeometrie in der Ebene?
Newton’sche Mechanik: Warum fällt der Apfel so auf den Boden, wie er fällt?
Was besagen die Sätze von Energie- und Impulserhaltung?
Wie kann ich daraus die Endgeschwindigkeiten von kollidierenden Kugeln berechnen?
Wie programmiere ich einen Rechner in der Sprache C?
Unsere Kenntnisse werden wir in Experimenten, im Herleiten von Formeln, im Erstellen bzw. Modifizieren und Erweitern von C-Programmen und in Kurzvorträgen sowohl von Leiter- als auch von Teilnehmerseite aus vertiefen.
Vorwissen in Programmiersprachen, Mathematik und Physik über den Schulunterricht hinaus wird nicht vorausgesetzt. Allerdings wird von den Teilnehmern die Bereitschaft erwartet, Kurzvorträge über selbst erarbeitete Themen im Rahmen des Kurses zu halten und sich vor Kursbeginn zu Hause mit Übungen zur Programmiersprache C auseinander zusetzen.