HALCON Reference Manual 10.0.2
Name
affine_trans_point_3dT_affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d — Apply an arbitrary affine 3D transformation to points.
Herror T_affine_trans_point_3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy, Htuple* Qz)
Herror affine_trans_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, double* Qx, double* Qy, double* Qz)
Herror affine_trans_point_3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy, HTuple* Qz)
void HOperatorSetX.AffineTransPoint3d(
[in] VARIANT HomMat3d, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qx, [out] VARIANT* Qy, [out] VARIANT* Qz)
VARIANT HHomMat3DX.AffineTransPoint3d(
[in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qy, [out] VARIANT* Qz)
static void HOperatorSet.AffineTransPoint3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy, out HTuple qz)
HTuple HHomMat3D.AffineTransPoint3d(HTuple px, HTuple py, HTuple pz, out HTuple qy, out HTuple qz)
double HHomMat3D.AffineTransPoint3d(double px, double py, double pz, out double qy, out double qz)
affine_trans_point_3daffine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d applies an arbitrary affine 3D transformation,
i.e., scaling, rotation, and translation, to the input points
(PxPxPxPxpx,PyPyPyPypy,PzPzPzPzpz) and returns the resulting points in
(QxQxQxQxqx, QyQyQyQyqy,QzQzQzQzqz). The affine transformation is
described by the homogeneous transformation matrix given in
HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. This corresponds to the following equation (input and
output points as homogeneous vectors):
/ Qx \ / Px \
| Qy | = HomMat3D * | Py |
| Qz | | Pz |
\ 1 / \ 1 /
The transformation matrix can be created using the operators
hom_mat3d_identityhom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentity, hom_mat3d_scalehom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScale,
hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate, hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate, etc., or be the result
of pose_to_hom_mat3dpose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3d.
For example, if HomMat3DHomMat3DHomMat3DHomMat3DhomMat3D corresponds to a rigid transformation,
i.e., if it consists of a rotation and a translation, the
points are transformed as follows:
/ Qx \ / \ / Px \ / / Px \ \
| Qy | = | R t | * | Py | = | R*| Py | + t |
| Qz | | | | Pz | | \ Pz / |
\ 1 / \ 0 0 0 1 / \ 1 / \ 1 /
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Input transformation matrix.
PxPxPxPxpx (input_control) point3d.x(-array) → HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)
Input point(s) (x coordinate).
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
PyPyPyPypy (input_control) point3d.y(-array) → HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)
Input point(s) (y coordinate).
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
PzPzPzPzpz (input_control) point3d.z(-array) → HTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong)
Input point(s) (z coordinate).
Default value: 64
Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024
QxQxQxQxqx (output_control) point3d.x(-array) → HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)
Output point(s) (x coordinate).
QyQyQyQyqy (output_control) point3d.y(-array) → HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)
Output point(s) (y coordinate).
QzQzQzQzqz (output_control) point3d.z(-array) → HTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double)
Output point(s) (z coordinate).
If the parameters are valid, the operator affine_trans_point_3daffine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3d
returns 2 (H_MSG_TRUE). If necessary, an exception is raised.
hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate,
hom_mat3d_translate_localhom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal,
hom_mat3d_scalehom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScale,
hom_mat3d_scale_localhom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal,
hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate,
hom_mat3d_rotate_localhom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal
hom_mat3d_translatehom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslate,
hom_mat3d_translate_localhom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocal,
hom_mat3d_scalehom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScale,
hom_mat3d_scale_localhom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocal,
hom_mat3d_rotatehom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotate,
hom_mat3d_rotate_localhom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocal
Foundation
| HALCON Reference Manual 10.0.2 |
Copyright © 1996-2011 MVTec Software GmbH |