joeydee hat geschrieben:eXile hat geschrieben:joeydee hat geschrieben:Bei mir sieht die Formel so aus:
v'= 2 • (-v • n) • n + v
Dies ist zu der original von Krishty genannten Formel äquivalent. Schön, dass wir alle uns zustimmen :lol:.
Dann kannst du sicher auch meinen Denkfehler finden, darfst dann auch gleich nochmal darüber laut lachen wenn dir danach ist: wenn s=-2*(v•n), dann lautet die erste Formel v'=v+(s*v), die zweite dagegen v'=v+(s*n).
Oh herrje ... mea culpa :oops:. Das hatte ich überlesen.
joeydee hat geschrieben:Nicht schön dass du meinen Post durch die Smilies indirekt quasi als nutzlos darstellst.
Smilies stellen eine postverfreundlichende Maßnahme dar und sind dahin inhärent ungeeignet, um negative Aspekte dem Postersteller oder dessen Rezipienten zuzuschreiben :)
joeydee hat geschrieben:Mir ging es nur darum, den Fragesteller vom Vorteil der Vektor- gegenüber der Winkelrechnung zu überzeugen und zu zeigen wie stark man das vereinfachen kann, deshalb auch das Zitat worauf ich mich bezog.
Das ist auch absolut sinnvoll! ;)
joeydee hat geschrieben:P.S.: zudem fällt mir gerade auf: du schlägst als Lösung des Timing-Problems vor, zwei Kollisionen anzunehmen. Genau das tue ich eigentlich, wenn auch achsenselektiert. Konnte jetzt auf die Schnelle noch keinen Fall nachvollziehen wo das schiefgeht. Du sagst du kannst einen Fall konstruieren - kannst du mir mal deine Werte für Rechteck, Position, Radius und Geschwindigkeitsvektor geben?
Ich habe das natürlich nicht selber implementiert, sondern alles im Kopf durchdacht. Aber betrachte es einfach mal so: Der erste Frame dauere 10 Sekunden, und somit fliegt der Ball meilenweit aus dem Recheck, z.B. genau ganz weit rechts von diesem. Alle darauffolgenden Frames dauern nun nur eine Millisekunde. Der Ball wird immer an der Stelle ganz weit rechts "rumwackeln", weil in jedem Frame das Vorzeichen in x-Richtung negiert wird, aber er wird niemals den Weg zurück ins Rechteck finden.
Das liegt daran, dass dieses Verfahren auch eigentlich keine Kollisionserkennung mit dem Rand des Rechtecks im engeren Sinne ist. Es ist eine Kollisionserkennung mit dem Raum außerhalb des Rechtecks.
Ich habe den noch schwerwiegenderen Fall einer misslungenen Eckkollision auch einmal zu Papier gebracht.