projective_trans_point_3dT_projective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3d (Operator)

Name

projective_trans_point_3dT_projective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3d — Project a 3D point using a projective transformation matrix.

Signature

projective_trans_point_3d( : : HomMat3D, Px, Py, Pz : Qx, Qy, Qz)

Herror T_projective_trans_point_3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)

void ProjectiveTransPoint3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)

HTuple HHomMat3D::ProjectiveTransPoint3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qy, HTuple* Qz) const

double HHomMat3D::ProjectiveTransPoint3d(double Px, double Py, double Pz, double* Qy, double* Qz) const

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

HTuple HHomMat3D.ProjectiveTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple qy, out HTuple qz)

double HHomMat3D.ProjectiveTransPoint3d(double px, double py, double pz, out double qy, out double qz)

Description

projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3d applies the homogeneous projective transformation matrix HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D to all input points (PxPxPxPxpx,PyPyPyPypy,PzPzPzPzpz) and returns an array of output points (QxQxQxQxqx,QyQyQyQyqy,QzQzQzQzqz). The transformation is described by the homogeneous transformation matrix given in HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. This corresponds to the following equations (input and output points as homogeneous vectors):

projective_trans_point_3dprojective_trans_point_3dProjectiveTransPoint3dProjectiveTransPoint3dProjectiveTransPoint3d then transforms the homogeneous coordinates to Euclidean coordinates by dividing them by Tw: If a point in the plane at infinity (Tw = 0) is created by the transformation, an error is returned. If this is undesired, projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d can be used.

Execution Information

Parameters

HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d HHomMat3D, HTupleHTupleHtuple (real) (double) (double) (double)

Homogeneous projective transformation matrix.

PxPxPxPxpx (input_control)  number(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point (x coordinate).

PyPyPyPypy (input_control)  number(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point (y coordinate).

PzPzPzPzpz (input_control)  number(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input point (z coordinate).

QxQxQxQxqx (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Output point (x coordinate).

QyQyQyQyqy (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Output point (y coordinate).

QzQzQzQzqz (output_control)  number(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Output point (z coordinate).

Possible Predecessors

vector_to_hom_mat3dvector_to_hom_mat3dVectorToHomMat3dVectorToHomMat3dVectorToHomMat3d

Alternatives

projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d

Module

Foundation