Projektbeschreibung
ÜbersetztFormulierung der Aufgabe:
Robin Hood wirft einen Stein mit einem an ihn gebundenen Zettel durch die Öffnung der Festungsmauer in das offene Fenster des Schlosses dahinter:
(Bild angehängt)
Simulieren Sie den Flug des Steins mit der Funktion integrate.ode. Berücksichtigen Sie die folgenden Entwicklungen:
Der Stein fiel zu Boden, ohne das Fenster zu erreichen (entweder vor oder nach der Mauer).
Der Stein fiel nicht in die Öffnung (schlug gegen die Mauer);
Der Stein blieb in der Öffnung stecken (schlug gegen die Öffnungen und fiel hinein);
Der Stein schlug gegen die Wand des Schlosses (fiel nicht durch das Fenster);
Der Stein schlug gegen das Fenster (zur Vereinfachung nehmen wir an, dass die Festungsmauer und das Schloss sehr hoch sind und man einen Stein nicht über sie werfen kann). Wenn eines dieser Ereignisse eintritt, stoppen die Berechnungen.
Schreiben Sie eine Funktion, deren Eingabe folgende Parameter sind:
Parameter: die Masse des Steins, der Abstand von Robin Hood zur Mauer, die Dicke der Mauer (gleich der Länge der Öffnung), der Abstand vom Boden zur Öffnung und die Höhe der Öffnung, der Abstand von der Mauer zum Schloss, der Abstand vom Boden zum Fenster und die Höhe des Fensters,
Anfangsbedingungen: Wurfwinkel und Anfangsgeschwindigkeit des Steins.
Das Programm muss eine „Seitenansicht“ anzeigen (Polygone können mit den Funktionen von matplotlib.patches.Patch gezeichnet werden) und die Flugbahn.
Arbeit, die in Jupyter Notebook erledigt wurde