Re: Gravitation Erde-Asteroid
Liste der Anhänge anzeigen (Anzahl: 1)
Hi ich hab auch mal so was entwickelt und das in ein Spiel verpackt.
Ist auch ähnlich (nur das es grafisch besser ist und Spaß macht ^^) EDIT: Ich habe das auch vollkommen ohne sin u.a. realisiert und es funktioniert PRIMA MFG Björn |
Re: Gravitation Erde-Asteroid
Zitat:
@olee: Das geht völlig am Thema vorbei. Das hier ist kein Seht-mich-an-ich-kann-das-auch-Thread, sondern hier geht es um die Berechnung. Und solange du nicht den Quelltext mitlieferst gehört dein Beitrag mit Sicherheit in erstere Kategorie. |
Re: Gravitation Erde-Asteroid
@ inheroted: So wie ich das sehe, sind das keine Verhältnisse bei dieser Situation. Mit Verhältnissen funktioniert es zwar, aber es ist nicht physikalisch korreckt.
Probier doch zb. mal die Hangabtriebskraft ohne Trigonometrie auszurechnen, oder die Kraft bei Flaschenzügen. Das ist nunmal immer ein Dreieck, und bei Dreiecken können die anderen Seiten ja auch nicht durch Verhältnisse ausgerechnet werden, sondern eben durch sinus und cosinus. 8) ich hoffe das stimmt jetzt so, aber eigentlich wollte ich ja wissen wie ich mein Programm verbessern kann. :gruebel: |
Re: Gravitation Erde-Asteroid
Oh stimmt das hatte ich ganz vergessen...
{an die Stirn schlag} Die bei jedem Rendern aufgerufene Move-Methode des sich bewegenden Objkektes:
Delphi-Quellcode:
for i := 0 to high(Planets) do
begin XD := XD + Grav(Planets[i].X-X, Planets[i].X-X, Planets[i].Y-Y, Planets[i].GravF); YD := YD + Grav(Planets[i].Y-Y, Planets[i].X-X, Planets[i].Y-Y, Planets[i].GravF); end; X := X + XD; Y := Y + YD; Die Grav-Methode:
Delphi-Quellcode:
function Grav(CalcDist,DistX,DistY,GravF: Double): Double;
begin Result := (CalcDist) / ((sqr(DistX)+sqr(DistY))/GravF); end; Diese Formel (natürlich ein wenig an Delphi angepasst^^) habe ich auch aus einem Physikbuch entnommen und stimmt. |
Re: Gravitation Erde-Asteroid
@olee: und was ist GravF? Wie überträgst du die Kraft auf die einzelnen Koordinaten (x,y)?
@vsilverload: Das ist mir klar, schau dir meinen Sourcecode an und du wirst sehen dass ich es anders mache. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 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