Ball vs Ball neue Richtung berechnen
Übersicht

![]() |
JamaginBetreff: Ball vs Ball neue Richtung berechnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich programmiere ein Billardspiel aber scheitere im Moment an folgender Berechnung: ![]() 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. ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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! ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie ich bereits schon schrieb, hat PSY hier (vierter Beitrag) eine sehr gute Lösung zum Problem gepostet. ![]() 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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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!! ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
Jamagin |
![]() Antworten mit Zitat ![]() |
---|---|---|
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! ![]() |
||
Bevor du etwas neues beginnst, erledige das alte |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
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! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group