Ich schreibe gerade ein Programm für einen Partikelsimulator. Eine der Anforderungen ist, dass die Partikel realistisch kollidieren. Ich weiß jedoch nicht, wie ich die Endgeschwindigkeiten berechnen soll.
Bei jeder Kollision habe ich die -Komponente u -Komponente jeder Geschwindigkeit sowie die Verschiebung und Masse jedes Teilchens.
Ist es möglich, die Richtung und Größe ihrer Geschwindigkeiten nach der Kollision zu berechnen? Wenn das so ist, wie?
2-dimensionale Kollision kann im Fall von Kugeln auf ein 1-dimensionales Problem reduziert werden – siehe hier . Der Ihnen beim Lösen der kinetischen Energie begegnet, ist wahrscheinlich, weil es zwei Lösungen gibt und die Gleichungen von beiden erfüllt werden. Eine Lösung besteht einfach darin, dass sich die Partikel direkt durchdringen, was Sie verwerfen können.
Hinweis: Die einfachste Methode zum Berechnen von Kollisionen verwendet eine Methode zum Anwenden von Impulsen auf Objekte, die zu einem bestimmten Zeitpunkt kollidieren. Der einfachste Algorithmus besteht darin, zu testen, ob sich zwei Objekte zu einem bestimmten Zeitpunkt schneiden, und wenn dies der Fall ist, fixieren Sie es so, dass sie sich nicht mehr schneiden, und wenden Sie dann die berechneten Impulse auf jedes Objekt an. Dies ist jedoch nicht ganz richtig. Sie müssen wirklich herausfinden, welche Kollisionen zuerst stattgefunden haben, die gesamte Simulation zum Moment der ersten Kollision zurückversetzen und die neuen Geschwindigkeiten genau dann berechnen . Dies funktioniert korrekt, wenn Sie viele momentane und voneinander abhängige Kollisionen haben.
Im schlimmsten Fall, wenn die Partikel dicht sind und miteinander in Kontakt kommen, ist die einfachste Methode, die ich gefunden habe (die in dieser Simulation verwendet wird und die ich in dieser Simulation zum Umgang mit Kollisionen verwendet habe ), Kräfte anstelle von Impulsen zu verwenden . Wieder reduzieren Sie es auf ein 1-dimensionales Problem und haben die Wechselwirkungskraft zwischen zwei Teilchen:
Wo Und sind Konstanten, ist eine Hookesche Federabstoßungskraft , ist die relative Geschwindigkeit der beiden Teilchen entlang ihrer Kollisionsachse und ist eine viskose Reibungskraft .
Ich glaube, wenn Sie eine genauere Kontaktphysik wünschen (mit genauen Gleitpunktkontakten anstelle einer Federkraft), müssen Sie eine viel ausgefeiltere Methode anwenden.
Kyle Kanos
Cisplatin
Kyle Kanos
Cisplatin
Kyle Kanos
fibonatisch
John Alexiou