jaxtransform3d.transformations.compose_dual_quaternions#

jaxtransform3d.transformations.compose_dual_quaternions(dual_quat1: Array | ndarray | bool_ | number | bool | int | float | complex, dual_quat2: Array | ndarray | bool_ | number | bool | int | float | complex) Array[source]#

Concatenate dual quaternions.

Computes the dual quaternion product

\[\begin{split}\begin{eqnarray} \sigma_1 \sigma_2 &=& (p_1 + q_1 \epsilon) (p_2 + q_2 \epsilon)\\ &=& p_1 p_2 + (p_1 q_2 + q_1 p_2) \epsilon. \end{eqnarray}\end{split}\]
Parameters:
dual_quat1array-like, shape (…, 8)

Dual quaternions to represent transforms: (pw, px, py, pz, qw, qx, qy, qz)

dual_quat2array-like, shape (…, 8)

Dual quaternions to represent transforms: (pw, px, py, pz, qw, qx, qy, qz)

Returns:
dual_quat3array, shape (8,)

Products of the two batches of dual quaternions: (pw, px, py, pz, qw, qx, qy, qz)