Re: Generating Two Unit Orthogonal Vectors to a 3D Vector

*To*: mathgroup at smc.vnet.net*Subject*: [mg36360] Re: Generating Two Unit Orthogonal Vectors to a 3D Vector*From*: Tom Burton <tburton at brahea.com>*Date*: Tue, 3 Sep 2002 01:41:02 -0400 (EDT)*Sender*: owner-wri-mathgroup at wolfram.com

Adding my two cents to: On 9/2/02 1:30 AM, in article akv7s5$fl8$1 at smc.vnet.net, "David Park" <djmp at earthlink.net> wrote: > There are many cases in graphics, and otherwise, where it is useful to > obtain two orthogonal unit vectors to a given vector. I know a number of > ways to do it, but they all seem to be slightly inelegant. I thought I would > pose the problem to MathGroup. Who has the most elegant Mathematica > routine... To this I would like to add a criterion of smoothness. Armed with a second vector b not parallel to the given vector a, it's a trivial matter to orthogonalize b WRT a by Gram-Schmidt and then form the third vector c = a x b. (Normalize as needed.) I don't need more elegance that this, but I would like a scheme to select the vector b that results in a triad {a,b,c} that various smoothly as "a" varies over all possible directions. Each of my attempts to date involve a branched algorithm and jumps in the resulting triad for certain small changes in "a". To David's call for elegance I add a call for smoothness. Tom Burton