AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kollisionsberechnungen bei Kugeln

Ein Thema von R2D2 · begonnen am 21. Sep 2006 · letzter Beitrag vom 5. Okt 2006
Antwort Antwort
Benutzerbild von R2D2
R2D2

Registriert seit: 20. Jan 2006
Ort: München
253 Beiträge
 
Delphi 2005 Personal
 
#1

Kollisionsberechnungen bei Kugeln

  Alt 21. Sep 2006, 19:17
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.

Ich aber habe für jede Kugel gegeben:
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!
if then then then = else else else = then;

Meine Webseite
  Mit Zitat antworten Zitat
panzerfischer

Registriert seit: 18. Sep 2006
Ort: Ilmenau
33 Beiträge
 
#2

Re: Kollisionsberechnungen bei Kugeln

  Alt 21. Sep 2006, 19:23
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
  Mit Zitat antworten Zitat
Benutzerbild von R2D2
R2D2

Registriert seit: 20. Jan 2006
Ort: München
253 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Kollisionsberechnungen bei Kugeln

  Alt 21. Sep 2006, 19:44
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.
if then then then = else else else = then;

Meine Webseite
  Mit Zitat antworten Zitat
panzerfischer

Registriert seit: 18. Sep 2006
Ort: Ilmenau
33 Beiträge
 
#4

Re: Kollisionsberechnungen bei Kugeln

  Alt 21. Sep 2006, 20:08
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
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#5

Re: Kollisionsberechnungen bei Kugeln

  Alt 5. Okt 2006, 14:25
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 ?
Angehängte Dateien
Dateityp: zip pingpong_957.zip (4,4 KB, 9x aufgerufen)
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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