Delphi-PRAXiS
Seite 1 von 2  1 2      

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)

Nicodius 2. Apr 2006 23:23


Energieerhaltung
 
Liste der Anhänge anzeigen (Anzahl: 1)
hier da ihr mir geholfen habt auch gleichmal der source - bis jetzt hats gebraucht


wenn man wert aktiviert udn dort wo ichs kommentiert hab statt 0 wert hinschreibt - ist eine kleine reibung inbegriffen

scrollbar am anfang raufdrehen und auf start drücken


kleine spielerei halt für physik


grüße Nico

Luckie 3. Apr 2006 00:14

Re: Energieerhaltung
 
Wo wird da der Energieerhaltungssatz demonstriert? Ich habe noch nie gesehen, dass die Kugeln bis in alle Ewigkeit pendeln. :gruebel:

alcaeus 3. Apr 2006 00:21

Re: Energieerhaltung
 
Zitat:

Zitat von Luckie
Ich habe noch nie gesehen, dass die Kugeln bis in alle Ewigkeit pendeln. :gruebel:

In der Schulphysik tun sie das: "Man nehme einen Koerper der Masse m, der durch ein masseloses Seil ueber eine reibungslose Oberflaeche gezogen wird."
Wenn du Luftwiderstand, Reibung an Luftteilchen, die Reibung an der Aufhaengung des Pendels sowie alle Einfluesse von aussen vernachlaessigst (kurz gesagt, in idealer Umgebung), pendeln die Kugeln bis in alle Ewigkeit.

Greetz
alcaeus

furby 3. Apr 2006 05:56

Re: Energieerhaltung
 
naja mit der physikalischen realität hat das ja nicht viel zu tun oda? soweit ich weiß sind die Schwingungen auch nicht linear oda?

Nicodius 3. Apr 2006 06:01

Re: Energieerhaltung
 
nein natürlich nicht es ging mir wie andreas richtig bemerkt hat nur um den zustand im schwerelosen raum


heute füge ich aber eine reibung ein - nur muss ich da erst mal nachlesen mit welcher formel ich das mache - wenn da jemand eine idee hätte wäre ich sehr dankbar.
genauso würde ich gerne die geschwindigkeit v in die animation einbeziehn bezogen auf eine schwerkraft von 9,81 - wie könnte man das realisieren?

danke für etwaige Antworten ;)

grüße Nico :)

Luckie 3. Apr 2006 06:36

Re: Energieerhaltung
 
Zitat:

Zitat von alcaeus
Zitat:

Zitat von Luckie
Ich habe noch nie gesehen, dass die Kugeln bis in alle Ewigkeit pendeln. :gruebel:

In der Schulphysik tun sie das:

Dass sie das in der Schulphysik tut, ist mir bekannt, aber dazu brauche ich keine Demonstration. Interessant wird es doch erst, wenn man zeigt, wie es in Wirklichkeit verläuft. Denn dann kann man mal anfangen zu spielen: Verschiedenen Massen, verschiedene Gravitation, verschiedenen Auslenkung, ...

jfheins 3. Apr 2006 09:16

Re: Energieerhaltung
 
Zur Reibung:

Die reibung hängt quasi von 3 Sachen ab:

- Reibungskoeffizient µ der Oberfläche

- Masse m des Körpers

- Ortsspezifische Gravitationskonstante g

Die Reibung ergibt sich dann durch f = µ * m * g

(Es gilt f = N * µ und N = g * m)

Der Reibungskoeffizient ist immer zwischen 0 und 1 ...
Der Physiklehrer mal wieder ... :roll:

eikeble 3. Apr 2006 09:24

Re: Energieerhaltung
 
Zitat:

Zitat von jfheins
Zur Reibung:
Der Reibung koefizient ist immer zwischen 0 und 1 ...

Das stimmt so leider nicht. Haftreibung von Nickel auf Nickel z.B. hat den Reibungskoeffienten 1,5.

