Skip to content

dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3dT_dual_quat_trans_line_3dπŸ”—

Short descriptionπŸ”—

dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3dT_dual_quat_trans_line_3d β€” Transform a 3D line with a unit dual quaternion.

SignatureπŸ”—

dual_quat_trans_line_3d( dual_quaternion DualQuaternion, string LineFormat, point3d.x LineDirectionX, point3d.y LineDirectionY, point3d.z LineDirectionZ, point3d.x LineMomentOrPointX, point3d.y LineMomentOrPointY, point3d.z LineMomentOrPointZ, out point3d.x TransLineDirectionX, out point3d.y TransLineDirectionY, out point3d.z TransLineDirectionZ, out point3d.x TransLineMomentOrPointX, out point3d.y TransLineMomentOrPointY, out point3d.z 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 )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 )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]]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 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)

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 )

DescriptionπŸ”—

The operator dual_quat_trans_line_3dDualQuatTransLine3d 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 DualQuaterniondualQuaterniondual_quaternion.

For a brief introduction to dual quaternions, PlΓΌcker coordinates and the used notation, see β€œSolution Guide III-C - 3D Vision”.

If LineFormatlineFormatline_format is set to 'moment'"moment", the moment of the line must be passed in LineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYlineMomentOrPointYline_moment_or_point_y, and LineMomentOrPointZlineMomentOrPointZline_moment_or_point_z.

If LineFormatlineFormatline_format is set to 'point'"point", instead of the moment an arbitrary point on the line can be passed in LineMomentOrPointXlineMomentOrPointXline_moment_or_point_x, LineMomentOrPointYlineMomentOrPointYline_moment_or_point_y, and LineMomentOrPointZlineMomentOrPointZline_moment_or_point_z.

The parameters of the transformed line are returned in TransLineDirectionXtransLineDirectionXtrans_line_direction_x, TransLineDirectionYtransLineDirectionYtrans_line_direction_y, TransLineDirectionZtransLineDirectionZtrans_line_direction_z, TransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x, TransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y, and TransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z in the format that was specified in LineFormatlineFormatline_format. If LineFormatlineFormatline_format is set to 'point'"point", the point on the line that is closest to the origin of the coordinate system is returned.

AttentionπŸ”—

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

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

ParametersπŸ”—

DualQuaterniondualQuaterniondual_quaternion (input_control) dual_quaternion β†’ (real / integer)HTuple (double / Hlong)HDualQuaternion, HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Unit dual quaternion representing the transformation.

LineFormatlineFormatline_format (input_control) string β†’ (string)HTuple (HString)HTuple (string)strHtuple (char*)

Format of the line parameters.

Default: 'moment'"moment"
List of values: 'moment', 'point'"moment", "point"

LineDirectionXlineDirectionXline_direction_x (input_control) point3d.x(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

X component of the direction vector of the line.

LineDirectionYlineDirectionYline_direction_y (input_control) point3d.y(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

Y component of the direction vector of the line.

LineDirectionZlineDirectionZline_direction_z (input_control) point3d.z(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

Z component of the direction vector of the line.

LineMomentOrPointXlineMomentOrPointXline_moment_or_point_x (input_control) point3d.x(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

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

LineMomentOrPointYlineMomentOrPointYline_moment_or_point_y (input_control) point3d.y(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

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

LineMomentOrPointZlineMomentOrPointZline_moment_or_point_z (input_control) point3d.z(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

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

TransLineDirectionXtransLineDirectionXtrans_line_direction_x (output_control) point3d.x(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

X component of the direction vector of the transformed line.

TransLineDirectionYtransLineDirectionYtrans_line_direction_y (output_control) point3d.y(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Y component of the direction vector of the transformed line.

TransLineDirectionZtransLineDirectionZtrans_line_direction_z (output_control) point3d.z(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Z component of the direction vector of the transformed line.

TransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x (output_control) point3d.x(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

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

TransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y (output_control) point3d.y(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

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

TransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z (output_control) point3d.z(-array) β†’ (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

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

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

points_to_pluecker_linePointsToPlueckerLine, point_direction_to_pluecker_linePointDirectionToPlueckerLine

Possible successors

dual_quat_composeDualQuatCompose, dual_quat_conjugateDualQuatConjugate, pose_to_dual_quatPoseToDualQuat

Alternatives

affine_trans_point_3dAffineTransPoint3d, dual_quat_trans_point_3dDualQuatTransPoint3d

See also

dual_quat_to_hom_mat3dDualQuatToHomMat3d, dual_quat_to_screwDualQuatToScrew, dual_quat_to_poseDualQuatToPose, dual_quat_normalizeDualQuatNormalize, serialize_dual_quatSerializeDualQuat, deserialize_dual_quatDeserializeDualQuat, quat_rotate_point_3dQuatRotatePoint3d

ModuleπŸ”—

Foundation