warp.quat\_twist\_angle ======================= .. currentmodule:: warp._src.lang .. function:: quat_twist_angle(axis: vec3f, q: quatf) -> float .. wp-function-tags:: :kernel: true :python: true :differentiable: true :source: https://github.com/NVIDIA/warp/blob/release-1.19/warp/_src/math.py#L172-L194 Return the unsigned twist magnitude in radians of ``q`` around ``axis``. This discards the sign of the twist, so rotations by ``+theta`` and ``-theta`` around ``axis`` return the same value. Use :func:`quat_twist_angle_signed` when the direction of rotation around ``axis`` matters. :param axis: Twist axis, with unit length. :param q: Rotation quaternion. :returns: Unsigned twist angle in radians, in ``[0, pi]`` if ``q[3] >= 0`` and in ``(pi, 2*pi]`` otherwise, so ``q`` and ``-q`` can return different angles even though they represent the same rotation. It is unspecified when ``q`` is a rotation of 180 degrees about an axis perpendicular to ``axis``. :rtype: float