The problem of smooth, one-to-one assignment of colors to orientations is tantamount to embedding the real projective plane (RP2) in three space, which does not exist (RP2 is a non-orientable closed surface).

Matlab code for basic rp2 immersion based coloring