def random_orthonormal(normal):
u = normal_fns[np.argmin(np.fabs(normal))](normal)<EOL>u /= np.linalg.norm(u)<EOL>v = np.cross(normal, u)<EOL>v /= np.linalg.norm(v)<EOL>alpha = np.random.uniform(<NUM_LIT:0.0>, np.pi*<NUM_LIT:2>)<EOL>return np.cos(alpha)*u + np.sin(alpha)*v<EOL>
Return a random normalized vector orthogonal to the given vector