dual_quat_trans_line_3d T_dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d dual_quat_trans_line_3d (Operator)
Name
dual_quat_trans_line_3d T_dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d dual_quat_trans_line_3d
— Transform a 3D line with a unit dual quaternion.
Signature
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]]
Description
The operator dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d dual_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 DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion dual_quaternion
.
For a brief introduction to dual quaternions, Plücker coordinates and the
used notation, see the documentation of this chapter
(Transformations / Dual Quaternions ).
A line in Plücker coordinates is given by its direction
with
and its
moment
with
.
It can be written as a dual quaternion
with 0 scalar parts.
The line
can be transformed by the 3D rigid transformation
that is represented by the unit dual quaternion
very
conveniently:
The resulting dual quaternion
also has a 0 scalar part and
directly contains the direction and the moment of the transformed line in
its vector parts.
The direction of the line must be passed in LineDirectionX LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
,
LineDirectionY LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
, and LineDirectionZ LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
. Note that the length
of the direction vector must be 1 to get meaningful results, i.e.,
.
If LineFormat LineFormat LineFormat LineFormat lineFormat line_format
is set to 'moment' "moment" "moment" "moment" "moment" "moment" , the moment of
the line must be passed in LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX line_moment_or_point_x
,
LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY line_moment_or_point_y
, and LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ line_moment_or_point_z
.
If LineFormat LineFormat LineFormat LineFormat lineFormat line_format
is set to 'point' "point" "point" "point" "point" "point" , instead of the moment
an arbitrary point on the line can be passed in LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX line_moment_or_point_x
,
LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY line_moment_or_point_y
, and LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ line_moment_or_point_z
.
The parameters of the transformed line are returned in
TransLineDirectionX TransLineDirectionX TransLineDirectionX TransLineDirectionX transLineDirectionX trans_line_direction_x
, TransLineDirectionY TransLineDirectionY TransLineDirectionY TransLineDirectionY transLineDirectionY trans_line_direction_y
,
TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ transLineDirectionZ trans_line_direction_z
, TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX transLineMomentOrPointX trans_line_moment_or_point_x
,
TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY transLineMomentOrPointY trans_line_moment_or_point_y
, and TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ transLineMomentOrPointZ trans_line_moment_or_point_z
in the
format that was specified in LineFormat LineFormat LineFormat LineFormat lineFormat line_format
.
If LineFormat LineFormat LineFormat LineFormat lineFormat line_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.
Attention
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d DualQuatTransLine3d dual_quat_trans_line_3d
returns meaningful results only if
DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion dual_quaternion
is a unit dual quaternion and the length of
the line direction is 1.
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
DualQuaternion DualQuaternion DualQuaternion DualQuaternion dualQuaternion dual_quaternion
(input_control) dual_quaternion →
HDualQuaternion , HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Unit dual quaternion representing the transformation.
LineFormat LineFormat LineFormat LineFormat lineFormat line_format
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Format of the line parameters.
Default value:
'moment'
"moment"
"moment"
"moment"
"moment"
"moment"
List of values: 'moment' "moment" "moment" "moment" "moment" "moment" , 'point' "point" "point" "point" "point" "point"
LineDirectionX LineDirectionX LineDirectionX LineDirectionX lineDirectionX line_direction_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the direction vector of the line.
LineDirectionY LineDirectionY LineDirectionY LineDirectionY lineDirectionY line_direction_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the direction vector of the line.
LineDirectionZ LineDirectionZ LineDirectionZ LineDirectionZ lineDirectionZ line_direction_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the direction vector of the line.
LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX LineMomentOrPointX lineMomentOrPointX line_moment_or_point_x
(input_control) point3d.x(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the moment vector or a point on the line.
LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY LineMomentOrPointY lineMomentOrPointY line_moment_or_point_y
(input_control) point3d.y(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the moment vector or a point on the line.
LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ LineMomentOrPointZ lineMomentOrPointZ line_moment_or_point_z
(input_control) point3d.z(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the moment vector or a point on the line.
TransLineDirectionX TransLineDirectionX TransLineDirectionX TransLineDirectionX transLineDirectionX trans_line_direction_x
(output_control) point3d.x(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the direction vector of the
transformed line.
TransLineDirectionY TransLineDirectionY TransLineDirectionY TransLineDirectionY transLineDirectionY trans_line_direction_y
(output_control) point3d.y(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the direction vector of the
transformed line.
TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ TransLineDirectionZ transLineDirectionZ trans_line_direction_z
(output_control) point3d.z(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the direction vector of the
transformed line.
TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX TransLineMomentOrPointX transLineMomentOrPointX trans_line_moment_or_point_x
(output_control) point3d.x(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
X component of the moment vector or a point on the
transformed line.
TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY TransLineMomentOrPointY transLineMomentOrPointY trans_line_moment_or_point_y
(output_control) point3d.y(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Y component of the moment vector or a point on the
transformed line.
TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ TransLineMomentOrPointZ transLineMomentOrPointZ trans_line_moment_or_point_z
(output_control) point3d.z(-array) →
HTuple Sequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Z component of the moment vector or a point on the
transformed line.
Possible Successors
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose DualQuatCompose dual_quat_compose
,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate DualQuatConjugate dual_quat_conjugate
,
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat PoseToDualQuat pose_to_dual_quat
Alternatives
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
See also
dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d DualQuatToHomMat3d dual_quat_to_hom_mat3d
,
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew DualQuatToScrew dual_quat_to_screw
,
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose DualQuatToPose dual_quat_to_pose
,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize DualQuatNormalize dual_quat_normalize
,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat SerializeDualQuat serialize_dual_quat
,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat DeserializeDualQuat deserialize_dual_quat
,
quat_rotate_point_3d quat_rotate_point_3d QuatRotatePoint3d QuatRotatePoint3d QuatRotatePoint3d quat_rotate_point_3d
Module
Foundation