Ball vs Ball neue Richtung berechnen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Jamagin

Betreff: Ball vs Ball neue Richtung berechnen

BeitragDo, Sep 10, 2009 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Ich programmiere ein Billardspiel aber scheitere im Moment an folgender Berechnung:

user posted image

Der Ball wird von oben auf den ruhenden Ball bewegt, die Abprallwinkel sind kein Problem. Das Problem ist in welche Richtung dann der obere Ball abgelenkt werden muß. Es gibt ja nur 2 Varianten. Entweder nach links oder nach rechts.

user posted image

Bei dieser Situation wird der Ball von links nach rechts bewegt und müßte dann nach oben abgelenkt werden. Das Problem ist aber wenn der Ball von oben kommt (Bild 1) dann überschneidet sich die Funktion.
Hat da vielleicht jemand Lösungsansätze. Ich berechne alles mit Vektoren, komm aber nicht dahinter wie das mit den Skalarprodukt funktioniert bzgl. der Richtung. Also die Abprallwinkel kann ich berechnen, es geht mir nur um den gestoßenen Ball und die aus dem erechneten Winkel gehende Richtung.
Vielleicht weiß jemand wie man das am besten löst? Ich wäre sehr sehr dankbar!!
Bevor du etwas neues beginnst, erledige das alte
  • Zuletzt bearbeitet von Jamagin am Do, Sep 10, 2009 23:53, insgesamt einmal bearbeitet

Noobody

BeitragDo, Sep 10, 2009 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
An sich kannst du das komplett ohne Winkel lösen.

Bei Kugeln gleicher Mass gilt bei der Kollision, dass Kugel A die Geschwindigkeit von Kugel B übernimmt und Kugel B die Geschwindigkeit von Kugel A.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Sep 10, 2009 22:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Aber doch nur, wenn Kugel A genau auf Kugel B trifft. Wird sie nur angeschnitten, dann nicht mehr. Bei Billiard (falles es mal werden sollte) kommen noch weitere Faktoren zusammen. Zum Beispiel, dass dann die Kugel A noch ein Drehmoment hat, welcher sich noch nach einem Stoss am Tuch abbaut. Das heisst, die Kugel A beschleunigt nach einem Stoss noch, während Kugel B abbremst, da diese bei vorheriger Ruhe noch kein Drehmoment hatte.

Der User PSY hat erst vor paar Wochen hier ein recht guten Code ins Forum gepostet. Eventuell mal danach suchen?
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Jamagin

BeitragDo, Sep 10, 2009 23:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die schnellen Antworten. Nein das ist ja nicht der Fall 'hectic'
Es geht mir nur darum, wie ich wenn ich den winkel habe die Richtung des Balls ins + oder ins - geht und das müßte ja irgendwie einfacher gehen als mit Strahlengeraden und Intersectionspunkte! Crying or Very sad
Bevor du etwas neues beginnst, erledige das alte

Triton

BeitragFr, Sep 11, 2009 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn die Weiße im Moment des Kontaktes mit der anderen Kugel keine Eigenrotation hat, so trennen sich
beide Kugeln im Winkel von 90°.

Die grünen Striche in deiner Zeichnung sind also richtig - und die hast du doch nicht von irgendwo.
Oder basieren diese Zeichnungen auf deiner Schätzung und du weißt garnicht, wie du auf den grünen Vektor kommst?
Coding: silizium-net.de | Portfolio: Triton.ch.vu

hectic

Sieger des IS Talentwettbewerb 2006

BeitragFr, Sep 11, 2009 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie ich bereits schon schrieb, hat PSY hier (vierter Beitrag) eine sehr gute Lösung zum Problem gepostet. Rolling Eyes

Mein Widerspruch gegen Noobodys Post war nur darauf bezogen, dass seine Aussage nur dann stimmt, wenn Kugel A genau mittig auf Kugel B trifft. Ansonsten trifft seine Vermutung ja nicht zu. Wenn Kugel A die Kugel B nur streift, dann tauschen sich beide Kugeln ja nicht zu 100% mehr die Geschwindigkeiten aus. Daher bin ich über folgende Aussage etwas verwirrt:

Zitat:
Danke für die schnellen Antworten. Nein das ist ja nicht der Fall 'hectic'

worauf bezieht sich diese Aussage?

-

Zu beachten gilt. Bei Billiard kommen dann noch viele andere Variablen hinzu. Das wäre zum Beispiel das Drehmoment einer jeden Kugel. Jeder kennt es: Pfeffert man die Weiße mit voller Wucht gegen eine andere, dann bleibt die Weiße im ersten Moment zwar stehen, beschleunigt aber wieder zu Schlagrichtung etwa 0.2 Sekunden lang, bis sich das Drehmoment der Kugel auf die Beschleunigung dieser abgebaut hat. Vom Apprallverhalten an den Stoßkanten mal ganz abgesehen. Da gilt alles andere als Aufprallwinkel = Abprallwinkel bei Billiard
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Jamagin

BeitragFr, Sep 11, 2009 18:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für deine Antwort. Das Codeteil von PSY ist super, werd mir das mal genau anschauen. Meine Aussage war ja nicht bös gemeint, sondern wegen der Aussage vom ersten Eintrag - keine Winkelberechnung und so. Bei einem zentralen Stoß hab ich kein Problem. Aber wie gesagt, ich werde mir jetzt das Teil von PSY anschauen. Danke hectic!! Very Happy
Bevor du etwas neues beginnst, erledige das alte

Jamagin

BeitragFr, Sep 11, 2009 21:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Dank hectic konnte ich das Problem lösen! Somit kann dieser Thread geschlossen werden. Auch Dank an Triton und den Andern, die sich die Mühe gemacht haben, mir dabei zu helfen! Zu Triton: Die grünen Striche habe ich herauskonstruiert und nicht geschätzt! Very Happy
Bevor du etwas neues beginnst, erledige das alte

ToeB

BeitragFr, Sep 11, 2009 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh jetzt seh ich das Thema hier erst ^_^'

Aber du könntest mal kurz ins Codearchiv gucken, da habe ich einen code hochgeladen, der ganau das berechnet was du haben willst...

mfg ToeB
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art
SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek
Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group