Best way to find orthonormal vector What is the easiest method to find two vectors that make an orthonormal basis with a given vector?
For example, I have a vector
\begin{pmatrix}
2^{-1/2} \\
-2^{-1/2} \\
0
\end{pmatrix}
I understand that we need to find two unit vectors with cross product 0 with the original vector.

The Gram-Schmidt process is the standard text-book technique in any vector space.
In 3D, there is another way that I think is easier.
Let's use $\vec u$ to denote the given vector.
(1) Choose some other vector $\vec x$ that is not parallel to $\vec u$. A good choice is to set $\vec x$ equal to one of the coordinate axis vectors $(1,0,0)$, $(0,1,0)$ or $(0,0,1)$. If you're concerned about numerical stability, choose the one that is most nearly perpendicular to $\vec u$.
(2) Let $\vec v$ be a unit vector in the direction of $\vec u \times \vec x$. So, you compute $\vec u \times \vec x$ and then unitize it.
(3) Let $\vec w = \vec u \times \vec v$.
Then $\vec u$, $\vec v$, $\vec w$ form an orthonormal set.
