Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Energieerhaltung (https://www.delphipraxis.net/66709-energieerhaltung.html)

jfheins 8. Apr 2006 22:31

Re: Energieerhaltung
 
Du könntest einen Energiewert definieren da E_kin_max = E_pot_max (also KE im tiefsten Punkt = pot. Energie im höchsten)

Und da E_kin + E_pot = konstant = dein Wert

Die Geschwindigkeit berechnet sich dann ja aus der Energie automatisch ...

Also:

Variabel: Geschwindigkeit v, Zeit t

Konstant: Masse m, Gesamtenergie E, g (= 9.81), Max. Höhe h, Länge des Pendels l

An Position 0 (tiefster Punkt) gilt E_pot = 0 und E_kin = E

KE an Punkt (x|y) = E - mgy
PE an Punkt (x|y) = mgy

aus KE errechent sich v: v = sqrt((2*KE)/m)

Aus x kann man y berechnen: y = sqrt (l²-x²)

Die Richtung von v ist natürlich rechtwinklich zur Pendelschnur ...

D.h. du berechnest für fortschreitende x das y - am besten mit einbeziehung der Geschwindigkeit v, also: x_next = v * sqrt(l²-x_alt²) (geschätzt)

Also quasi:

Am Anfang x = 0; y = 0 (normales Koordinatensystem)

v = sqrt((2*E)/m)

Dann immer:

y = sqrt (l²-x²)
x und y einzeichnen;
x_next = v * sqrt(l²-x_alt²)


...

imho brauchst du die Impulserhaltung nur, ums zu verstehen, aber nicht ums zu animieren ...

Soo ... nach ner halben Stunde: Alles natürlich ohne Garantie :mrgreen:
(Ich hoffe geholfen zu haben ... :angel2: )

Nicodius 8. Apr 2006 23:55

Re: Energieerhaltung
 
ok danke bin zur zeit oll zu ich probier das umzusetzen :drunken:

markusj 9. Apr 2006 20:40

Re: Energieerhaltung
 
Impulserhaltung ist nur für die Pendelkette relevant.
Ansonsten stimmts so, du musst nur von Estart den Energiebetrag der durch die Reibung entnommen wird, abziehen. Dafür brauchst du eine Zählervariable für die zurückgelegte Strecke, da gilt, Ereib = Freib*s wobei s die Strecke ist, auf der die Reibung gewirkt hat ... die ist wiederum von deine Momentangeschwindigkeit ab, dass heisst, du musst die Strecke über eine Geschwindigkeit*Zeit berechnen und dann die Zählervariable für die Strecke erhöhen.

mfG

Markus

Nicodius 10. Apr 2006 08:51

Re: Energieerhaltung
 
jaja das ist schon klar - danke ;)


aber ich würde gerne an meiner kugel in der animation diese geschwindigkeit anschaubar machen



- danke Nico :)

markusj 10. Apr 2006 10:47

Re: Energieerhaltung
 
Am besten mit einem Pfeil, der in einem 90°-Winkel (von der Schnur aus gesehen), die Geschwindigkeit und die Richtung anzeigt, also ein Geschwindigeitsvektor.
Ach ja, die Momentangeschwindigeit erhältst du, wenn du Estart-Ereib = Ekin [0,5*m*v^2] umformst nach v umformst, das macht dann:

sqrt(((Estart-Ereib)*2)/m) = v

mfG

Markus

PS: die Richtung des Vektors musst du selbst herausfinden, wenn die Kugel von links kommt, zeigt er nach Rechts, und umgekehrt :wink:

mfG

Markus

Nikolas 10. Apr 2006 11:57

Re: Energieerhaltung
 
Zitat:

Ach ja, die Momentangeschwindigeit erhältst du, wenn du Estart-Ereib = Ekin [0,5*m*v^2] umformst nach v umformst, das macht dann:
Welche Geschwindigkeit meinst du? Und zu welchem Zeitpunkt? Diese Gleichung gilt nur für den Moment, in dem eine Kugel losläuft. Sonst musst du noch die Lageenergie mitberechnen, sonst hat deine Kugel auch keinen Grund, wieder zurück zu kommen.

Zitat:

Dafür brauchst du eine Zählervariable für die zurückgelegte Strecke, da gilt, Ereib = Freib*s wobei s die Strecke ist, auf der die Reibung gewirkt hat
Das gilt aber nur für Festkörperreibung. Hier muss man die Gleichung für Reibung in Gasen benutzen und die sieht so aus:

Code:
F_r=-1/2 C \rho A v^2
Wobei C der Widerstandskoeffizient, \rho die Dichte des Gases ist, A die Querschnittsfläche deines Körpers und v die momentane Geschwindigkeit ist. Diese Gleichung aber analytisch zu benutzen wird recht aufwändig, da man eigentlich die Orts-Zeit Funktion braucht, daraus v(t) erhällt, dann den Ort gegen die Reibungskraft aufträgt und dass dann integrieren müsste. Da aber leider schon die x(t)-Funktion von der Reibungskraft abhängt, könnte die Rechnung etwas dauern.

markusj 10. Apr 2006 12:19

Re: Energieerhaltung
 
Uups, eine Fehler von mir, und ein Missverständnis von dir:

Ja, von der Energiegleichung muss immer noch die aktuelle Lageenergie Epot abgezogen werden:
Estart-Ereib-Epot = Ekin [0,5*m*v^2].

Aber Nein, Freib ist allgemein gehalten, welche Reibungsart das ist, und welche Formel verwendet werden muss, habe ich nicht erwähnt!

mfG

Markus

PS: Das ganze wird wohl iterativ berechnet werden müssen ... ich glaube nicht, dass Nico Integrieren kann (ich habs in Klasse 11/2-12/1 gelernt)

Nicodius 10. Apr 2006 12:48

Re: Energieerhaltung
 
danke :D ich lös es jetzt so dass ich einfach move.postition an v anpasse


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 Uhr.
Seite 2 von 2     12   

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