AGB  ·  Datenschutz  ·  Impressum  







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

Simulation eines schrägen Wurfes

Ein Thema von rajuneon · begonnen am 20. Jan 2009 · letzter Beitrag vom 5. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
rajuneon
(Gast)

n/a Beiträge
 
#1

Simulation eines schrägen Wurfes

  Alt 20. Jan 2009, 16:56
Hallo!

Ich hoffe, ich bin hier halbwegs richtig:
Ich will eine Visualisierung eines schrägen Wurfes schreiben, die währenddessen in einer nebenstehenden Tabelle wichtige Werte wie z.B. die aktuelle Geschwindigkeit des geworfenen Gegenstandes ausgibt. Einige der Parameter sollen änderbar sein, z.B. die Masse, der Abwurfwinkel etc.
Dazu folgende Fragen:

- Wie stelle ich es an, dass die Werte in der Tabelle dauern aktualisiert werden, ohne dass ich ein OnClick-Ereignis habe?
- Wie regele ich die Zeit so, dass es halbwegs realistisch aussieht? sleep(); ist ja nicht wirklich genau und je nach Computer unterschiedlich.
- Gibt es die Möglichkeit, den simulierten Wurf durch eine ScrollBar o.ä. vor- und zurück- zuspulen?

Es gibt ein ähnliches Programm als Javaapplett , das allerdings ein wenig umfangreicher als das ist, was ich vorhatte.

Über ein wenig Hilfe würde ich mich sehr freuen!
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Simulation eines schrägen Wurfes

  Alt 20. Jan 2009, 17:00
Naja, nimm dir halt einen Timer und überprüfe bei jedem Ausführen der Behandlungsroutine, wie viel Zeit tatsächlich vergangen ist, setz diese Zeitdifferenz in die Formel ein und schon hast du deine Werte. Die kannst du dann nach Belieben zeichnen, zu Tabellen hinzufügen, was du willst.

Zeitdifferenzen messen geht mit GetTickCount, oder, wenn Millisekunden nicht genau genug sind (was wohl eher nicht der Fall ist) mit QueryPerformanceCounter und QueryPerformanceFrequency und wenns extrem genau gehen muss, gibts dafür noch spezielle Timerklassen, die mit der Genauigkeit glaube ich noch unterhalb des Mikrosekundenbereichs liegen.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Florian Hämmerle
(Gast)

n/a Beiträge
 
#3

Re: Simulation eines schrägen Wurfes

  Alt 20. Jan 2009, 17:20
Crosslink:

Flö
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Simulation eines schrägen Wurfes

  Alt 20. Jan 2009, 17:24
Hall ound Willkommen in der DP...


Der Benutzer Luckie hat auf seiner Seite ein passendes Demo Programm, das ist bestimmt was für dich...
Schraeger Wurf


mfg Caleb
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#5

Re: Simulation eines schrägen Wurfes

  Alt 20. Jan 2009, 23:55
Danke! Ihr habt mir sehr geholfen!

Und sorry für den Zweitpost im Delphi-Treff!
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Simulation eines schrägen Wurfes

  Alt 21. Jan 2009, 00:07
Zitat von rajuneon:
Einige der Parameter sollen änderbar sein, z.B. die Masse
Die Masse spielt doch keine Rolle. Jedenfalls meine ich mich zu erinnern, dass die Massse in der Formel für die Flugbahn nicht vorkommt.

@lbccaleb: Danke, jetzt muss ich es nicht mehr raussuchen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Simulation eines schrägen Wurfes

  Alt 21. Jan 2009, 04:26
Zitat:
Die Masse spielt doch keine Rolle.
Doch schon, wenn man den Energieaufwand mit berechnen will. Aber dann kann man ja gleich den Luftwiederstand mit einbeziehen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
rajuneon
(Gast)

n/a Beiträge
 
#8

Re: Simulation eines schrägen Wurfes

  Alt 21. Jan 2009, 06:57
Also ich bin mir noch nicht ganz sicher, ob ich das als theoretischen Wurf betrachten will, also im Vakuum, oder ob ich daraus gleich eine ballistische Kurve machen soll. Wenn, dann sollte der geworfene Gegenstand eine Kugel sein, die ja (laut Wikipedia) einen cw-Wert von ca. 0.45 hat. Wenn das nicht allzu kompliziert mit einzubeziehen ist.
Wieso sollte die Masse keine Bedeutung haben? Sie wirkt sich doch, wenn ich das richtig sehe, auf die Energien (E pot und E kin)und auf die gegen den Erdmittelpunkt gerichtete Kraft aus, wenn nicht noch mehr.
  Mit Zitat antworten Zitat
Draos

Registriert seit: 12. Aug 2008
42 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Simulation eines schrägen Wurfes

  Alt 21. Jan 2009, 07:42
Wenn du es mit Bewegungsvektoren und Beschleunigungsvektoren machst ist selbst der Luftwiderstand einfach als Beschleunigung entgegen der Flugrichtung zu sehen.

Und nein Masse egal. Klar Energie. Aber die Energie musste vorher auch reingesteckt werden für die Startgeschwindigkeit.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Simulation eines schrägen Wurfes

  Alt 21. Jan 2009, 08:35
Die Masse kürzt sich raus. Bei einem schrägen Wurf ohne Luftwiderstand hat man als Geschwindigkeit in der x-Komponente vx=const und in der y-Komponente ay*t+vy0, wenn man das dann komponentenweise integriert hat man bei der Strecke in der x-Komponente vx*t und in der y-Komponente ay/2*t²+vy0*t.
(Mit ay=9,81m/s²)

Wenn du das ganze mit Luftwiderstand rechnen willst, brauchst du Informationen über die Form des Objektes. Wenn ich mich nicht recht irre, ist das im allgemeinen Fall recht kompliziert, da musst du mit Tensoren rechnen, wenn du aber z.B. eine Kugel hast, geht das einfach mit dem Gesetz von Stokes. (Fr=-6*pi*r*äta*v)

Da kannst du dann einfach als Beschleunigung in x-Richtung Fr einsetzen (mit Startgeschwindigkeit vx0, und wenn die x-Geschwindigkeit<0 wird, setz sie gleich 0) und in y-Richtung a-sgn(vy)*Fr (mit Startgeschwindigkeit)

Das kann man dann schrittweise berechnen, die Schrittweite musst du selber ausprobieren. Wenn dir das mit dem schrittweise ausrechnen nicht gefällt, kannst du bei Fr auch noch die jeweiligen Geschwindigkeitsfunktionen einsetzen, sodass Fr nur noch von der Zeit abhängig ist:
ax=Fr=-6*pi*r*äta*vx=-6*pi*r*äta*(vx0+ax/2*t²)=-6*pi*r*äta*vx0-3*pi*r*äta*t²
ax(3*pi*r*äta*t²+1)=-6*pi*r*äta*vx0
ax=-(6*pi*r*äta*vx0)/(3*pi*r*äta*t²+1)

ay=a +- Fr=a -+ 6*pi*r*äta*vy=a -+ 6*pi*r*äta*(vy0+ay/2*t²)
ay=a -+ 6*pi*r*äta*vy0 -+ 3*pi*r*äta*ay*t²
ay(+- 3*pi*r*äta*t²+1)=-+ 6*pi*r*äta*vy0
ay=-(6*pi*r*äta*vy0)/(3*pi*r*äta*t² +- 1)
(Fall + ist hier falls vy>0, Fall - falls vy<0)
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:27 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