Ich würde eher das Gesetz von Stokes benutzen.
Die Viskosität von Luft ist dabei 17,5 µPas.
Ich hab keine Ahnung welche Formel du momentan zur Berechnung benutzt, aber es dürfte keine Probleme geben die Reibungskraft mit einzubauen, oder?

Der Rest dürfte dann nicht so schwierig sein!

Mfg Eike

inherited 3. Apr 2006 09:50

Re: Energieerhaltung
 
Ist es normal, dass auch bei ganz geringem staetwert die kugeln beider seiten immer bis zum maximum "hochschleudern"?

Nicodius 3. Apr 2006 13:21

Re: Energieerhaltung
 
nein ich bin grade draufgekommen das muss ich natürlich spwieso ändern - es dient eigentlich jediglich zur animation einer kugel die an einem kreis entlang gezogen wird


- ich mach das erst bis abends fertig.


@julius - danke :)

grüße Nico

Flare 3. Apr 2006 15:21

Re: Energieerhaltung
 
Und dann könnte man ja noch ein bisschen auf die richtige Zeit achten, die Formel für die Pendeldauer:
Delphi-Quellcode:
T := 2*PI*sqrt(l/g);
Hoffe das baust du vielleicht noch mit ein, wenn physikalisch, dann richtig! :lol:


Flare

markusj 3. Apr 2006 15:24

Re: Energieerhaltung
 
Oder du ziehst jede Zeiteinheit den Energiebetrag ab, der durch Reibung "verloren" geht. Das muss allerdings vom Betrag der kinetischen Energie geschehen, wenn der Pendel stillsteht (Scheitelpunkte) kann keine Reibungsenergie "abgezogen" werden.

mfG

Markus *derPhysikLKhat*

Nicodius 3. Apr 2006 17:33

Re: Energieerhaltung
 
T := 2*PI*sqrt(l/g);

was bedeuted das l in meinem fall?

Nicodius 3. Apr 2006 17:46

Re: Energieerhaltung
 
noch eine frage

ich lasse ie kugel also fallen

nur wie bitte kann ich jetzt aus der "höhe" eine nwert machen weil ich habe ja nur eine gedachte höhe, und wie aus der dann die geschwindigkeit(mit beschleunigung 9,81 m/s²) berechnen und um wiviel wird die beim nächsten mal dann also geringer(mit reibung 17,5 µPas kann ich leider nichts anfangen)


bitte konstruktive ideen und wenn es nicht allzu komplex ist probieren auch eine gute erklärung dazuzugeben :stupid:


danke schonmal im Voraus -


Nico

Flare 3. Apr 2006 20:10

Re: Energieerhaltung
 
Ich habe die Standardformel aus dem Tafelwerk genommen, da ist l die Länge des "Pendels" was es in deinem Fall ja irgendwie doch schon ist.
Ach und die Reibung (die Reibungszahl meine ich damit) kann ja der User eingeben, macht das Ganze ein bisschen interessanter)


Flare

Nicodius 3. Apr 2006 21:27

Re: Energieerhaltung
 
ok - also wie sollte ich das am besten angehn

die länge des seils bis zur mitte einer kugel wäre 150 und das ergebnis deiner formel sind ja sekunden? - soll ich das einfach so einsetzen oder wie soltle ich das umwandeln?


danke Nico :)

Flare 4. Apr 2006 05:34

Re: Energieerhaltung
 
Also wenn du das jetzt einfach so einsetzt wäre das vielleicht ein bisschen zu schnell, du könntest ja dann noch den konstanten Faktor (ich dachte gerade so an ein drittel) einbringen, sodass erst drei sekunden vergehen müssen damit in deinem Programm ne Sekunde vergeht.
Hast du mit den Formeln bzw. mit dem Einbauen dieser noch Probleme?


Flare

Nicodius 4. Apr 2006 06:01

Re: Energieerhaltung
 
ok - ja so hab ich mir das auch vorgestellt mit einer konstanten :)

mal schaun - ich probiers heute ma herum und meld mich dann wieder


auf jeden fall vielen vielen dank flare für deine zeit :)

grüße Nico

markusj 4. Apr 2006 10:08

Re: Energieerhaltung
 
@Nicodius

