warp.transform_compose#
- warp.transform_compose(
- position: Vector[float32, Literal[3]],
- rotation: Quaternion[float32],
- scale: Vector[float32, Literal[3]],
Kernel
Differentiable
Compose a 4x4 transformation matrix from a 3D position, quaternion orientation, and 3D scale.
\[\begin{split}M = \begin{bmatrix} s_x R_{00} & s_y R_{01} & s_z R_{02} & p_x \\ s_x R_{10} & s_y R_{11} & s_z R_{12} & p_y \\ s_x R_{20} & s_y R_{21} & s_z R_{22} & p_z \\ 0 & 0 & 0 & 1 \end{bmatrix}\end{split}\]Where:
\(R\) is the 3x3 rotation matrix created from the input quaternion orientation.
\(p\) is the input 3D position vector \([p_x, p_y, p_z]\).
\(s\) is the input 3D scale vector \([s_x, s_y, s_z]\).
- Parameters:
position (Vector[Float, 3]) – The 3D position vector.
rotation (Quaternion[Float]) – The quaternion orientation.
scale (Vector[Float, 3]) – The 3D scale vector.
- Returns:
The transformation matrix.
- Return type:
Matrix[Float, 4, 4]