JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=f4ed48bc211ba937048fcb46aa575fa0Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Kollisionsabfrage auf Dreiecksbasis: Strahl mit Mesh
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 31.12.2007, 11:57    Titel: Antworten mit Zitat

Zitat:
Hast du in erst Absolut gemacht, dann transformiert und dann wieder nach realtiv umgerechnet?

Der Richtungsvektor ist bei mir ja zunächst relativ bzw. nicht irgendwie verschoben.
Dann wollte ich ihn ja mit der inversen Matrix multiplizieren und dieses modifizierten Vektor dann an diese D3DXIntersectTri - Funktion übergeben.
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3431
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 01.01.2008, 03:27    Titel: Antworten mit Zitat

Die Antwort steht in meinem ersten Post....

Aber wenn man nicht viel Erfahrung mit 3D Mathe hat, kann mans sich vielleicht nicht im Kopf vorstellen, also mal ein Beispiel:

Mal angenommen, du hast diesen Vektor:
Position (3, 3);
Richtung (1, 0);
So jetzt bewegt sich das Modell um 5 Punkte auf der X Richtung, also transformierst du deinen Vektor:
Position (8, 3);
Richtung (6, 0);
Hm, Scheiße. Die Richtung des Vektors hat sich geändert. Er zeigt jetzt schräg und nicht geradeaus, obwohl das Modell nur verschoben und nciht gedreht wurde.
Ok, jetzt das selbe aber mit einem Absoluten Richtungsvektor (Der Strahl wird nicht durch Position Richtung bestimmt, sondern durch 2 Punkte):

Position (3, 3);
Richtung (4, 3); //Position + alte Richtung

Nun transformieren wir:

Position (8, 3);
Richtung (9, 3);

Nun wird der Richtungsvektor wieder ein relativer:

Position (8, 3);
Richtung (1, 0); //Position - alte Richtung

Und schon ist der Richtungsvektor korrekt. Hätten wir jetzt auch noch Rotiert, Skaliert und sonstwas gemacht, das Verfahren würde trotzdem funktionieren.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
LeeDiGer
Super JLI'ler



Anmeldedatum: 31.08.2003
Beiträge: 366
Wohnort: Duisburg
Medaillen: Keine

BeitragVerfasst am: 01.01.2008, 10:11    Titel: Antworten mit Zitat

Ok, ich habs jetzt hinbekommen. ich hätte vorhin doch direkt pennen gehen sollen Wink
Also in meinem Projekt war es tatsächlich so, dass die Summe aus Richtungsvektor der Kamera und Positionsvektor des Meshes mit der Inversen Worldmatrix multipliziert werden muss.
Nur das Abziehen des Positionsvektors hinterher war dann überflüssig.
Aber danke für die Tips. Son besseres Bild von dem ganzen konnte ich mir jetzt auch mittlerweile machen.
_________________
Kein Rückzug! Kein Aufgeben!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
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.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum