Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Schwerkraft wirkt auf Objekt (https://www.delphipraxis.net/75892-schwerkraft-wirkt-auf-objekt.html)

Antigo 26. Aug 2006 17:33


Schwerkraft wirkt auf Objekt
 
Hi,
Ich bastel gerade etwas an einer kleinen "Physik Engine".

Ich hab hier einen "Ball" (da es 2 d ist ist es ein kreis) mit dem Radius 10 m und der Masse 10kg. Nun setze ich ihn in die Luft und lasse die Schwerkraft auf ihn einwirken und er fällt runter. Ich weiss allerdings nicht ob die Zeit die er braucht um 100 meter zu fallen realistisch ist, daher möchte ich hier fragen, ob jemand eine Formel kennt, mit der ich das ausrechnen kann. Dabei vernachlässige ich erstmal den Strömungswiderstand und Reibung.

Mir fällt auf Anhieb nur s=1/2 * a * t² ein, aber das wäre für eine gleichförmige Beschleunigung, was es ja nicht ist. Ich habe zwar einen Algorithmus der das alles berechnet, aber ich weiss halt eben nicht, ob das was er tut auch realistisch ist.

Gibt es eine einfache Art zu berechnen wielange eine Kugel mit den o.g. Masen braucht um 100 meter tief zu fallen?

Luckie 26. Aug 2006 17:38

Re: Schwerkraft wirkt auf Objekt
 
Zitat:

Zitat von Antigo
Mir fällt auf Anhieb nur s=1/2 * a * t² ein, aber das wäre für eine gleichförmige Beschleunigung, was es ja nicht ist.

Warum ist es keine gleichförmige Beschleunigung oder ändert sich bei die die Erdanziehung während des Falls? Und wenn ja wie ändert sie sich? Wird sie größer oder kleiner? Ersteres wäre schön, dann wäre der Aufprall nicht so groß, wenn man mal hinfällt, zweiteres wäre nicht so schön. ;)

Antigo 26. Aug 2006 17:47

Re: Schwerkraft wirkt auf Objekt
 
omg du hast natürlich recht :wall:

allerdings kommt in der Formel die Masse des Objektes nicht vor. Und da die Gravitation ja G=9.81*masse ist macht das ja schon was aus. WIe pack ich die da rein?

SirThornberry 26. Aug 2006 17:49

Re: Schwerkraft wirkt auf Objekt
 
die masse spielt dabei auch keine rolle da jedes object gleich schnell fällt (egal ob Feder oder Stein) solange es sich um ein vakuum handelt.

Antigo 26. Aug 2006 18:07

Re: Schwerkraft wirkt auf Objekt
 
OK ich schildere mal die Überlegung die hinter meinem Programm steckt:

Ich möchte eine Kugel möglichst realistisch fliegen lassen. Dabei rechne ich mit Vektoren. Es gibt Schwerkraft, Wind Strömungswiderstand usw.
Erst habe ich nur mit Geschwindigkeitsvektoren gerechnet. Dann aber wollte ich den Strömungswiderstand mit einbeziehen, nur leider ist das eine KRaft, die der Bewegung des Objekts entgegenwirkt.

Also hab ich mich dazu entschlossen, mit Kraftvektoren zu rechnen.

DIe Grundüberlegung ist, dass F=m*a ist. a=v/t oder auch a=deltaV/deltaT.
Daher => F=m*deltaV/deltaT

SO jetzt habe ich einen Timer der aufgerufen wird. Hier gucke ich wieviel Zeit seit dem letzten Afruf vergangen ist. Das ist deltaT (in Sekunden).

Jetzt verrechne ich den Kraftvektor, der auf den Ball wirkt mit dem Schwerkraftvektor (den Strömungswiderstand und den Wind lasse ich erstmal weg). Das heisst Ich rechne Kraftvektor+(deltaT*Schwerkraftvektor). Das ist mein neuer Kraftvektor der auf den Ball einwirkt.
Jetzt errechne ich den geschwindigkeitsvektor mit dem sich der Ball bewegen soll. Dafür stelle ich die Formel F=m*deltaV/deltaT um so dass ich deltaV=F*deltaT/m habe. Jetzt rechne ich deltaV auf die alte Geschwindigkeit des Balles drauf, berechne seine neue Position und zeichne ihn.

Puh also wenn das jetzt jemand verstanden hat dann => :hello:

hier noch mein Quellcode:
Delphi-Quellcode:

 while not abbruch do begin
    deltat:=gettickcount()-time;


  if deltat>10 then begin
  deltat:=deltat/1000;

  ball.Kraftvektor.addieren(schwerkraft,deltat);
  ball.Kraftvektor.addieren(wind,deltat);

 
  deltav:=Ball.Kraftvektor.gibLaenge*deltat/ball.m;

  ball.v:=ball.v+deltav;

  Position:=Tvektor.create(Ball.Kraftvektor.x1,ball.kraftvektor.x2);

  if position.giblaenge>0 then Position.setzeLaenge(ball.v);

  Ball.x:=Ball.x+Position.x1;
  Ball.y:=Ball.y-position.x2;

 


  Ball.zeichnen(image);

  time:=gettickcount();

  end;
  Application.ProcessMessages;
  end;
So kann mir jetzt jemand sagen ob mein ansatz brauchbar ist oder was? :D ;)

Ich hoffe nur das ich nicht zuviel mist fabriziert habe.

markusj 26. Aug 2006 18:36

