newton.utils.quat_between_vectors_robust#

newton.utils.quat_between_vectors_robust(from_vec, to_vec, eps=1.0e-8)[source]#

Robustly compute the quaternion that rotates from_vec to to_vec.

This is a safer version of warp.quat_between_vectors() that handles the anti-parallel (180-degree) singularity by selecting a deterministic axis orthogonal to from_vec.

Parameters:
  • from_vec (vec3f) – Source vector (assumed normalized).

  • to_vec (vec3f) – Target vector (assumed normalized).

  • eps (float) – Tolerance for parallel/anti-parallel checks.

Returns:

Rotation quaternion q such that q * from_vec = to_vec.

Return type:

wp.quat