AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Energieerhaltung
Thema durchsuchen
Ansicht
Themen-Optionen

Energieerhaltung

Ein Thema von Nicodius · begonnen am 2. Apr 2006 · letzter Beitrag vom 10. Apr 2006
Antwort Antwort
Seite 3 von 5     123 45      
Nicodius
Registriert seit: 25. Apr 2003
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
Angehängte Dateien
Dateityp: zip energieerhaltungssatz_270.zip (208,5 KB, 126x aufgerufen)
 
markusj
 
#21
  Alt 4. Apr 2006, 16:18
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
Markus
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#22
  Alt 4. Apr 2006, 16:37
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
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

 
Delphi 6 Personal
 
#23
  Alt 4. Apr 2006, 19:21
Hmmm, da haben wir letzte Woche eine Klausur drüber geschrieben...


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
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#24
  Alt 4. Apr 2006, 20:04
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
Nico Müller
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#25
  Alt 4. Apr 2006, 20:08
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
Nico Müller
  Mit Zitat antworten Zitat
Flare

 
Delphi 7 Professional
 
#26
  Alt 4. Apr 2006, 20:46
s[max] ist die maximale Auslenkung in y-Richtung von dem Ruhepunkt der Kugel weg.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#27
  Alt 4. Apr 2006, 21:00
aah danke vielmals - also eine konstante in meinem beispiel - perfekt *g*
Nico Müller
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#28
  Alt 4. Apr 2006, 21:14
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
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

 
Delphi 2007 Professional
 
#29
  Alt 4. Apr 2006, 22:41
Ä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.
Tom Peiffer
  Mit Zitat antworten Zitat
Nicodius

 
Delphi 2006 Architect
 
#30
  Alt 5. Apr 2006, 05:56
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
Nico Müller
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 5     123 45      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:28 Uhr.
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