Und nochmal Kollision - Ball zu Ball
Hi,
hab leider wieder ein Kollisionsproblem. Ich will, dass 2 Bälle kollidieren und dabei realistisch abgeprallt weiterfliegen. Ich hab nun Code gefunden und versucht für mich umzuformen, Ergebnis:
Delphi-Quellcode:
Code wird ausgeführt, sofern die Bälle kollidieren.
CollisionVec.X := ((Self.FPosition.X + Self.FRadius div 2) / 2) + ((Other.FPosition.X + Other.FRadius div 2) / 2);
CollisionVec.Y := ((Self.FPosition.Y + Self.FRadius div 2) / 2) + ((Other.FPosition.Y + Other.FRadius div 2) / 2); Self.FAngle := ArcTan2(CollisionVec.Y - (Self.FPosition.Y + Self.FRadius div 2), (Self.FPosition.X + Self.FRadius div 2) - CollisionVec.X); Momentan fliegen die Bälle bei Kollision aber einfach nurnoch nach Rechts O_o air |
Re: Und nochmal Kollision - Ball zu Ball
Wie wär's wenn du auch den neuen Kurs des 2. Ball setzt? :gruebel:
|
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
Übrigens: 0° in FAngle bedeutet nach rechts ;) air |
Re: Und nochmal Kollision - Ball zu Ball
Ich hatte auch mal Probleme mit den Winkelfunktionen. Da kamen dann immer die falschen Werte raus. Vllt. liegt es ja daran. Wie sieht denn der Ursprungscode aus?
|
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
air |
Re: Und nochmal Kollision - Ball zu Ball
moin,
- hast du an Gradmaß --> Bogenmaß gedacht? - warum teilst du den Radius immer durch zwei? - wie willst du eine Kollision simulieren, wenn du nirgends die Geschwindigkeit / den Bewegungsvektor der Kugeln verwendest? |
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
Zitat:
|
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
Aber zunächst würd' ich mir darüber Gedanken machen, dass die Bälle beim Aufprall Energien (kinetische Energien) austauschen. Es reicht nicht nur die Ausfallswinkel zu bestimmen. Zitat:
|
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
Wenn ich das noch mit DegToRad umziehe ändert sich garnichts ;) Der Radius durch 2, weil in dem Beispiel, das ich gefunden hatte, der Mittelpunkt dastehen sollte, und Mittelpunkt ist eben (X + Radius/2 | Y + Radius/2). Zum 3.: :gruebel: Die Kollision selbst funktioniert ja, nur eben der Abprallwinkel stimmt nicht. Zu der Sache mit der kinetischen Energie: Nunja, kommt drauf an wie man das berechnet. Momentan hätte ich einfach dazu tendiert, den Multiplikator für die Geschw. des anderen Balls zu setzn. Also Ball A hat 3, Ball B 5, dann hat danach Ball A eben 5 und Ball B 3. Ich hatte in der Schule (leider) noch keine Trigo, kommt erst dieses Jahr am Ende, von daher kann ich mich nur an anderen Codes orientieren ;) Den Thread finde ich übrigens grad leider nimmer :pale: |
Re: Und nochmal Kollision - Ball zu Ball
Zitat:
Zitat:
@Airblader: Vielleicht solltest du langsam doch ganz auf Vektoren umstellen :wink: . http://www.tobias-nopper.de/BillardG...physik-de.html |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:54 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