[Qt]"eyePos" aus ViewMatrix ermitteln
Verfasst: 12.08.2020, 18:02
Hallo,
ich habe eine eher mathematische Frage, weil mich die mathematische Lösung dieses Problem interessiert. In der Implementation gehe ich einen anderen weg: ich speicher mir immer den eyeVector ab, und lasse ihn mir bei Bedarf zurück geben.
Es gibt diese Qt-Funktion: QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up)
Wie bekomme ich aus einer beliebigen QMatrix4x4 die eye-Position? Ich denke mal, es ist ein eher simpler mathematischer Weg, aber ich komme nicht recht darauf.
Weiß jemand wie ich dabei vorzugehen habe?
Gruß
[Edit]
Es ist leider nicht so einfach, dass der TranslationsVektor in der 4.-Spalte zu finden ist.
Ich habe so das Gefühl, dass ich den Eye-Vektor nicht mehr rekonstruieren kann. Dieses LookAt ist ja eigentlich eine Rotation + Translation.
Trotzdem wundert mich das, dass der EyeVec nicht in der 4. Spalte zu finden ist
Wie man hier sieht (Zeile 1010) scheint das keine "einfache" translation zu sein...
ich habe eine eher mathematische Frage, weil mich die mathematische Lösung dieses Problem interessiert. In der Implementation gehe ich einen anderen weg: ich speicher mir immer den eyeVector ab, und lasse ihn mir bei Bedarf zurück geben.
Es gibt diese Qt-Funktion: QMatrix4x4::lookAt(const QVector3D& eye, const QVector3D& center, const QVector3D& up)
Wie bekomme ich aus einer beliebigen QMatrix4x4 die eye-Position? Ich denke mal, es ist ein eher simpler mathematischer Weg, aber ich komme nicht recht darauf.
Weiß jemand wie ich dabei vorzugehen habe?
Gruß
[Edit]
Es ist leider nicht so einfach, dass der TranslationsVektor in der 4.-Spalte zu finden ist.
Ich habe so das Gefühl, dass ich den Eye-Vektor nicht mehr rekonstruieren kann. Dieses LookAt ist ja eigentlich eine Rotation + Translation.
Trotzdem wundert mich das, dass der EyeVec nicht in der 4. Spalte zu finden ist
Wie man hier sieht (Zeile 1010) scheint das keine "einfache" translation zu sein...