How to get an new cartesian coordinate system in 3D, starting from one vector.

if N.j > Epsilon ( N et j not orthogonal ) => N
and k not parallel => k x N not null
Let's just define, arbitrarily, u
= k x N / || k x N ||
By construction, u is perpendicular to both k and N
then Let's define v = N x u / || N x u ||
With u and v, we've got an orthogonal basis (hamel basis) within
the plan normal to N
What if N and j are orthogonal ?
then N and j are not parallel => N x
j not null => u = N x j
What about continuity issues (would it
be better to use i : N x i ?)
An application : the envelope of a path