AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Luftwiderstand

Ein Thema von rajuneon · begonnen am 25. Mär 2009 · letzter Beitrag vom 25. Mär 2009
Antwort Antwort
rajuneon
(Gast)

n/a Beiträge
 
#1

Luftwiderstand

  Alt 25. Mär 2009, 19:42
Guten Abend!

Ich habe das Problem, dass meine Berechnungen nicht so funktionieren wie sie sollten, aber nicht weiß, woran das liegen könnte.

lw ist der Luftwiderstand, (interv/1000) ist dt (siehe WIKIPEDIA von dort sind auch meine anderen Formeln)
Delphi-Quellcode:
Timer1Timer...
lw := 0.5 * rho * cw * A * (sqr(vx) + sqr(vy)) / 10000; // vx und vy hier noch die Startwerte aus der PLAY-Button-Procedure
winkelbogen := arctan(vy / vx);
  winkel := RadToDeg(winkelbogen);
ax := (-cos(winkelbogen)) * lw * m;
ay := (-g) - (sin(winkelbogen) * lw / m);
vx := vx + (ax * (interv / 1000));
vy := vy + (ay * (interv / 1000));
v := vx + vy;
x := x + (vx * (interv / 1000));
y := y + (vy * (interv / 1000));
// Berechnung der variablen Werte MIT Luftwiderstand
Die Beträge der errechneten Werte wachsen, aber meist mit negativem Vorzeichen. Normalerweise müsste z.B. der Betrag von vx erst sinken und dann wieder steigen, x genau andersherum...stattdessen werden die werte immer kleiner. Was ist denn daran falsch? Ich verzweifel hier bald!
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:01
Zitat von rajuneon:
Delphi-Quellcode:
Timer1Timer...
lw := 0.5 * rho * cw * A * (sqr(vx) + sqr(vy)) / 10000; // <-- hier ziehst du die Wurzel aus vx und vy gemäß Wiki sollten das aber Quadrate sein!!
winkelbogen := arctan(vy / vx);
  winkel := RadToDeg(winkelbogen);
ax := (-cos(winkelbogen)) * lw * m;
ay := (-g) - (sin(winkelbogen) * lw / m);
vx := vx + (ax * (interv / 1000));
vy := vy + (ay * (interv / 1000));
v := vx + vy;
x := x + (vx * (interv / 1000));
y := y + (vy * (interv / 1000));
// Berechnung der variablen Werte MIT Luftwiderstand
Also hab mir die Formeln in Wiki mal angeschaut und habe einen Fehler gefunden, vieleicht wars das ja dann schon, hab den Fehler kommentiert. Anscheinend hast du nur Wurzel mit Quadrat vertauscht in der ersten Formel.

MfG
BAMatze
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#3

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:11
sqr ist doch quadrat
sqrt sind imho wurzeln
oder irre ich da?
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:15
Ja hast recht, hatte gerade in der Hilfe bei C nachgeschaut. Dann schaue ich mal ob ich was anderes finde.

Schau mal bei ax, da wird in Wiki auch durch m dividiert, du multiplizierst. (diesmal sollte ich die Operationszeichen nicht verwechseln)
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#5

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:25
Hey! Das war sicher richtig^^ Nur leider behebt es nicht den Hauptfehler, dass der Betrag von z.B. der Y-Koordinate immer größer wird und das auch noch bei negativem Vorzeichen! Das kann ja nicht sein, er muss doch wieder kleienr werden, wenn der Scheitelpunkt erreicht ist.
  Mit Zitat antworten Zitat
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:32
ok dann musst du mir mal kurz erklären, was folgendes bedeutet?

Zitat:
(interv / 1000)
Also normaler Weise hätte ich die Beschleunigungen ax und ay von Hand integriert, dann kommt mach auch auf die von dir erwarteten cos- und sin-Asdrücke.
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#7

Re: Luftwiderstand

  Alt 25. Mär 2009, 20:54
(interv/1000) ist mein dt (also das vom User gewählte Intervall/1000ms)
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#8

Re: Luftwiderstand

  Alt 25. Mär 2009, 22:11
es lag daran, dass ich den winkel nicht ins bogenmaß gebracht hatte -.-
vielen dank trotzdem für die mühe!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Luftwiderstand

  Alt 25. Mär 2009, 23:53
Wenn ich mich an meine Mechanikvorlesung richtig erinnere, funktioniert das aber nur bei niedrigen Geschwindigkeiten und laminaren Strömungen. Sobald es Verwirrbelungen gibt, muss man Differentialgleichungen lösen. Und da wünsche ich viel Spass.

http://de.wikipedia.org/wiki/Laminar
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:09 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