Entwickler-Ecke

Multimedia / Grafik - Physikprogramm - Kugel am Berg


ace1905 - Sa 10.05.08 09:17
Titel: Physikprogramm - Kugel am Berg
Hallo,
ich möchte ein Programm erstellen, in dem eine Kugel physikalisch korrekt einen Berg runterrollt.
Ich habe jetzt zuerst einmal Funktionen erstellt die mit Hilfe der Hangabtriebskraft die Beschleunigung der Kugel berechnen. Dann wird mit der Beschleunigung die ansteigende Geschwindigkeit berechnet...jedenfalls theoretisch.
Mein Problem ist jetzt, wo soll ich diese Geschwindigkeit unterbringen. Ich hatte mir überlegt den Anstieg des Berges durch tan(winkel) zu berechnen und dann das Intervall des Timers je nach Geschwindigkeit zu verkleinern...
Ist mein Denkansatz in der richtigen Richtung oder bin ich da auf dem Holzweg...? Wenn ja dann bitte ich um eure Hilfe und Anregungen wie es besser klappen könnte...

MfG ace


Xion - Sa 10.05.08 10:02

ich hab da mal was gemacht, schau dir das mal an. Aber irgendwie stimmt das mit dem Winkel vom berg nicht so ganz


delfiphan - Sa 10.05.08 11:21

Physikalisch Korrektheit:

1. Die Hangabtriebkraft resultiert in einer Translation *und* Rotation, da die Kugel ja rollt und nicht rutscht. Die potentielle Energie wird auftegeilt in translatorische und rotierende kinetische Energie. Physik Standardaufgabe - solltest du reichlich Infos im Internet finden, wie man die Rotation berücksichtigt.

2. In berg.zip wird numerisch integriert, was zu einem gewissen Berechnungsfehler führt (abhängig linear von a und t).

Wenn du die Beschleunigung hast, berechnest du dir die Geschwindigkeit (Integration bzw. wenn die Beschleunigung konstant ist gilt v=a*t). Aus der Geschwindigkeit berechnest du dir die Position (Integration, d.h. wenn die Beschleunigung konstant is p=0.5*a*t^2). Das ganze in Bildschirmkoordinaten umrechnen (cos/sin, plus Anfangsposition). Dann musst du für t nur noch die Zeit einsetzen und die Kugel an der berechneten Position zeichnen. Mit der analytischen Lösung hast du keine numerischen Fehler.


ace1905 - Sa 10.05.08 14:13

Hi,
ich verstehe noch nicht so ganz was du damit meinst :

soll ich zu der Position p = 0.5*a*t/2 noch für x den cosinus und für y den sinus hinzumultiplizieren und dann noch die anfangsposition? weil dann wird die Kugel bei mir sehr langsam und der winkel in dem sie rollt stimmt ebenfalls nicht für die winkel außer 45 grad.

und dann hab ich noch eine frage:
ist die beschleunigung unabhängig von der Masse des Körpers? Denn wenn ich eine Masse von 20 und eine von 2 in die Formel eingebe dann bekomme ich immer die gleiche beschleunigung : 6,923...


Martok - Sa 10.05.08 15:08

user profile iconace1905 hat folgendes geschrieben:
und dann hab ich noch eine frage:
ist die beschleunigung unabhängig von der Masse des Körpers? Denn wenn ich eine Masse von 20 und eine von 2 in die Formel eingebe dann bekomme ich immer die gleiche beschleunigung : 6,923...

Das hat sich Galilei auch schon mal gefragt ;)

Die Fallbeschleunigung ist unabhängig von deren Masse, und diese ist es ja, die hier umgesetzt wird.

Wie gesagt, die Rotation musst du mit betrachten. Haben wir recht eingehend behandelt, kann ich ggf mal aus dem Hefter raussuchen. So weit weg hab ich den noch nicht gepackt ;)


ace1905 - Sa 10.05.08 17:17

ja das wär echt cool...
also ich hab mich nur gewundert...
hab ein paar verschiedene massen genommen un immer kamen sie mit der gleichen geschwindigkeit unten an... dann hab ichs nachgerechnet un kam immer aufs gleiche...
aber solange man ja keinen luftwiderstand einfügt würde ja auch ein elefant so schnell fallen wie eine feder^^
nun nochmal zu der topic. mir ist eben beim abmessen mit dem geodreieck aufgefallen, dass die 45 grad zwar noch stimmen, danach aber immer die falschen werte rauskommen
ich weiß echt net mehr was ich machen soll :?: :?


delfiphan - Sa 10.05.08 18:52

Jein. Die Beschleunigung ist abhängig von der Massenverteilung, weil dann die Verteilung von pot. Energie zu kin. translatorisch und rotierende Energie dann je nach dem anders aufgeteilt wird: Eine Hohlkugel rollt anders als eine Vollkugel oder Zylinder.

Siehe verschiedene Lösungswege mit selbem Resultat im Anhang.