Name
project_hom_point_hom_mat3dT_project_hom_point_hom_mat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3d — Project a homogeneous 3D point using a 3×4 projection matrix.
Herror T_project_hom_point_hom_mat3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, const Htuple Pw, Htuple* Qx, Htuple* Qy, Htuple* Qw)
Herror project_hom_point_hom_mat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, double* Qx, double* Qy, double* Qw)
Herror project_hom_point_hom_mat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qw)
void ProjectHomPointHomMat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qx, HTuple* Qy, HTuple* Qw)
HTuple HHomMat3D::ProjectHomPointHomMat3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, const HTuple& Pw, HTuple* Qy, HTuple* Qw) const
double HHomMat3D::ProjectHomPointHomMat3d(double Px, double Py, double Pz, double Pw, double* Qy, double* Qw) const
void HOperatorSetX.ProjectHomPointHomMat3d(
[in] VARIANT HomMat3d, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Pw, [out] VARIANT* Qx, [out] VARIANT* Qy, [out] VARIANT* Qw)
VARIANT HHomMat3DX.ProjectHomPointHomMat3d(
[in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [in] VARIANT Pw, [out] VARIANT* Qy, [out] VARIANT* Qw)
static void HOperatorSet.ProjectHomPointHomMat3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, HTuple pw, out HTuple qx, out HTuple qy, out HTuple qw)
HTuple HHomMat3D.ProjectHomPointHomMat3d(HTuple px, HTuple py, HTuple pz, HTuple pw, out HTuple qy, out HTuple qw)
double HHomMat3D.ProjectHomPointHomMat3d(double px, double py, double pz, double pw, out double qy, out double qw)
projective_trans_hom_point_3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dprojective_trans_hom_point_3dProjectiveTransHomPoint3dProjectiveTransHomPoint3d applies the 3×4 projection
matrix HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D to all homogeneous input points
(PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz,PwPwPwPwPwpw) and returns an
array of homogeneous output points
(QxQxQxQxQxqx,QyQyQyQyQyqy,QwQwQwQwQwqw). The transformation is
described by the homogeneous transformation matrix given in
HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. This corresponds to the following equation (input
and output points as homogeneous vectors):
To transform the homogeneous coordinates to Euclidean coordinates,
they must be divided by QwQwQwQwQwqw:
This can be achieved directly by calling
project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d. Thus,
project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3d is primarily useful for
transforming points or point sets for which the resulting points
might lie on the line at infinity, i.e., points that potentially
have QwQwQwQwQwqw = 0, for which the above division cannot be
performed.
Note that, consistent with the conventions used by the projection in
calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras, QxQxQxQxQxqx corresponds to the column
coordinate of an image and QyQyQyQyQyqy corresponds to the row
coordinate.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
PxPxPxPxPxpx (input_control) number(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Input point (x coordinate).
PyPyPyPyPypy (input_control) number(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Input point (y coordinate).
PzPzPzPzPzpz (input_control) number(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Input point (z coordinate).
PwPwPwPwPwpw (input_control) number(-array) → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Input point (w coordinate).
QxQxQxQxQxqx (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Output point (x coordinate).
QyQyQyQyQyqy (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Output point (y coordinate).
QwQwQwQwQwqw (output_control) real(-array) → HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)
Output point (w coordinate).
cam_par_pose_to_hom_mat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dCamParPoseToHomMat3d
project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d,
project_3d_pointproject_3d_pointProject3dPointproject_3d_pointProject3dPointProject3dPoint
Foundation