newton.math.orthonormal_basis#

newton.math.orthonormal_basis(n)[source]#

Build an orthonormal basis from a normal vector.

Given a (typically unit-length) normal vector n, this returns two tangent vectors b1 and b2 such that:

\[b_1 \cdot n = 0,\quad b_2 \cdot n = 0,\quad b_1 \cdot b_2 = 0,\quad \|b_1\|=\|b_2\|=1.\]
Parameters:

n (vec3f) – Normal vector (assumed to be close to unit length).

Returns:

Orthonormal tangent vectors (b1, b2).

Return type:

Tuple[wp.vec3, wp.vec3]