Tja Überschrift ist vllt etwas verwirrden, aber folgende Grafik sollte Abhilfe schaffen:
Gegeben sind:
OG, OP, D und G.
Mein Particle bewegt sich von P aus in Richtung Vektor D. Dabei wirkt aber auch eine konstante Kraft, die sich aus Masse und einer Beschleunigung berechnet. Jeder einzelne GravityPoint wird durch einen Vektor (den Ortsvektor des Punktes) und die Stärke der Anziehung dargestellt. Nun ist die Berechnung ja an sich nicht soo schwer. Allerdings möchte ich ja innerhalb einer Forschleife alle GravityPoints zusammenfassen.
Dabei muss immer die Kraft und der Abstand zwischen Particle und gravityPoint mit eingerechnet werden. An den Formeln dafür hapert es nicht, das sind ja eher basics.
Am ende will ich halt jedes Particle mit allen GravityPoints verbinden. Je weiter weg, desto schwächer ist die Kraft, die Wirkt. Ka wie ich das genau machen soll ^^
bin grad irgendwie in den Formeln verloren, am besten mach ich mir nen tee ^^
Versuch bitte entweder Deutsch oder Englisch zu schreiben zu vermischt das etwas derbst Und worin besteht jetzt genau dein Problem? Also wo kommst du nicht weiter?
Grundsätzlich gilt Superposition der Kräfte, jeder Gravitationspunkt übt eine Kraft auf den Partikel aus welche natürlich von der Entfernung des Partikels von dem Graviationspunkt abhängig ist. (F -> f(r))
Du rechnest einfach die Kräfte aller einzelnen Graviationspunkte aus und die Gesammtkraft welche auf deinen Partikel wirkt ist gleich der Summe der einzelnen Kräfte.
Die Kraft eines jeden Gravitationspunktes sollte klar sein: (alles was unterstrichen ist sollen mal vektoren sein - geht im Forum etwas blöd )
F = - G * m * M * (1/r²) * (r / r)
r... ist dabei der Betrag des Abstandes des Partikels zum einzelnen Graviationspunkt.
r... ist der Vektor vom Graviationspunkt zum Partikel
m... ist die Masse des Partikels
M... die Masse des Objects von welchem die Graviations ausgeht
G... ist die Graviationskonstante
Ich denke am besten ließe sich G * M in irgendeine dem System angepaßte Konstante zusammenfassen (würde da eher nicht mit den realen Werten rechnen da du ja auch noch die Stärke der anziehung beeinflussen willst). Klein 'm' kürzt sich am Ende eh raus.
Worauf es ankommt ist (1/r²) * (r / r) wobei (r / r) der Einheitsvektor in r richtung ist.
Du rechnest also genau diese Kraft für jeden Graviationspunkt mit jeweils angepaßtem Vektor r (Graviationspunkt -> Partikel) aus.
Wenn du die dann addierst und mit F = m * a gleichsetzt (hier kürzt sich klein m raus) hast du mit a die resultierende beschleunigung auf deinen Partikel
Jo ich seh mir das gleich an. Ich schreibe nicht alles in englisch, weil das hier nunmal der deutsche teil des forums ist. ich nutze nur begriffe wie acceleration usw weil die bei mir eben so heissen und ich davon ausgehe, dass jeder hier weiss, dass acceleration Beschleunigung ist.
ich setz mich da nachher nochma mit nem stift ran und seh mir mal deine formel an, bekomme das schon irgendwie hin
Ich hab mir das gestern nochmal etwas genauer durch den Kopf gehen lassen,
bin mir da noch nicht so ganz sicher wie man es am besten realisieren kann.
Das Problem ist zwar nicht die wirkende Kraft und damit die beschleunigung auszurechnen - nein das Problem ist Wirkung dieser beschleunigung auf die Bahn des Partikels zu berechnen.
Man kann praktisch zwei Dinge machen,
a) die komplette Bahnkurve berechnen und dann einfach x(t),y(t),z(t) passend einsetzen. Das klingt zwar ganz toll, aber die Berechnung der Bahnkurve ist schon für einen Gravitationspunkt ziemlich kompliziert. Für mehrere wirds dann richtig krank bzw. nicht mehr machbar.
b) das ganze Annähern und jeweils nur für die Zeitspanne zwischen 2 Berechnungen die Einfluß ausrechnen. Also direkt mit dt rechnen und die Gleichungen nicht integrieren bzw. lösen.
Nachteil davon ist das zum einen die Genauigkeit sehr stark von der größe von dt abhängt (also der Zeit zwischen zwei aufrufen der Berechnung). Läuft deine Anwendung mit hohen fps wird es sehr genau, geht die fps rate stark nach unten wird das ganze relativ ungenau.
Zweiter Nachteil ist das du ein Problem bekommst wenn die Partikel dem Zentrum das Graviationspunktes zu nah kommen, dann gibts schwupsi mal ne nahezu unendlich große beschleunigung und weg is dein Partikel. Also müßtest du entweder beschleunigung nahe des Gravitationszentrums limitieren oder den Radius limitieren wie nah die Partikel an den Gravitationspunkt ran können.
Ich überlege gerade noch ob man es noch anders machen könnte,
aber so richtig fällt mir gerade nix ein.
Also ich habe mir ein Physikbuch meiner Mutter besorgt und fand die "Mechanik eines Systems von Masspunkten"
Darunter gibt es die Zusammensetzung von Kräften per Vektorpolygone
D.h:
Auf ein Particle P wirken 5 Kräfte (F1, F2, usw.)
Dann ist die Resultierende Kraft F:=0P+F1+F2+...
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.