Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Kollisionsberechnungen bei Kugeln (https://www.delphipraxis.net/77600-kollisionsberechnungen-bei-kugeln.html)

R2D2 21. Sep 2006 18:17


Kollisionsberechnungen bei Kugeln
 
Hallo!

Ich habe ein Problem und zwar möchte ich ztwei Kugeln kollidiren lassen. Dass mir jetzt niemand kommt, von wegen Hier im Forum suchendp oder Bei Google suchengoogle, ich habe schon gesucht, aber leider nur 2d-Lösungen gefunden. :wall:

Ich aber habe für jede Kugel gegeben:
Delphi-Quellcode:
x, y, z, v_x, v_y, v_z: Extended;
Wie berechne ich jetzt unter der Annahme, dass beide Kugeln die gleiche Masse haben die neuen Vektoren?

Reibung oder Verformung sollte vernachlässigt werden.

Hoffentlich kann mir jemand helfen!

panzerfischer 21. Sep 2006 18:23

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)

hier ist beim elastischen stoß ne gute animation, die das ganze deutlich macht

R2D2 21. Sep 2006 18:44

Re: Kollisionsberechnungen bei Kugeln
 
Zitat:

Zitat von panzerfischer
man schlage sein ph buch von der 10/12 klasse auf

Sry. Bin erst in der 10.

Annsonsten danke, aber so richtig krieg ich das dann doch nicht hin.

panzerfischer 21. Sep 2006 19:08

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

Corpsman 5. Okt 2006 13:25

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 00:19 Uhr.

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