Also, du kannst über die Kinetische sowie Potentielle Energie argumentieren.
Eges = Ekin+Epot
Epot = m*g*h
Ekin = 0,5*m*v^2
Einfach gesagt ist E = F*s.
Du kannst nun über die Formel für die Reibung einer Kugel (den Rest vernachlässigt man)
Freib = 6*pi*r*v*dyn.Viskosität von Luft
berechnen und bekommst dann über die Strecke den Energiebetrag, der hier dem System entzogen wird.
Das bedeutet, dass E(t) = Epot+Ekin-Freib*s(t)
s(t) ist abhängig von der zurückgelegten Strecke und damit am einfachsten über deine Bewegungsfunktion mitzuprotokollieren.

mfG

Markus *Mathe und Physik LK*

Nicodius 4. Apr 2006 12:38

Re: Energieerhaltung
 
LK steht für? Lehrkraft? ich hab angst vor wörtern wie vikosität *gg*


könntest du/ könnten sie die güte haben das auf simples laien niveao zu formulieren ;)

das wäre freundlich

also ok E(t) = Epot+Ekin-Freib*s(t) nur was mach ich hier mit E(t)? was gibt es an für mich - inwiefern muss ich es in mein programm implementieren?


danke vielmals

Nico :)

markusj 4. Apr 2006 16:18

Re: Energieerhaltung
 
Also, erstens LK=LeistungsKurs

So, dann zum Thema: Du lässt deinen Pendelmit einer Masse m aus einer Höhe h fallen. Das bedeutet, du gibtst ihm potentielle Energie, die nach Epot berechnet wird (m*g*h).
Diese Energie ist beim durchlaufen des Tiefpunktes voll in Bewegungsenergie, kinetischer Energie umgewandelt:
Ekin = 0,5*m*v^2 wobei v die Maximalgeschwindigkeit ist.
Zwischen den oberen Umkehrpunkten und dem Teifpunkt ist die Energie in beiden Systemen (sowohl Lage- als auch Bewegungsenergie) vorhanden.
Es gilt nach dem Energieerhaltungssatz für die Maximalwerte:
Epot = Ekin
m*g*h = 0,5*m*v^2 |m wird gekürzt, dann wird nach v umgestellt
v = sqrt(2*g*h)
Da du es hier mit einer Sinusfunktion zu tun hast, ist deine Momentangeschwindigkeit v*sin(w*t), wobei w (Omega) die Rotationsfrequenz enthält (2*pi*frequenz = omega).
Eigentlich hast du sogar eine Kosinusfunktion, da die Geschwindigkeit der Auslenkung um 90°hinterherhinkt.
So, die gespeicherte Energie E(t) nimmt also von Epot ausgehend ab.
Epot-Freib*s(t) = E(t), wobei s(t) enthält, welche Strecke der Pendel zurückgelegt hat.
Freib ist die unten angegebene Reibungskraft, das sogenannte Stoksche Gesetz.
Das bedeutet, du lässt die Kugel los, nach einem Rechenschritt hat sie eine Strecke mit einer Geschwindigkeit durchquert. Diese Geschwindigkeit fütterst du zusammen mit der Strecke in die Gleichung, dann erhältst du den restlichen Energiebetrag.
Dann gibst du wieder eine Energiepäckchen weiter ... bis Epot = 0. Dann das ganze Spiel umgekehrt.
Du nimmst ein Energiepäckchen der kinetischen Energie, und gibst es der potentiellen Energie zurück ... dein Pendel steigt. Glecihzeitig nimmt die Geschwindigkeit deines Pendels ab, damit auch die Strecke ... trotzdem wird noch gebremst.

Ich hoffem ich habs nicht übertrieben, bei Fragen, schick mir gerne eine Mail, ich hab zur Zeit nicht ganz soviel Zeit.

mfG

Markus

PS: Such mal nach harmonischer Pendelschwingung und guck mal unter leifiphysik, Klasse 11. Dort findest du viele Informationen zu diesem Thema

Flare 4. Apr 2006 16:37

Re: Energieerhaltung
 
Ganz so ausfürhlich wollte ich es zwar nicht haben, aber so ist es wesentlich genauer ^^
Ich müsste diese Formeln ja eigentlich auch erklären können...hab schließlich auch Physik Leistungskurs


Flare

ManuMF 4. Apr 2006 19:21

Re: Energieerhaltung
 
Hmmm, da haben wir letzte Woche eine Klausur drüber geschrieben... :cyclops:


Ich würde aber - wenn schon mit s(t) - die Formel für die gedämpfte Schwingung mit e und dem Abklingkoeffizienten nehmen, also

s(t) = s[max] * sin(wt + A) * e^((ln p% / T) * t)

wobei
s[max] = der maximale Ausschlag,
w = Omega (siehe #21),
A = Alpha (Phasenverschiebung (z.B. Pendel rechts -> 0,5pi)) und
p% = die Prozentzahl von s nach einem T. In der Luft ist das z.B. 0,95. Kann ja auch der Nutzer eingeben

Das dürfte mit Delphi ganz gut zu realisieren sein. Aber dann braucht es einen Button "neu starten", wenn das Pendel stehen geblieben ist ;-)

Vorschlag, um für s(t) t zu bekommen: Beim Starten des Programms wird in eine Variable GetTickCount gespeichert, und dann wird für t der Wert (StartVariable - GetTickCount) / 1000) genommen.

Ach ja, die Formel für T gilt nur für kleine Auslenkungen. Also so weit, wie die Kugeln im Programm momentan ausgelenkt werden, würde es nicht funktionieren.

Hoffe, das war jetzt auch nicht zu... physikalisch? ;-)

Gruß,
ManuMF

Nicodius 4. Apr 2006 20:04

Re: Energieerhaltung
 
danke für eure Mühe ;)


ich geh jetzt das ganze langsam durch - hol mir mein essen an den arbeitstisch und denk über die vorschläge nach :)


danke vielmals -

grüße Nico

Nicodius 4. Apr 2006 20:08

Re: Energieerhaltung
 
Zitat:

Zitat von ManuMF
s[max] = der maximale Ausschlag


in was wird der angegeben? ;) soll ich da den winkel angeben den es maximal hat?
oder eben eine konstante von der seillänge(die bei meinem programm ja nicht verändert wird)

grüße Nico

Flare 4. Apr 2006 20:46

Re: Energieerhaltung
 
s[max] ist die maximale Auslenkung in y-Richtung von dem Ruhepunkt der Kugel weg.


Flare

Nicodius 4. Apr 2006 21:00

Re: Energieerhaltung
 
aah danke vielmals :) - also eine konstante in meinem beispiel - perfekt *g*

Nicodius 4. Apr 2006 21:14

Re: Energieerhaltung
 