Re: Schwerkraft wirkt auf Objekt
 
Du musst die Luftreibung berücksichtigen, die abhängig von der Geschwindigkeit ist.
Ich würde mit der Kraft rechnenhier die Formeln:

Fg = m*g
Freib = 0,5*cw*A*roh*v^2

cw = Luftwiederstandskonstante in deinem Fall für die Kugel
A = Querschnittsfläche der Kugel = 2*pi*r^2
roh = Dichte von Luft etc.
v = Strömungsgechwindigeit
m = masse der kugel

mfG

Markus

Roter Kasten: Wenn du nur die Geschwindigkeit durch die Beschleunigung haben willst:
Momentangeschwindigkeit v = a*t (t = zeit seit fallenlassen)
Momentanposition s = 0,5*a*t^2

a = Beschleunigung = g

Antigo 26. Aug 2006 18:43

Re: Schwerkraft wirkt auf Objekt
 
Zitat:

Roter Kasten: Wenn du nur die Geschwindigkeit durch die Beschleunigung haben willst:
Momentangeschwindigkeit v = a*t (t = zeit seit fallenlassen)
Momentanposition s = 0,5*a*t^2
leider will ich ja nachher noch andere Vektoren wie WInd mit einbeziehen, so dass sich a städnig ändert, und auch die Richtung in die a zeigt...


Warum ist es eigentlich so, dass 2 Gegenstände (im Vakuum) gleich schnell fallen, obwohl sie unterschiedliche Massen haben. Aufgrund der höheren Masse, müsste die Gravitation stärker sein, da G=m*g. Demnach müsste eine schwerere Kugel schneller fallen. Oder muss ich hier noch Sache wie trägheit der Masse berücksichtigen(bitte nicht, das ist mir nur grad so in den SInn gekommen)

DGL-luke 26. Aug 2006 18:54

Re: Schwerkraft wirkt auf Objekt
 
18 Jahre alt und kennt das noch nicht?

Die Fallbeschleunigung beträgt auf der Erde 9,81 N/kg. das heisst, an jedem Kilogramm zieht eine Kraft von 9,81 N. Und damit hast du eine gleichmäßige Beschleunigung, unabhängig von der Masse.

Wenn du zwei Tennisbälle nimmst und einen mit Sand füllst, fallen beide trotzdem gleich schnell.

JasonDX 26. Aug 2006 18:57

Re: Schwerkraft wirkt auf Objekt
 
Zitat:

Zitat von Antigo
Warum ist es eigentlich so, dass 2 Gegenstände (im Vakuum) gleich schnell fallen, obwohl sie unterschiedliche Massen haben. Aufgrund der höheren Masse, müsste die Gravitation stärker sein, da G=m*g. Demnach müsste eine schwerere Kugel schneller fallen. Oder muss ich hier noch Sache wie trägheit der Masse berücksichtigen(bitte nicht, das ist mir nur grad so in den SInn gekommen)

Nein, die Traegheit hat wenig damit zu tun, aber erklaeren wirs physisch:

Code:
Fg = G * m1 * m2 / r^2
Das ist die Gravitationskraft. Das ist die Kraft, die zwischen 2 Objekten wirkt. m1 ist fuer uns mal die Masse der Erde, und r der Radius davon. G ist nicht 9.81, sondern die Gravitationskonstante. Naeheres dazu auf Wikipedia ;)
Betrachtet man die beschleunigung, die wirkt:
Code:
F = m * a
a = F / m
  = G * m1 * m / (r^2 * m) //m kuerzt sich weg
  = G * m1 / (r^2)
d.h. die Beschleunigung zweier Objekte im Vakuum ist von der Masse der Erde und von ihrem Abstand zu unsrem Objekt im Vakuum abhaengig, nicht aber von dessen Masse.
Warum faellt es in der Atmosphaere nicht immer gleich schnell? Das geheimnis ist der Luftwiderstand.
Wir setzen an, wo die Kraft wirkt. Nehmen wir an, auf Objekt1 (masse = 10Kg) wirkt die Kraft von 10N, auf Objekt2 (masse = 0.5kg) eine Kraft von 5N. Beide haben die selbe Form, ergo den selben Luftwiderstand, welcher bspw. (zum Zeitpunkt x) 2N betraegt. Somit wird Objekt1 mit 8N / 10Kg = 0.8m/s^2, und Objekt2 mit 3N/5kg = 0.6m/s^2 beschleunigt, und deswegen faellt Objekt1 in der Atmosphaere schneller als Objekt2 ;)

Zitat:

Zitat von DGL-luke
Die Fallbeschleunigung beträgt auf der Erde 9,81 N/kg. das heisst, an jedem Kilogramm zieht eine Kraft von 9,81 N. Und damit hast du eine gleichmäßige Beschleunigung, unabhängig von der Masse.

ohm, du sagst grad an jedem Kilogramm zieht eine kraft von 9.81N, das ist eine Abhängigkeit zur Masse! ;)
18, und weiss das noch nicht? :mrgreen: :zwinker:

Der Junge is schon 18? :shock: Die Zeit vergeht... :stupid:

greetz
Mike

DGL-luke 26. Aug 2006 19:01

Re: Schwerkraft wirkt auf Objekt
 
ich bin 18... ja... natürlich... an zwei kilogramm ziehen 19,62 Newton.... und da F = m * a <=> a = F / m ist das völlig wurscht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:11 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz