dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d (算子)

名称

dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d — 使用单位对偶四元数变换三维线。

签名

dual_quat_trans_line_3d( : : DualQuaternion, LineFormat, LineDirectionX, LineDirectionY, LineDirectionZ, LineMomentOrPointX, LineMomentOrPointY, LineMomentOrPointZ : TransLineDirectionX, TransLineDirectionY, TransLineDirectionZ, TransLineMomentOrPointX, TransLineMomentOrPointY, TransLineMomentOrPointZ)

Herror T_dual_quat_trans_line_3d(const Htuple DualQuaternion, const Htuple LineFormat, const Htuple LineDirectionX, const Htuple LineDirectionY, const Htuple LineDirectionZ, const Htuple LineMomentOrPointX, const Htuple LineMomentOrPointY, const Htuple LineMomentOrPointZ, Htuple* TransLineDirectionX, Htuple* TransLineDirectionY, Htuple* TransLineDirectionZ, Htuple* TransLineMomentOrPointX, Htuple* TransLineMomentOrPointY, Htuple* TransLineMomentOrPointZ)

void DualQuatTransLine3d(const HTuple& DualQuaternion, const HTuple& LineFormat, const HTuple& LineDirectionX, const HTuple& LineDirectionY, const HTuple& LineDirectionZ, const HTuple& LineMomentOrPointX, const HTuple& LineMomentOrPointY, const HTuple& LineMomentOrPointZ, HTuple* TransLineDirectionX, HTuple* TransLineDirectionY, HTuple* TransLineDirectionZ, HTuple* TransLineMomentOrPointX, HTuple* TransLineMomentOrPointY, HTuple* TransLineMomentOrPointZ)

void HDualQuaternion::DualQuatTransLine3d(const HString& LineFormat, const HTuple& LineDirectionX, const HTuple& LineDirectionY, const HTuple& LineDirectionZ, const HTuple& LineMomentOrPointX, const HTuple& LineMomentOrPointY, const HTuple& LineMomentOrPointZ, HTuple* TransLineDirectionX, HTuple* TransLineDirectionY, HTuple* TransLineDirectionZ, HTuple* TransLineMomentOrPointX, HTuple* TransLineMomentOrPointY, HTuple* TransLineMomentOrPointZ) const

void HDualQuaternion::DualQuatTransLine3d(const HString& LineFormat, double LineDirectionX, double LineDirectionY, double LineDirectionZ, double LineMomentOrPointX, double LineMomentOrPointY, double LineMomentOrPointZ, double* TransLineDirectionX, double* TransLineDirectionY, double* TransLineDirectionZ, double* TransLineMomentOrPointX, double* TransLineMomentOrPointY, double* TransLineMomentOrPointZ) const

void HDualQuaternion::DualQuatTransLine3d(const char* LineFormat, double LineDirectionX, double LineDirectionY, double LineDirectionZ, double LineMomentOrPointX, double LineMomentOrPointY, double LineMomentOrPointZ, double* TransLineDirectionX, double* TransLineDirectionY, double* TransLineDirectionZ, double* TransLineMomentOrPointX, double* TransLineMomentOrPointY, double* TransLineMomentOrPointZ) const

void HDualQuaternion::DualQuatTransLine3d(const wchar_t* LineFormat, double LineDirectionX, double LineDirectionY, double LineDirectionZ, double LineMomentOrPointX, double LineMomentOrPointY, double LineMomentOrPointZ, double* TransLineDirectionX, double* TransLineDirectionY, double* TransLineDirectionZ, double* TransLineMomentOrPointX, double* TransLineMomentOrPointY, double* TransLineMomentOrPointZ) const   ( Windows only)

static void HOperatorSet.DualQuatTransLine3d(HTuple dualQuaternion, HTuple lineFormat, HTuple lineDirectionX, HTuple lineDirectionY, HTuple lineDirectionZ, HTuple lineMomentOrPointX, HTuple lineMomentOrPointY, HTuple lineMomentOrPointZ, out HTuple transLineDirectionX, out HTuple transLineDirectionY, out HTuple transLineDirectionZ, out HTuple transLineMomentOrPointX, out HTuple transLineMomentOrPointY, out HTuple transLineMomentOrPointZ)

void HDualQuaternion.DualQuatTransLine3d(string lineFormat, HTuple lineDirectionX, HTuple lineDirectionY, HTuple lineDirectionZ, HTuple lineMomentOrPointX, HTuple lineMomentOrPointY, HTuple lineMomentOrPointZ, out HTuple transLineDirectionX, out HTuple transLineDirectionY, out HTuple transLineDirectionZ, out HTuple transLineMomentOrPointX, out HTuple transLineMomentOrPointY, out HTuple transLineMomentOrPointZ)

void HDualQuaternion.DualQuatTransLine3d(string lineFormat, double lineDirectionX, double lineDirectionY, double lineDirectionZ, double lineMomentOrPointX, double lineMomentOrPointY, double lineMomentOrPointZ, out double transLineDirectionX, out double transLineDirectionY, out double transLineDirectionZ, out double transLineMomentOrPointX, out double transLineMomentOrPointY, out double transLineMomentOrPointZ)

def dual_quat_trans_line_3d(dual_quaternion: Sequence[Union[float, int]], line_format: str, line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_or_point_x: MaybeSequence[Union[float, int]], line_moment_or_point_y: MaybeSequence[Union[float, int]], line_moment_or_point_z: MaybeSequence[Union[float, int]]) -> Tuple[Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]], Sequence[Union[float, int]]]

def dual_quat_trans_line_3d_s(dual_quaternion: Sequence[Union[float, int]], line_format: str, line_direction_x: MaybeSequence[Union[float, int]], line_direction_y: MaybeSequence[Union[float, int]], line_direction_z: MaybeSequence[Union[float, int]], line_moment_or_point_x: MaybeSequence[Union[float, int]], line_moment_or_point_y: MaybeSequence[Union[float, int]], line_moment_or_point_z: MaybeSequence[Union[float, int]]) -> Tuple[Union[float, int], Union[float, int], Union[float, int], Union[float, int], Union[float, int], Union[float, int]]

描述

算子 dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d transforms a 3D line that is represented by its Plücker coordinates by a 3D rigid transformation that is given by the unit dual quaternion DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion

For a brief introduction to dual quaternions, Plücker coordinates and the used notation, see “Solution Guide III-C - 3D Vision”.

If LineFormatLineFormatLineFormatLineFormatlineFormatline_format is set to 'moment'"moment""moment""moment""moment""moment", the moment of the line must be passed in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y, and LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z

If LineFormatLineFormatLineFormatLineFormatlineFormatline_format is set to 'point'"point""point""point""point""point", instead of the moment an arbitrary point on the line can be passed in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y, and LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z

The parameters of the transformed line are returned in TransLineDirectionXTransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x, TransLineDirectionYTransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y, TransLineDirectionZTransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z, TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x, TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y, and TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z in the format that was specified in LineFormatLineFormatLineFormatLineFormatlineFormatline_format. If LineFormatLineFormatLineFormatLineFormatlineFormatline_format is set to 'point'"point""point""point""point""point", the point on the line that is closest to the origin of the coordinate system is returned.

注意

dual_quat_trans_line_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d returns meaningful results only if DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion is a unit dual quaternion and the length of the line direction is 1.

执行信息

参数

DualQuaternionDualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion (输入控制)  dual_quaternion HDualQuaternion, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Unit dual quaternion representing the transformation.

LineFormatLineFormatLineFormatLineFormatlineFormatline_format (输入控制)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Format of the line parameters.

默认值: 'moment' "moment" "moment" "moment" "moment" "moment"

值列表: 'moment'"moment""moment""moment""moment""moment", 'point'"point""point""point""point""point"

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

X component of the direction vector of the line.

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

Y component of the direction vector of the line.

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

Z component of the direction vector of the line.

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

X component of the moment vector or a point on the line.

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

Y component of the moment vector or a point on the line.

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

Z component of the moment vector or a point on the line.

TransLineDirectionXTransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x (输出控制)  point3d.x(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X component of the direction vector of the transformed line.

TransLineDirectionYTransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y (输出控制)  point3d.y(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y component of the direction vector of the transformed line.

TransLineDirectionZTransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z (输出控制)  point3d.z(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z component of the direction vector of the transformed line.

TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x (输出控制)  point3d.x(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

X component of the moment vector or a point on the transformed line.

TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y (输出控制)  point3d.y(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Y component of the moment vector or a point on the transformed line.

TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z (输出控制)  point3d.z(-array) HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Z component of the moment vector or a point on the transformed line.

可能的前趋

points_to_pluecker_linepoints_to_pluecker_linePointsToPlueckerLinePointsToPlueckerLinePointsToPlueckerLinepoints_to_pluecker_line, point_direction_to_pluecker_linepoint_direction_to_pluecker_linePointDirectionToPlueckerLinePointDirectionToPlueckerLinePointDirectionToPlueckerLinepoint_direction_to_pluecker_line

可能的后继

dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposeDualQuatComposedual_quat_compose, dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate, pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatPoseToDualQuatpose_to_dual_quat

替代

affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d, dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d

另见

dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d, dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewDualQuatToScrewdual_quat_to_screw, dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPoseDualQuatToPosedual_quat_to_pose, dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize, serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatSerializeDualQuatserialize_dual_quat, deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat, quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d

模块

基础