projective_trans_point_3dT_projective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3d — Projiziert einen 3D-Punkt mittels einer projektiven
Transformationsmatrix.
double HHomMat3D.ProjectiveTransPoint3d(double px, double py, double pz, out double qy, out double qz)
Beschreibung
projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3d wendet die homogene projektive
Transformationsmatrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D auf alle Eingabepunkte
(PxPxPxPxpx,PyPyPyPypy,PzPzPzPzpz) an und liefert ein Tupel von
Ergebnispunkten (QxQxQxQxqx,QyQyQyQyqy,QzQzQzQzqz) zurück. Die
Transformation wird durch eine homogene Transformationsmatrix
beschrieben, die in HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D übergeben wird. Dies
entspricht den folgenden Gleichungen (Ein- und Ausgabepunkte als
homogene Vektoren dargestellt):
projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3d transformiert hierauf die
homogenen Koordinaten in euklidische Koordinaten, indem durch Tw
geteilt wird:
Falls bei dieser Transformation ein Punkt in der unendlich fernen
Ebene erzeugt wird (Tw = 0), wird eine Fehlermeldung
zurückgeliefert. Falls dies nicht erwünscht ist, kann
projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d verwendet werden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).