Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Gravitation Erde-Asteroid (https://www.delphipraxis.net/110845-gravitation-erde-asteroid.html)

olee 26. Mär 2008 15:56

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

inherited 26. Mär 2008 16:13

Re: Gravitation Erde-Asteroid
 
Zitat:

Zitat von vsilverlord
@ Inherited: Wie soll das denn sonst funktionieren ohne cos und sin? :wiejetzt:
Ich habs mit F:=G*m1*m2/r² und den Weg mit V:=v+f/m2 gerechnet. (m1 kürzt sich weg. :warn: )

Wieso ohne? Du brauchst zumindest die Verhältnisse. Sieh dir einfach mal den Quelltext an.

@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.

vsilverlord 26. Mär 2008 16:36

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:

olee 26. Mär 2008 16:42

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.

inherited 26. Mär 2008 17:03

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.
Seite 3 von 3     123   

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