Simple way to parameterize two perpendicular vectors

367 Views Asked by At

Given are two vectors in $\mathbb{R}^3$, $\bar{u}$ and $\bar{v}$, such that they are perpendicular ($\bar{u}\cdot\bar{v}=0$) and of equal length ($|\bar{u}|=|\bar{v}|$).

Is there a "nice" way to parameterize these vectors?

Obviously, there should be only 4 parameters involved, but if one tries to just express $v_z$ and $u_z$ in terms of $u_x, u_y, v_x, v_y$, a rather ugly expression is arrived at. It seems a geometrically inspired parameterization where one of the parameters is the vector length should do the trick, but I can't seem to think of one that doesn't involve even more complicated expressions such as those arrived at using spherical coordinates.

Any ideas?

3

There are 3 best solutions below

0
On BEST ANSWER

There is no simple parametrization, because this is not such a simple object. The set of ordered pairs of orthogonal unit vectors is naturally identified with the unit tangle bundle of $S^2$: $u$ determines a point on the sphere, and $v$ is a tangent vector at that point. This bundle can be identified with $SO(3)$ or $\mathbb RP^3$: see the answers at The circle bundle of $S^2$ and real projective space. I think that using unit quaternions (as Stephen Montgomery-Smith suggested) is about as simple parametrization as you could get.

1
On

Maybe this isn't quite what you want, but this looks like it should just be $\mathbb{R}^{> 0} \times S^2 \times S^1$, if you don't allow the zero vector anyways.

Namely, you fix a radius $r> 0$, then a point on the sphere of radius $r$ about the origin $S^2$, and then pick a point perpendicular to it, which lies on $S^2 \cap$ the perpendicular hyperplane, a.k.a. $S^1$.

1
On

How about this? Any rotation can be represented by a unit quaternion: http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

So take any quaternion, calculate its norm $s$, divide the quaternion by $s$, code it into a rotation $R$, and then take $u$ and $v$ to be the first two columns of $R$ multiplied by $s$.

The processes of coding a rotation by a quaternion is quite subtle, but it is very clever. And I believe the graphics card industry use it.