Aktuelle Zeit: 13.05.2025, 18:36

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Test ob der Weg zum fahren frei ist
BeitragVerfasst: 18.07.2008, 22:12 
Offline

Registriert: 18.07.2008, 21:38
Beiträge: 4
Hallo zusammen!

Ich habe eine Frage zur Kollisionserkennung:

Ich habe mir eine kleine "Stadt" gemacht, in der 8 Autos herumfahren und nach Zufall eine andere Strasse nehmen. Das funktioniert sehr gut, ausser: Wenn es gerade nicht so gut passt, dann überschneiden sich die Autos gegenseitig, also sie stossen zusammen.
Jetzt will ich machen, dass vor jeder Bewegung eines Autos zuerst geprüft wird, ob bis zu einem gewissen Abstand vor dem Auto die Strasse frei ist.
Wie mache ich das am besten? Da ich noch nicht sehr erfahren damit bin wäre es sehr gut wenn ihr auch code-Beispiele hättet!
Danke schon im voraus für die Antworten!


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 09:30 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Entfernung zwischen zwei Autos kannst du mit dem Satz des Pythagoras ermitteln, Richtung, in der ein anderes Auto steht, mit der Funktion atan2().

Alternativ gibts dazu auch vector2df::getDistanceFrom und vector2df::getAngle.

Probiers damit erstmal selber.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 09:46 
Offline

Registriert: 18.07.2008, 21:38
Beiträge: 4
gäbe es in Irrlicht auch eine möglichkeit, irgendeine Position z.B. eines Autos, auf der es sich nicht befindet, zu testen, ob dort Kollisionsgefahr besteht?


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 09:51 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
ISceneNode::getTransformedBoundingBox() (und dann halt die Position der Box entsprechend ändern) zusammen mit aabbox3d::intersectsWithBox(box)

EDIT: Komm mal ins IRC

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 09:59 
Offline

Registriert: 18.07.2008, 21:38
Beiträge: 4
hat dann diese bounding box die form des Autos oder ist die Rechtekig?
vector2df::getAngle.
wie funktioniert das? ich will schauen ob sich das andere Auto in einer bestimmten Winkel zum Auto befindet, also zwischen 2 Winkeln.
Wo finde ich den irc?


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 10:15 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
irc ist #irrlicht3d auf euirc.net

Die BoundingBox ist rechteckig.

Und den Winkel bekommst du, indem du die x- und z-Koordinaten der Positionen subtrahierst und auf den resultierenden Winkel getAngle anwendest, das Ergebnis kannst du dann mit deinen Winkeln vergleichen (Probleme gibt es da nur bei der "Lücke" zwischen 359 und 0 Grad).

EDIT:
http://www.euirc.net/de/chat.php
Da dann "/join #irrlicht3d" eingeben.

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 13:14 
Offline

Registriert: 18.07.2008, 21:38
Beiträge: 4
Danke viel mals für die Antwort! Jetzt fahren sie nur noc in spezialsituationen ineinander!


Nach oben
 Profil  
 
BeitragVerfasst: 19.07.2008, 17:34 
Offline
Moderator
Benutzeravatar

Registriert: 15.04.2007, 20:20
Beiträge: 505
Wohnort: Reelsen
Sry wegen dem IRC, hab grad in den Logs gelesen, dass du ja da warst, das Problem ist, dass ich vom PC weg musste (bin atm nicht zuhause). Wenn du on bist, idle doch einfach mal in dem Channel :)

Zitat:
Jetzt fahren sie nur noc in spezialsituationen ineinander!


Da ist noch Raum für Verbesserungen :)

_________________
Meine Gameengine :)
Bild


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de