Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Kollisionserkennung - Mauer, Hindernis, ...

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ALWIM



Anmeldungsdatum: 08.08.2006
Beiträge: 1048
Wohnort: Niederbayern

BeitragVerfasst am: 10.10.2013, 15:41    Titel: Kollisionserkennung - Mauer, Hindernis, ... Antworten mit Zitat

Ich habe schon mehrfach überlegt, ein Programm zu schreiben, wo eine Kugel sich in einem Raum bewegt und bei Hindernissen, abprallt bzw. die Richtung ändert.

Zum Beispiel: Snooker Billiard, Kegeln, Golf, Fußball, ...

Welche Möglichkeiten gibt es zur Kollisionserkennung?
Wie mache ich es, wenn die Kugel auf eine Schräge trifft? Bzw. welche Richtung hat dann die Kugel bei einer Schräge?
Bei einer Geraden Mauer ist es klar welche Richtung die Kugel dann hat! Aber bei einer schrägen Mauer? Oder einem Kreis? Wie ist es da dann?
Stehe etwas auf dem Schlauch momentan!

Gruß
ALWIM
_________________
SHELL SHUTDOWN -s -t 05
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ThePuppetMaster



Anmeldungsdatum: 18.02.2007
Beiträge: 1839
Wohnort: [JN58JR]

BeitragVerfasst am: 10.10.2013, 20:11    Titel: Antworten mit Zitat

Du kannst mit eigentlich (da es sich prinzipiel nur um 2D handelt) ganz einfach mit dem "satz des pyragoras" arbeiten. Damit kannst du den abstand zu den objekten ermitteln, und bei überschreitung eines definierten wertes aus der "rollrichtung" die neue rollrichtung ermitteln.


MfG
TPM
_________________
[ WebFBC ][ OPS ][ ToOFlo ][ Wiemann.TV ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 10.10.2013, 21:22    Titel: Antworten mit Zitat

Aus meiner Sammlung:

http://www.dreael.ch/Deutsch/Download/Billard-Simulation.html

Hier sind derartige Algorithmen implementiert. Grundprinzip: Beide Kugeln bewegen sich, Du musst mittels geeigneter Gleichung den Zeitpunkt des Zusammentreffens (bzw. kein Zusammentreffen; man bemerkt dies anhand eines negativen Wertes in der Wurzel, dass es dann keinen Zusammenstoss gibt) berechnen. Weil natürlich mehr als 2 Kugeln unterwegs sind: Jede Kugel zu jeder Kugel diese Berechnung durchführen, das zeitlich früheste Ereignis passiert dann auch -> Kugeln werden umgelenkt -> Somit alte Berechnungen verwerfen, dafür mit der neuen Richtung und Geschwindigkeit die Zusammenstoss-Zeitpunkte berechnen und wieder das früheste als nächstes stattfindendes Ereignis verwenden.

All das macht das Beispiel aus meiner Sammlung.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz