![]() |
Kollisionsberechnungen bei Kugeln
Hallo!
Ich habe ein Problem und zwar möchte ich ztwei Kugeln kollidiren lassen. Dass mir jetzt niemand kommt, von wegen ![]() ![]() Ich aber habe für jede Kugel gegeben:
Delphi-Quellcode:
Wie berechne ich jetzt unter der Annahme, dass beide Kugeln die gleiche Masse haben die neuen Vektoren?
x, y, z, v_x, v_y, v_z: Extended;
Reibung oder Verformung sollte vernachlässigt werden. Hoffentlich kann mir jemand helfen! |
Re: Kollisionsberechnungen bei Kugeln
man schlage sein ph buch von der 10/12 klasse auf und suche im stichwort verzeichniss nach impuls erhaltungssatz,
und dann mit ein bissel vektorrechnung solltest du das hinkriegen (IES: m1*v1+m2*v2=const (vor dem stoß sowie nach dem stoß) desweiteren gilt (Energie erhaltungssatz) m1/2*v1^2+m2/2*v2^2 = const (vor dem stoß sowie nach dem stoß) die geschwindeigkeit als vektoren, dann ergibt sich aus dem winkel ne beziehung, aber wie die genau ist, kann ich dir auch nicht aus dem kopf sagen, hoffe das hilft dir schon mal weiter, aber wenn du lösungen in 2d hast, ist es nicht schwer die für 3d tauglich zu machen, da stöße meistens eben sind (egal wie die ebenen liegen) ![]() |
Re: Kollisionsberechnungen bei Kugeln
Zitat:
Annsonsten danke, aber so richtig krieg ich das dann doch nicht hin. |
Re: Kollisionsberechnungen bei Kugeln
also für die genauebeschreibung für die bewegung musst du die radien der kugeln wissen,
dadurch, das kugeln die gleiche masse haben, wird die sache einfacher, als erstes musst du den abstand berechnen, wenn sich die kugeln berühren (also a < r1+r2) werden die kugeln wie an einer ebene reflektiert( weil ja die massen gleich sind) diese ebene steht senkrecht zu der verbindungslinie zwischen den beiden mittelpunkten, dann gibts noch so ein reflektionsgesetz aus der optik eigendlich, aber es passt auch hier ganz gut V'=V - 2*<V*A>*A wobei V' die richtung der kugel nach dem stoß ist (also vektor v'/|v|) und A die richtung der Normalenebene sprich (P1-P2)/|P1-P2|, achtung, für kugel2 musst du P1 mit P2 vertauschen, damit die richtung stimmt alle großen buchstaben sind vektoren, bestehen also aus x,y,z komponente die 2*<V*A>, das ist eine skalare größe, also ein faktor, berechnet sich wie folgt: 2*<V*A>=2*(vx*ax+vy*ay+vz*az) wenn du fragen hast, stell sie |
Re: Kollisionsberechnungen bei Kugeln
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
Ich habe ungefähr das Gleiche versucht was du da machst. Leider habt ihr keine Fertige Lösung hochgeladen. Daher habe ich es selbst auch mal Probiert zu Rechnen. Mein Version funktionniert auch schon wunderbar, nur eben nicht wenn eine Kugel von Hinten die andere Überhohlt und sozusagen die andere Kugel anschuckt. Zur Steuerung : Enter = An / Aus Debugging Gelb = alter Richtungsvektor Grün = Neuer Aktueller Richtungsvektor Wenn im Debugg modus : Rechte Maustaste, und die Pause wird wieder fortgesetzt. habt ihr ne Idee wie ich das Restliche voll hinbekomme ? Oder wenn das nicht geht einen Functionierenden Code ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz