warp.quat\_twist\_angle\_signed =============================== .. currentmodule:: warp._src.lang .. function:: quat_twist_angle_signed(axis: vec3f, q: quatf) -> float .. wp-function-tags:: :kernel: true :python: true :differentiable: true :source: https://github.com/NVIDIA/warp/blob/release-1.18/warp/_src/math.py#L196-L217 Return the signed twist angle of ``q`` around ``axis``. Unlike :func:`quat_twist_angle`, this preserves the sign of the twist, so rotations by ``+theta`` and ``-theta`` around ``axis`` return opposite values. The result follows the quaternion branch supplied by ``q``. Since ``q`` and ``-q`` represent the same orientation but different quaternion branches, they may produce signed angles that differ by ``2*pi``. :param axis: Twist axis. Expected to be normalized by the caller. :param q: Input quaternion in ``(x, y, z, w)`` layout. :returns: Signed twist angle in radians in ``[-2*pi, 2*pi]``. :rtype: float