so tut mir leid ein problem habe ich noch :(


also ich hab jetzt mal alle formeln implementiert und bei mir ist dann imemr ekin = epot soll das so sein?

und jetzt mein eigentliches problem ich finde die geschwindigkeit sollte man an der animation erkennen


Delphi-Quellcode:
  Formelx := round(Zeichen.Width div 2 -50+ 150*cos( (180-Move.Position)*2*Pi/360));
  Formely := round(150*sin((Move.Position)*2*Pi/360));
  Formelxx := round(Zeichen.Width div 2 +20 + 150*cos( (360+Move.Position)*2*Pi/360));
  Formelyy := round(150*sin((360+Move.Position)*2*Pi/360));

  Label1.Caption := 'Wert: ' + IntToStr(Move.Position);
  e := Zeichen.Width div 2 -50;
  Zeichen.Repaint;
  Zeichen.Canvas.MoveTo(Zeichen.Width div 2 -100, 10);
  Zeichen.Canvas.LineTo(Zeichen.Width div 2 +100, 10);
  h := 150-Formelx;
  v := sqrt(2*g*h);
  EPot := m*g*h;
  Ekin := 0.5*m*power(v,2);
  Writer.Lines.Add('h  : ' + FloatToStr(h));
  Writer.Lines.Add('v  : ' + FloatToStr(v));
  Writer.Lines.Add('EPot: ' + FloatToStr(EPot));
  Writer.Lines.Add('Ekin: ' + FloatToStr(Ekin));
  for i := 1 to 5 do
  begin
  if (links = true) and (e = Zeichen.Width div 2 -50) then
  begin
    Zeichen.Canvas.MoveTo(e,10);
    Zeichen.Canvas.LineTo(Formelx+12,Formely+12);
    Zeichen.Canvas.Brush.Color := clgreen;
    Zeichen.Canvas.Ellipse(Formelx,Formely,Formelx+25,Formely+25);
    inc(e, 25);
  end
  else
  if (i = 5) and (links = false) then
  begin
    Zeichen.Canvas.MoveTo(e,10);
    Zeichen.Canvas.LineTo(Formelxx+12,Formelyy+12);
    Zeichen.Canvas.Brush.Color := clgreen;
    Zeichen.Canvas.Ellipse(Formelxx,Formelyy,Formelxx+25,Formelyy+25);
    inc(e, 25);
  end
  else
  begin

    Zeichen.Canvas.MoveTo(e,10);
    Zeichen.Canvas.LineTo(e,150);
    inc(e, 25);
    Zeichen.Canvas.Brush.Color := clgreen;
    Zeichen.Canvas.Ellipse(e-40,150,e-15,175);
  end;
  end;

wie könnte ich da eine geschwindigkeit simulieren? - wenn ich beim timer interval der geschwindigkeit anpassen würde wäre das ja nicht gut sichtbar

für gute ideen bin ich sehr dankbar :)


grüße Nico

Jelly 4. Apr 2006 22:41

Re: Energieerhaltung
 
Ähm... ohne jetzt genau jeden Rechenansatz durchgeschaut zu haben... Eins wurde komplett vergessen... Diese Pendelproblem mit den Kugeln lässt sich alleine mit der Energieerhaltung gar nicht erklären.

Lass ich eine Kugel aus einer Höhe h auf die anderen prallen, so ist die Ernergieerhaltung weiterhin gegeben, wenn auf der anderen Seite z.B. 2 Kugeln hochjagen, allerdings nur bis zu einer Höhe h'=h/2

Es braucht also unbedingt noch einen anderen Erhaltungssatz, nämlich die Impulserhaltung...

Nur mit beiden Erhaltungsgrössen lässt sich physikalisch das Problem überhaupt verstehen und lösen.

Nicodius 5. Apr 2006 05:56

Re: Energieerhaltung
 
ja ich habs mir einfach gemacht derweil und nur die animation gezeichnet - ich weiss

also sollte ich den impuls von kugel1-2-3-4 bis zur 5er errechnen?


grüße und danke - Nico

Jelly 5. Apr 2006 07:07

Re: Energieerhaltung
 
Sobald die Kugel auf die anderen prallt hast du E=1/2*mv^2 und p=mv... und beim Abfliegen einer (over eventuell mehrerer Kugeln) hast E'=1/2*m'*v'^2 und p'=m'*v'

E=E' und p=p' ist weiterhin gegeben... Hast also 2 Gleichungen mit 2 unbekannten: m' und v'

Und Du wirst festellen dass m'=m sein wird, womit Du gezeigt hast, dass auch nur eine einzige Kugel wieder hochfliegt... Damit kannst Du übrigens auch erklären, warum 2 hochfliegen, wenn du 2 Kugeln gleichzeitig auf die anderen prallen lässt... Wie gesagt, der Energieerhaltungssatz reicht nicht aus, um das vorherzusagen.

Flare 5. Apr 2006 12:06

Re: Energieerhaltung
 
Aber ich glaube Nicodius hat sowieso nur geplant das eine Kugel "hochfliegt", deswegen dürfte man das Vernächlässigen können, wie schon gesagt, physikalisch perfekt brauchen wir (braucht er) nicht hinbekommen, ich finde das sinnlos.


Flare

markusj 5. Apr 2006 12:42

Re: Energieerhaltung
 
