dual_quat_to_hom_mat3d T_dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d dual_quat_to_hom_mat3d (Operator)
dual_quat_to_hom_mat3d T_dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d dual_quat_to_hom_mat3d
— Convert a unit dual quaternion into a homogeneous transformation matrix.
Signature
def dual_quat_to_hom_mat3d (dual_quaternion : Sequence[float]) -> Sequence[float]
Description
The operator dual_quat_to_hom_mat3d dual_quat_to_hom_mat3d DualQuatToHomMat3d DualQuatToHomMat3d dual_quat_to_hom_mat3d
converts a unit dual quaternion
DualQuaternion DualQuaternion DualQuaternion dualQuaternion dual_quaternion
, which represents a 3D rigid transformation,
into its corresponding homogeneous transformation matrix HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
.
For a brief introduction to dual quaternions, the used notation, and the
relationship between dual quaternions and screws, see
“Solution Guide III-C - 3D Vision”
.
The rotation part of HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
is computed from the
real part of the dual quaternion, as described in quat_to_hom_mat3d quat_to_hom_mat3d QuatToHomMat3d QuatToHomMat3d quat_to_hom_mat3d
.
The translation part
of HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
is computed
from the real and dual part of
:
where
is the vector part of the quaternion
.
Attention
HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
will only be a valid rigid transformation matrix if
DualQuaternion DualQuaternion DualQuaternion dualQuaternion dual_quaternion
is a unit dual quaternion.
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 dual_quaternion
(input_control) dual_quaternion →
HDualQuaternion , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Unit dual quaternion.
HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d
(output_control) hom_mat3d →
HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Transformation matrix.
Possible Predecessors
screw_to_dual_quat screw_to_dual_quat ScrewToDualQuat ScrewToDualQuat screw_to_dual_quat
,
dual_quat_interpolate dual_quat_interpolate DualQuatInterpolate DualQuatInterpolate dual_quat_interpolate
,
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose dual_quat_compose
,
dual_quat_normalize dual_quat_normalize DualQuatNormalize DualQuatNormalize dual_quat_normalize
Possible Successors
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
Alternatives
dual_quat_to_pose dual_quat_to_pose DualQuatToPose DualQuatToPose dual_quat_to_pose
,
dual_quat_to_screw dual_quat_to_screw DualQuatToScrew DualQuatToScrew dual_quat_to_screw
See also
dual_quat_compose dual_quat_compose DualQuatCompose DualQuatCompose dual_quat_compose
,
pose_to_dual_quat pose_to_dual_quat PoseToDualQuat PoseToDualQuat pose_to_dual_quat
,
dual_quat_conjugate dual_quat_conjugate DualQuatConjugate DualQuatConjugate dual_quat_conjugate
,
serialize_dual_quat serialize_dual_quat SerializeDualQuat SerializeDualQuat serialize_dual_quat
,
deserialize_dual_quat deserialize_dual_quat DeserializeDualQuat DeserializeDualQuat deserialize_dual_quat
,
dual_quat_trans_line_3d dual_quat_trans_line_3d DualQuatTransLine3d DualQuatTransLine3d dual_quat_trans_line_3d
,
dual_quat_trans_point_3d dual_quat_trans_point_3d DualQuatTransPoint3d DualQuatTransPoint3d dual_quat_trans_point_3d
,
quat_to_hom_mat3d quat_to_hom_mat3d QuatToHomMat3d QuatToHomMat3d quat_to_hom_mat3d
Module
Foundation