Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Sa Jul 05, 2025 11:18

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Kolisionstest
BeitragVerfasst: Di Nov 30, 2010 21:22 
Offline
DGL Member

Registriert: So Aug 01, 2010 17:29
Beiträge: 28
Hallo,
nach dem Spruch "Neue Frage neuer Thread" mach ich die Frage hier:
Wie realisiere ich einen Kollisionstest in OGL?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Kolisionstest
BeitragVerfasst: Di Nov 30, 2010 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ich würde sagen der Kollisionstest hat erstmal nichts mit OpenGL zu tun. Also dann wohl gar nicht :P

Es wäre beim umfangreichen Thema "Kollision" sicher sinnvoll wenn du mal etwas genauer beschreibst was du machen willst. Welche Art von Objekte sollten kollidieren? Reicht eine Abfrage "Kollision ja/nein?" oder willst du die Kollision auch behandeln, also das Objekte von einander abprallen, etc.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Kolisionstest
BeitragVerfasst: Di Nov 30, 2010 21:41 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 29, 2003 00:11
Beiträge: 436
OGL ist eine reine Grafikbibliothek und nicht zuständig für Dinge wie Kollisionen. :)
Aber trotzdem findest du hier im Wiki schöne Artikel darüber:
http://wiki.delphigl.com/index.php/Tutorial_Kollision1
http://wiki.delphigl.com/index.php/Tutorial_Kollision2


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Kolisionstest
BeitragVerfasst: Di Nov 30, 2010 21:44 
Offline
DGL Member

Registriert: So Aug 01, 2010 17:29
Beiträge: 28
Wie vorher: ganz viel Würfel, in die nicht "Reingegangen" werden darf.
Das heißt glrotatef und granslatef dürfen nicht in sie hinein sehen.
Man soll einfach davor stehen und nicht weitergehen können.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Kolisionstest
BeitragVerfasst: Di Nov 30, 2010 23:51 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Du kannst rotate und translate prinzipiell nicht verbieten, ein Objekt in einen "verbotenen Raum" zu schieben. Eben weil OGL eine Grafikbibliothek ist und die Kollision zur Logik gehört.
Du musst also ganz einfach vor dem Translate überprüfen, um das Verschobene Objekt, eine Kolliision erzeugen würde.

Du hast eine Kugel, die sich auf eine Wand zubewegt. Damit die Kugel vor der Wand stehen bleibt, muss vor jedem Translate geprüft werden, ob die Kugel auf ihrer neuen Position die Wand schneiden würde. Also ganz vereinfacht ob Kugelposition+Radius durch die Wand hindurchreicht.
Wenn das nein ergibt, dann kann die Kugel weiter auf die Wand zurollen (oder ist schon hinter der wand^^)
Wenn das ja ergibt, dann würde die Kugel mit der Wand kollidieren und du verhinderst die weitere Bewegung


Nach diesem Schema funktionieren alle Kollisionserkennungen. Im Allgemeinen werden Objekte dann auf ihnen ähliche Geometrische Figuren vereinfacht, damit die Kollisionserkennung leichter zu berechnen ist.

Das jetzt mal ganz allgemein. Zu entsprechenden Berechnungsverfahren solltest du aber unbedingt mal die Tutorials lesen


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 5 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 16 Queries | GZIP : On ]