Ach hier ging es uim eine Pendelkette^^ (Klickklack)
Sorry, ich war bei einem einfachen Pendel^^
Da musst du bestimmen, welche Kugel wieviel Startimpuls erhält ... diesen gibt sie dann an ihre gegenüberliegende Kugel weiter (Gesetzt den Fall, dass alle Pendel gleich lang und gleich schwer sind, sowie immer weniger als die Hälfte der Pendel angestoßen werden.
Und das lässt sich dann auch mit dem EES berechnen, da die Energie ~ Impuls durch die Pendel in der Mitte auf den letzten übertragen wird.

mfG

Markus

Jelly 5. Apr 2006 21:07

Re: Energieerhaltung
 
Zitat:

Zitat von markusj
Da musst du bestimmen, welche Kugel wieviel Startimpuls erhält ... diesen gibt sie dann an ihre gegenüberliegende Kugel weiter

Und genau dies reicht eben alleine nicht aus (siehe mein Beitrag oben)


Zitat:

Zitat von markusj
(Gesetzt den Fall, dass alle Pendel gleich lang..

Auch das ist keine Zwangbedingung.

Zitat:

Zitat von markusj
und gleich schwer sind,

ok, da machts definitiv komplizierter...

Zitat:

Zitat von markusj
sowie immer weniger als die Hälfte der Pendel angestoßen werden.

Jetzt halt dich fest... Lässt Du 4 Kugeln auf eine einzeln prallen, so werden auf der anderen Seite auch wieder 4 hochfliegen :-)...

Nicodius 5. Apr 2006 21:30

Re: Energieerhaltung
 
ja ich simuliere nur eine kufel

mein hauptproblem ist derweil die geschwindigkeitsdarstellung - und das Ekin immer EPot ist während dem flug der kugel :(

keine ahnung wieso :(

Jelly 5. Apr 2006 21:44

Re: Energieerhaltung
 
Zitat:

Zitat von Nicodius
und das Ekin immer EPot ist während dem flug der kugel :(

keine ahnung wieso :(

Dann vergiss das mal schnell wieder, weils fasch ist... Was du meinst ist Ekin+Epot=konstant
nimmt Ekin ab, nimmt also Epot zwangsläufig zu

im Scheitelpunkt hast du keine Geschwindigkeit, also nur Epot... E = mgh
in der Senke hast du keine Höhe mehr, also kein Epot, daher E = Ekin = 1/2mv^2
und da E konstant ist, gilt hier ganz speziell mgh = 1/2mv^2

D.h. aber nicht, dass Epot immer gleich Ekin ist, sondern ist einfach nur eine Fleichung die dir hilft, v zu berechnen

Nicodius 5. Apr 2006 22:00

Re: Energieerhaltung
 
ahh das erklärt wieder ein stückchen mehr ;)


danke :)

Nicodius 5. Apr 2006 22:06

Re: Energieerhaltung
 
Delphi-Quellcode:
 
//linke kugel
  Formelx := round(Zeichen.Width div 2 -50+ 150*cos( (180-Move.Position)*2*Pi/360));/
  Formely := round(150*sin((Move.Position)*2*Pi/360));
//rechte kugel
  Formelxx := round(Zeichen.Width div 2 +20 + 150*cos( (360+Move.Position)*2*Pi/360));
  Formelyy := round(150*sin((360+Move.Position)*2*Pi/360));

wie könnte ich in diese rechnung jetzt geschwindigkeit v einbeziehen?


danke :) Nico

Nicodius 7. Apr 2006 18:42

Re: Energieerhaltung
 
ich würde hier gerne mal ganz dezent pushen ;)

hab einfach keine ahnung ob, und wenn wo, ich in dieser Formel einen v wert einbauen kann ;)


grüße Nico

markusj 8. Apr 2006 20:33

Re: Energieerhaltung
 
Bitte gib mir noch bis Montag Zeit, ich bin zur Zeit etwas^^beschäftigt ... Ferienjob+Facharbeit

mfG

Markus

PS: Du wirst über die Spitzenwerte rechnen müssen ... genaueres folgt (hoffentlich)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.
Seite 1 von 2  1 2      

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