Autor Beitrag
ace1905
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: Sa 10.05.08 09:17 
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
Einloggen, um Attachments anzusehen!
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: 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
Einloggen, um Attachments anzusehen!
_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
delfiphan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: 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 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 3661
Erhaltene Danke: 604

Win 8.1, Win 10 x64
Pascal: Lazarus Snapshot, Delphi 7,2007; PHP, JS: WebStorm
BeitragVerfasst: 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 ;)

_________________
"The phoenix's price isn't inevitable. It's not part of some deep balance built into the universe. It's just the parts of the game where you haven't figured out yet how to cheat."
ace1905 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 73



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2684
Erhaltene Danke: 32



BeitragVerfasst: 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.
Einloggen, um Attachments anzusehen!