affine_trans_point_3dT_affine_trans_point_3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d仿射变换点三维(算子)

名称

affine_trans_point_3dT_affine_trans_point_3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d — 对点应用任意仿射三维变换。

签名

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

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

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

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

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

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)

def affine_trans_point_3d(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]

def affine_trans_point_3d_s(hom_mat_3d: Sequence[float], px: MaybeSequence[Union[float, int]], py: MaybeSequence[Union[float, int]], pz: MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]

描述

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d 对输入点 (PxPxPxPxpxpx,PyPyPyPypypy,PzPzPzPzpzpz) 应用任意仿射三维变换,即缩放、旋转和平移,并返回变换后的点 (QxQxQxQxqxqx, QyQyQyQyqyqy,QzQzQzQzqzqz)。该仿射变换由 HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d 中给出的齐次变换矩阵描述,对应于以下方程(输入和输出点均作为齐次向量):

变换矩阵可通过算子 hom_mat3d_identityhom_mat3d_identityHomMat3dIdentityHomMat3dIdentityHomMat3dIdentityhom_mat3d_identity, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate 等创建,也可由 pose_to_hom_mat3dpose_to_hom_mat3dPoseToHomMat3dPoseToHomMat3dPoseToHomMat3dpose_to_hom_mat3d 等算子生成。

例如,如果 HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d 对应于刚性变换,即由旋转和平移组成,则点按以下方式进行变换:

执行信息

参数

HomMat3DHomMat3DHomMat3DHomMat3DhomMat3Dhom_mat_3d (输入控制)  hom_mat3d HHomMat3D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

输入变换矩阵。

PxPxPxPxpxpx (输入控制)  point3d.x(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

输入点( x 坐标)。

默认值: 64

建议值: 0, 16, 32, 64, 128, 256, 512, 1024

PyPyPyPypypy (输入控制)  point3d.y(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

输入点( y 坐标)。

默认值: 64

建议值: 0, 16, 32, 64, 128, 256, 512, 1024

PzPzPzPzpzpz (输入控制)  point3d.z(-array) HTupleMaybeSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

输入点( z 坐标)。

默认值: 64

建议值: 0, 16, 32, 64, 128, 256, 512, 1024

QxQxQxQxqxqx (输出控制)  point3d.x(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

输出点( x 坐标)。

QyQyQyQyqyqy (输出控制)  point3d.y(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

输出点( y 坐标)。

QzQzQzQzqzqz (输出控制)  point3d.z(-array) HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

输出点( z 坐标)。

结果

如果参数有效,算子 affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d 返回 2 ( H_MSG_TRUE )。如有必要,则抛出异常。

可能的前趋

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local

可能的后继

hom_mat3d_translatehom_mat3d_translateHomMat3dTranslateHomMat3dTranslateHomMat3dTranslatehom_mat3d_translate, hom_mat3d_translate_localhom_mat3d_translate_localHomMat3dTranslateLocalHomMat3dTranslateLocalHomMat3dTranslateLocalhom_mat3d_translate_local, hom_mat3d_scalehom_mat3d_scaleHomMat3dScaleHomMat3dScaleHomMat3dScalehom_mat3d_scale, hom_mat3d_scale_localhom_mat3d_scale_localHomMat3dScaleLocalHomMat3dScaleLocalHomMat3dScaleLocalhom_mat3d_scale_local, hom_mat3d_rotatehom_mat3d_rotateHomMat3dRotateHomMat3dRotateHomMat3dRotatehom_mat3d_rotate, hom_mat3d_rotate_localhom_mat3d_rotate_localHomMat3dRotateLocalHomMat3dRotateLocalHomMat3dRotateLocalhom_mat3d_rotate_local

模块

基础