Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

neido

Treue Seele

  • »neido« ist der Autor dieses Themas

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

1

27.09.2008, 13:32

Fehler bei Kollision 2er Kugeln in 2D

Ich habe folgenden Ansatz gewählt:

http://www.smims.nrw.de/2003/projekte/6/web/tag2/Tag2.htm

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Vector A1, B1, A2, B2; //Anteile der Geschwindigkeitsvektoren an den Kollisionsachsen

          Vector AN; // Normalvektor auf Axis=Vektor zw Mittelpunkten beider Kugeln

          AN.X = Axis.Y;
          AN.Y = -Axis.X;

                  // Anteile ausrechnen

          A1 = (Object1->Speed * Axis) * Axis;
          A2 = (Object2->Speed * Axis) * Axis;
          
          B1 = (Object1->Speed * AN)  * AN;
          B2 = (Object2->Speed * AN) * AN;

                  // Anteile vertauschen

          Object1->Speed = A2+B1;
          Object2->Speed = A1+B2;


Nun lautet meine Frage: Wo liegt der fehler? And how is the answer to life, the universe and everything?

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

2

27.09.2008, 13:35

Re: Fehler bei Kollision 2er Kugeln in 2D

Zitat von »"neido"«

And how is the answer to life, the universe and everything?
42

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

3

27.09.2008, 13:43

Re: Fehler bei Kollision 2er Kugeln in 2D

Zitat von »"neido"«

Nun lautet meine Frage: Wo liegt der fehler?

Wenn du uns verraten würdest was der Fehler überhaupt ist könnte man dir einfacher weiterhelfen ;)

neido

Treue Seele

  • »neido« ist der Autor dieses Themas

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

4

27.09.2008, 13:48

oups, sorry.
naja, die Kugeln springen in die falsche richtung weg

//eigentlich kommt eine rollbewegung von Object1 um Object2 zustande wenn Object2 eine feste Position hat und sich nicht bewegen kann (die MAus/das smiley bei PhysicBall) was nicht heißt dass Object2 keine Geschwindigkeit haben kann.

xardias

Community-Fossil

Beiträge: 2 731

Wohnort: Santa Clara, CA

Beruf: Software Engineer

  • Private Nachricht senden

5

27.09.2008, 13:55

Wie hast du Axis berechnet?

Und was auch ein Fehler sein könnte:
Vielleicht wird der Stoß richtig berechnet, aber ein Frame nach dem Stoß besteht immer noch eine Kollision (weil die Bälle noch nicht weit genug auseinander gedriftet sind) und du berechnest die Kollision wieder.

neido

Treue Seele

  • »neido« ist der Autor dieses Themas

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

6

27.09.2008, 14:00

Axis = Object1->Center - Object2->Center;

Das müsste stimmen weil meine alternative, selbsterfundene Formel funktioniert aber nicht die Geschwindigkeit der jeweils anderen Kugel einberechnet (sie geht also davon aus, dass die andere kugel befestigt ist und steht)

//wieso sollte sie nochmal kollidieren? sie gehen ja auseinander, oder?
//// nach dem Stoß bewege ich sie so lange auseinander, bis sie sich nicht mehr berühren

neido

Treue Seele

  • »neido« ist der Autor dieses Themas

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

7

29.09.2008, 13:52

Darf ich daran erinnern, dass mein Problem noch nicht gelöst ist :)
ich weiß, dass meine posts gerne in den tiefen des Forums verschwinden wenn ich sie nicht regelmäßig ausgrabe, also werde ich das jetzt konsequent durchführen.

Xardias: Wie ist das jetzt mit der mehrfachkollision?

// Und wieso ist diese frage um so viel schwerer zu beantworten als die nach dem Sinn des Lebens, des Universums und allem? ;)

neido

Treue Seele

  • »neido« ist der Autor dieses Themas

Beiträge: 225

Wohnort: Wien

  • Private Nachricht senden

8

01.10.2008, 11:55

//Edit: Ok, Es liegt wsch doch an einem Bug in der messung der mausgeschwindigkeit, bei dem ich mir sicher bin ihn schon vor monaten beseitigt zu haben -.- Danke erstmal

Werbeanzeige