Nö, nicht direkt. Du musst dir die ModelView Matrix holen, und dir die verschiedenen Transformationen (Rotation, Translation, Skalierung - alles jeweils um die drei Hauptkoordinatenachsen) selbst herauspfriemeln. Gibt aber bereits genügend Bibliotheken die dies zufriedenstellend erledigen (u.a. Mike Lischkes Geometry.pas).
Registriert: Mo Mai 06, 2002 20:27 Beiträge: 479 Wohnort: Bremen
mag sein das ich die frage nicht verstanden habe... trotzdem ein erklärungsversuch:
wenn du dir die modelview matrix holst, dann sagt dir die erste spalte wie der x-vektor deines koordinatensystems (1,0,0) nach der multiplikation mit der matrix aussieht. selbiges für y und z. Die drei ersten Spalten der Matrix bilden also eine neue Basis. Ein Objekt das in der Orthognal-Normal-Basis (der Standard) an stelle (1,2,3) liegt wird nun immer noch an Stelle (1,2,3) liegen, jedoch im System der neuen Basis gemessen. (sofern die ersten 3 Komponenten der vierte Spalte 0 sind - also kein glTranslate aufgerufen wurde)
Durch Punktprodukt von x und x' kannst du nun z.b den Winkel zwischen den X-Achsen herausfinden. Damit lässt sichherausfinden wie die Szene gedreht wurde. Außerdem gibt |x'| die Skalierung in X-Richtung an und die letze Spalte der modelview Matrix bildet einen Verschiebevektor.
Mitglieder in diesem Forum: 0 Mitglieder und 10 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.