Hi,
für ein kleines Projekt an dem ich sitze, hab ich eine kleine Frage in Bezug auf eine Berechnung, die ich ausführen muss.
Aber erstmal zum Projekt.
Gegeben ist ein beliebiger, zusammenhängender Graph aus N Punkten (N > 0) mit beliebig vielen Kanten.
Als Darstellung dieses Graphen wird jedem Knoten ein Punkt zugeordnet und jede Kante als Strecke (gerade) zwischen diesen Punkten eingezeichnet.
Soviel vorweg.
Nun fängt das Problem an. Die Startpunkte des Graphen werden zufällig (derzeit in der Fläche, später dann im Raum) verteilt. Da das natürlich ein heilloses Durcheinander ergibt

, sollen die Positionen der Knotenpunkte nach folgenden Regeln angepasst werden:
- Verbundene Knoten ziehen sich an (FG+FE)
- Nicht verbundene Knoten stoßen sich ab (FE).
Physikalisch gebildete Menschen könnten jetzt vermuten, dass FG für Gewichtskraft und FE für elektromagnetische Kraft stehen - tun sie auch.
Nun aber zum Problem:
Die in der Wiki zu findenden Formeln:
Quelltext
1:
| FG = - G * (mA * mB) / r^2 |
und
Quelltext
1:
| FE = 1 / (4*pi*E0) * (qA * qB) / (r^2) [qA=qB] |
gelten AFAIK nur für r=konstant.
Wenn man aber die Massepunkte frei beweglich hat, so kann man die Bewegung der Knoten nicht aus diesen statischen Gleichungen ableiten, sondern muss diese in Abhängigkeit der jeweils anderen noten als Differenzial-Gleichungssystem aufstellen. (Ich hoff, damit lieg ich richtig).
Wer kann mir hir nun nen Ansatz geben, wie man dieses Gleichungssystem 1. aufstellt und 2. eine Beschreibung für das Vorgehen zur Lösung geben? (Eine etwas detailliertere Ausführung wäre hilfreich, da ich das ja auf N Knoten erweitern muss).
Wer ein Beispiel brauch:
A := (edges: (B,D); mass: 5; pos:(X:-2; Y:-2));
B := (edges: (A,C); mass: 7; pos:(X: 0; Y:-1));
C := (edges: (B,D); mass: 3; pos:(X: 2; Y: 0));
D := (edges: (A,C); mass: 9; pos:(X: 0; Y: 2));
Herauskommen soll dann grob, dass die vier Punkte relativ zum Schwerpunkt ein Quadrat bilden (also sich daran annähern).
TIA,
BenBE.
P.S.: Ich leg zwar keinen 100%igen Wert auf die wissenschaftliche Korrektheit, aber zumindest vom Ansatz her sollte diese Simulation korrekt funktionieren.
P.P.S.: Verbundene Knoten haben sowohl FG als auch FE, damit ein Mindestabstand hergestellt wird (und also nicht die gesamte Konstruktion in sich zusammenfällt).
P.P.P.S.: Mein Projekt hat nichts mit der Aufgabe im BWInf zu tun.
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.