KlassenKlassenKlassenKlassen | | | | Operatoren

projective_trans_hom_point_3dT_projective_trans_hom_point_3dProjectiveTransHomPoint3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d (Operator)

Name

projective_trans_hom_point_3dT_projective_trans_hom_point_3dProjectiveTransHomPoint3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d — Projiziert einen homogenen 3D-Punkt mittels einer projektiven Transformationsmatrix.

Signatur

projective_trans_hom_point_3d( : : HomMat3D, Px, Py, Pz, Pw : Qx, Qy, Qz, Qw)

Herror T_projective_trans_hom_point_3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, const Htuple Pw, Htuple* Qx, Htuple* Qy, Htuple* Qz, Htuple* Qw)

Herror projective_trans_hom_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, double* Qx, double* Qy, double* Qz, double* Qw)

Herror projective_trans_hom_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qz, HTuple* Qw)

void ProjectiveTransHomPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qz, HTuple* Qw)

HTuple HHomMat3D::ProjectiveTransHomPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qy, HTuple* Qz, HTuple* Qw) const

double HHomMat3D::ProjectiveTransHomPoint3d(double Px, double Py, double Pz, double Pw, double* Qy, double* Qz, double* Qw) const

void HOperatorSetX.ProjectiveTransHomPoint3d(
[in] VARIANT HomMat3d, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Pw, [out] VARIANT* Qx, [out] VARIANT* Qy, [out] VARIANT* Qz, [out] VARIANT* Qw)

VARIANT HHomMat3DX.ProjectiveTransHomPoint3d(
[in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Pw, [out] VARIANT* Qy, [out] VARIANT* Qz, [out] VARIANT* Qw)

static void HOperatorSet.ProjectiveTransHomPoint3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, HTuple pw, out HTuple qx, out HTuple qy, out HTuple qz, out HTuple qw)

HTuple HHomMat3D.ProjectiveTransHomPoint3d(HTuple px, HTuple py, HTuple pz, HTuple pw, out HTuple qy, out HTuple qz, out HTuple qw)

double HHomMat3D.ProjectiveTransHomPoint3d(double px, double py, double pz, double pw, out double qy, out double qz, out double qw)

Beschreibung

projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d wendet die homogene projektive Transformationsmatrix HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D auf alle homogenen Eingabepunkte (PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz,PwPwPwPwPwpw) an und liefert ein Tupel von homogenen Ergebnispunkten (QxQxQxQxQxqx,QyQyQyQyQyqy,QzQzQzQzQzqz,QwQwQwQwQwqw) zurück. Die Transformation wird durch eine homogene Transformationsmatrix beschrieben, die in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D ü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 QwQwQwQwQwqw geteilt werden:

Dies kann direkt mit projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3d erreicht werden. Daher ist projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d hauptsächlich in Situationen nützlich, in denen die Ergebinspunkte in der unendlich fernen Ebene liegen können, d.h. QwQwQwQwQwqw = 0 besitzen können, und somit die obige Division nicht ausgeführt werden kann.

Parallelisierung

Parameter

HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

Homogene projektive Transformationsmatrix.

PxPxPxPxPxpx (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt (x-Koordinate).

PyPyPyPyPypy (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt (y-Koordinate).

PzPzPzPzPzpz (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt (z-Koordinate).

PwPwPwPwPwpw (input_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Eingabepunkt (w-Koordinate).

QxQxQxQxQxqx (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt (x-Koordinate).

QyQyQyQyQyqy (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt (y-Koordinate).

QzQzQzQzQzqz (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt (z-Koordinate).

QwQwQwQwQwqw (output_control)  number(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Ausgabepunkt (w-Koordinate).

Vorgänger

vector_to_hom_mat3dvector_to_hom_mat3dVectorToHomMat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3d

Alternativen

projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3d

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren