Ball Ball Kollision physikalisch korrekt

dome385

Mitglied
Hallo Leute,
bin derzeit in meinem Studium und als Abgabe sollen wir eine physikalisch korrekte Ballsimulation programmieren.
Bin jetzt schon ziemlich weit hab aber noch ein Problem mit der Ball Ball Kollision.
Bisher sieht es so aus:
Java:
public void kollisionsVelocity(Ball ball, Ball nebenball){

        ball.setCenterX(ball.getxPos());
        nebenball.setCenterX(nebenball.getxPos());
        ball.setCenterY(ball.getyPos());
        nebenball.setCenterY(nebenball.getyPos());

        double normaleX = ball.getCenterX() - nebenball.getCenterX();
        double normaleY = ball.getCenterY() - nebenball.getCenterY();
        double normaleXn = normaleX / abstandKugeln(ball, nebenball);
        double normaleYn = normaleY / abstandKugeln(ball, nebenball);

        double tangenteX = -normaleYn; //Senkrecht zum normalenvektor
        double tangenteY = normaleXn;


        double tGeschwindigkeit1 = ball.getxVel() * tangenteX + ball.getyVel() * tangenteY;
        double tGeschwindigkeit2 = nebenball.getxVel() * tangenteX + nebenball.getyVel() * tangenteY;

        double nGeschwindigkeit1 = ball.getxVel() * normaleXn + ball.getyVel()*normaleYn;
        double nGeschwindigkeit2 = nebenball.getxVel() * normaleXn + nebenball.getyVel()*normaleYn;

        double n1 = 2* ball.getMass()*nGeschwindigkeit1 + nebenball.getMass()*nGeschwindigkeit2 / ball.getMass() + nebenball.getMass() - nGeschwindigkeit1;
        double n2 = 2* ball.getMass()*nGeschwindigkeit1 + nebenball.getMass()*nGeschwindigkeit2 / ball.getMass() + nebenball.getMass() - nGeschwindigkeit2;

        ball.setxVel(tangenteX * tGeschwindigkeit1 + normaleXn * n1);
        ball.setyVel(tangenteY * tGeschwindigkeit1 + normaleYn * n1);
        nebenball.setxVel(tangenteX * tGeschwindigkeit2 + normaleXn * n2);
        nebenball.setyVel(tangenteY * tGeschwindigkeit2 + normaleYn * n2);

Hab heute mit meinem Professor drüber gesprochen und er meinte vom Prinzip her ist das richtig aber damit werden nicht alle Fälle richtig abgedeckt.
Jetzt komm ich nicht weiter, welche Fälle meint er?
Vielleicht kann mir hier jemand weiterhelfen, bin langsam am verzweifeln.
 

Dimax

Top Contributor
Haben die Bälle am Anfang beide Geschwindigkeit oder einer bleibt still(Billiard Simulation)? Wen einer am Anfang bleibt still dann bekommt nur einer der Bälle negative Geschwindigkeit(der andere wird erst bei der Kollision beschleunigt) und nur wenn beide am Anfang <0 Geschwindigkeit
haben, nach der Kollision können beide negative Geschwindigkeit bekommen.
 

dome385

Mitglied
Vielen Dank für deine Mühe, hab jetzt nochmal mit ihm gesprochen und es ist doch richtig so. Er hatte sich davor vertan. 🤦‍♂️
Thema hat sich also erledigt
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Ball->Wand Kollision - Ball bleibt an Decke und Boden hängen Java Basics - Anfänger-Themen 2
Jxhnny.lpz bouncing Ball (Brick-Breaker-Game) Java Basics - Anfänger-Themen 1
Jxhnny.lpz bouncing ball / abprallender Ball Java Basics - Anfänger-Themen 11
K BlueJ Ball an Rand Reflektieren Java Basics - Anfänger-Themen 2
A Breakout-Spiel , Ball mit Platten abprallen lassen Java Basics - Anfänger-Themen 1
A Ball kollidiert nicht mit Rand Java Basics - Anfänger-Themen 5
J Ball (unendlich) Java Basics - Anfänger-Themen 12
A Bouncing Ball bis er ruht Java Basics - Anfänger-Themen 6
T Processing: Quecksilberartiger Ball Java Basics - Anfänger-Themen 2
K Animation: Ball fällt herunter Java Basics - Anfänger-Themen 2
J Das schöne Bouncing Ball Beispiel. Java Basics - Anfänger-Themen 20
P Ball auf Panel hüpfen lassen Java Basics - Anfänger-Themen 4
G Ball-Bewegung Java Basics - Anfänger-Themen 19
F Ball soll auf Mausklick farbe ändern. Java Basics - Anfänger-Themen 10
T Kollision von 2 Objekten Java Basics - Anfänger-Themen 2
C Kollision zweier Rechtecke, Schnittpunkte bestimmen Java Basics - Anfänger-Themen 25
L Grafik Kollision Detektierung Java Basics - Anfänger-Themen 4
J Kollision eines Kreises mit einem 270° Winkel im 2D-Raum Java Basics - Anfänger-Themen 29
S Problem bei Kollision zwischen Array-objekten! Java Basics - Anfänger-Themen 2
B Kollision tritt nie ein ? Java Basics - Anfänger-Themen 15
D Frage zu Kollision Java Basics - Anfänger-Themen 3
T Kleines Game mit Kollision Java Basics - Anfänger-Themen 2
J Tilemap Kollision Java Basics - Anfänger-Themen 25
T Kollision bei Wänden Java Basics - Anfänger-Themen 2
M OOP Kollision entdecken Java Basics - Anfänger-Themen 4
TheKing Tile Map - Kollision Java Basics - Anfänger-Themen 2
V Rennspiel, Kollision Java Basics - Anfänger-Themen 19
I Kollision zweier Rechtecke Java Basics - Anfänger-Themen 9

Ähnliche Java Themen

Neue Themen


Oben