projective_trans_hom_point_3dT_projective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dprojective_trans_hom_point_3d — Projiziert einen homogenen 3D-Punkt mittels einer projektiven
Transformationsmatrix.
projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dprojective_trans_hom_point_3d wendet die homogene projektive
Transformationsmatrix HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d auf alle homogenen
Eingabepunkte (PxPxPxpxpx,PyPyPypypy,PzPzPzpzpz,PwPwPwpwpw) an
und liefert ein Tupel von homogenen Ergebnispunkten
(QxQxQxqxqx,QyQyQyqyqy,QzQzQzqzqz,QwQwQwqwqw) zurück. Die
Transformation wird durch eine homogene Transformationsmatrix
beschrieben, die in HomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d übergeben wird. Dies
entspricht der folgenden Gleichung (Ein- und Ausgabepunkte als
homogene Vektoren dargestellt):
Um die homogenen Koordinaten in euklidische Koordinaten zu
transformieren, muss durch QwQwQwqwqw geteilt werden:
Dies kann direkt mit projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dprojective_trans_point_3d erreicht
werden. Daher ist projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dprojective_trans_hom_point_3d
hauptsächlich in Situationen nützlich, in denen die Ergebinspunkte
in der unendlich fernen Ebene liegen können, d.h. QwQwQwqwqw = 0
besitzen können, und somit die obige Division nicht ausgeführt
werden kann.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Automatisch parallelisiert auf interner Datenebene.