dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d (Operator)
dual_quat_trans_line_3dT_dual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_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_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_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 DualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion
.
For a brief introduction to dual quaternions, Plücker coordinates and the
used notation, see “Solution Guide III-C - 3D Vision”
.
If LineFormatLineFormatLineFormatlineFormatline_format
is set to 'moment'"moment""moment""moment""moment", the moment of
the line must be passed in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x
,
LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y
, and LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z
.
If LineFormatLineFormatLineFormatlineFormatline_format
is set to 'point'"point""point""point""point", instead of the moment
an arbitrary point on the line can be passed in LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x
,
LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y
, and LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z
.
The parameters of the transformed line are returned in
TransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x
, TransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y
,
TransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z
, TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x
,
TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y
, and TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z
in the
format that was specified in LineFormatLineFormatLineFormatlineFormatline_format
.
If LineFormatLineFormatLineFormatlineFormatline_format
is set to '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_3ddual_quat_trans_line_3dDualQuatTransLine3dDualQuatTransLine3ddual_quat_trans_line_3d
returns meaningful results only if
DualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_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
DualQuaternionDualQuaternionDualQuaterniondualQuaterniondual_quaternion
(input_control) dual_quaternion →
HDualQuaternion, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Unit dual quaternion representing the transformation.
LineFormatLineFormatLineFormatlineFormatline_format
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Format of the line parameters.
Default:
'moment'
"moment"
"moment"
"moment"
"moment"
List of values:
'moment'"moment""moment""moment""moment", 'point'"point""point""point""point"
LineDirectionXLineDirectionXLineDirectionXlineDirectionXline_direction_x
(input_control) 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.
LineDirectionYLineDirectionYLineDirectionYlineDirectionYline_direction_y
(input_control) 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.
LineDirectionZLineDirectionZLineDirectionZlineDirectionZline_direction_z
(input_control) 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.
LineMomentOrPointXLineMomentOrPointXLineMomentOrPointXlineMomentOrPointXline_moment_or_point_x
(input_control) 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.
LineMomentOrPointYLineMomentOrPointYLineMomentOrPointYlineMomentOrPointYline_moment_or_point_y
(input_control) 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.
LineMomentOrPointZLineMomentOrPointZLineMomentOrPointZlineMomentOrPointZline_moment_or_point_z
(input_control) 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.
TransLineDirectionXTransLineDirectionXTransLineDirectionXtransLineDirectionXtrans_line_direction_x
(output_control) 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.
TransLineDirectionYTransLineDirectionYTransLineDirectionYtransLineDirectionYtrans_line_direction_y
(output_control) 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.
TransLineDirectionZTransLineDirectionZTransLineDirectionZtransLineDirectionZtrans_line_direction_z
(output_control) 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.
TransLineMomentOrPointXTransLineMomentOrPointXTransLineMomentOrPointXtransLineMomentOrPointXtrans_line_moment_or_point_x
(output_control) 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.
TransLineMomentOrPointYTransLineMomentOrPointYTransLineMomentOrPointYtransLineMomentOrPointYtrans_line_moment_or_point_y
(output_control) 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.
TransLineMomentOrPointZTransLineMomentOrPointZTransLineMomentOrPointZtransLineMomentOrPointZtrans_line_moment_or_point_z
(output_control) 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.
Possible Predecessors
points_to_pluecker_linepoints_to_pluecker_linePointsToPlueckerLinePointsToPlueckerLinepoints_to_pluecker_line
,
point_direction_to_pluecker_linepoint_direction_to_pluecker_linePointDirectionToPlueckerLinePointDirectionToPlueckerLinepoint_direction_to_pluecker_line
Possible Successors
dual_quat_composedual_quat_composeDualQuatComposeDualQuatComposedual_quat_compose
,
dual_quat_conjugatedual_quat_conjugateDualQuatConjugateDualQuatConjugatedual_quat_conjugate
,
pose_to_dual_quatpose_to_dual_quatPoseToDualQuatPoseToDualQuatpose_to_dual_quat
Alternatives
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3daffine_trans_point_3d
,
dual_quat_trans_point_3ddual_quat_trans_point_3dDualQuatTransPoint3dDualQuatTransPoint3ddual_quat_trans_point_3d
See also
dual_quat_to_hom_mat3ddual_quat_to_hom_mat3dDualQuatToHomMat3dDualQuatToHomMat3ddual_quat_to_hom_mat3d
,
dual_quat_to_screwdual_quat_to_screwDualQuatToScrewDualQuatToScrewdual_quat_to_screw
,
dual_quat_to_posedual_quat_to_poseDualQuatToPoseDualQuatToPosedual_quat_to_pose
,
dual_quat_normalizedual_quat_normalizeDualQuatNormalizeDualQuatNormalizedual_quat_normalize
,
serialize_dual_quatserialize_dual_quatSerializeDualQuatSerializeDualQuatserialize_dual_quat
,
deserialize_dual_quatdeserialize_dual_quatDeserializeDualQuatDeserializeDualQuatdeserialize_dual_quat
,
quat_rotate_point_3dquat_rotate_point_3dQuatRotatePoint3dQuatRotatePoint3dquat_rotate_point_3d
Module
Foundation