Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Defining an Arbitrary Axis

  1. Jun 24, 2012 #1

    I'm trying to define an axis as a set of 3 unit vectors--u, v, and w. at a given point P

    Suppose we are given the following vector u. From this vector u, we must define a plane such that u is normal to the plane. This plane will be represented by two perpendicular vectors v and w.

    There are infinite many solutions to this problem; however, I am writing a computer program to do this, so step by step algorithm is needed. I know that once we find v, w will be the cross product of u and v.

    My problem is to find v.

    Any suggestions?
    -Matt =)
    Last edited: Jun 24, 2012
  2. jcsd
  3. Jun 24, 2012 #2
    So, what I've found out is that a vector u is perpendicular to a vector v if and only if the dot product is equal to 0. That being said, a particular solution would be the following:

    Dot Product Equation: u1v1 + u2v2 + u3v3

    Step one: Find the first non-zero component of u--let's call this ua and name the remaining components ub and uc.

    That is (ua)(va) + (ub)(vb) + (uc)(vc) = 0; ua != 0

    Step two: Set components vb and vc to any non-zero value. (I will choose vb = vc = 1)

    That is (ua)(va) + ub + uc = 0

    Step three: solve for va.

    va = (-ub -uc)/ua

    Step four: Make ua, ub, and uc a unit vector by dividing each component by the length of v-- sqrt (va^2 + vb^2 + vc^2).

    Hope this helps =)
  4. Jun 24, 2012 #3
    I believe you've rediscovered the Gram-Schmidt orthonormalization procedure.

    All you need here is the vector u and a basis of three vectors that you already know span the space--x, y, and z.

    Your first basis vector is [itex]u[/itex]. The second basis vector is [itex]v = x - \hat u \cdot x[/itex]. The third basis vector is [itex]w = y - \hat u \cdot y - \hat v \cdot y[/itex]. These vectors all need to be normalized when you're done, and in general, you need three vectors (x, y, and z) in case one of these vectors is aligned perfectly with u or v, but this can be handled simply.
  5. Jun 25, 2012 #4
    If I understood correctly you have a vector at a point and you want the plane that passes through that point and in normal to the vector, right? I am also not sure why you would need 2 normal vectors to define the plane.

    The general equation of a plane is [itex]f(x,y,z)=ax+by+cz+d=0[/itex]. You need three equations to find the constants.

    The first is that the plane is passing through the vector origin, which gives you "d".

    Now, your normal vector is [itex]\nabla f=ai+bj+ck[/itex]. This is the vector that you already have, which means that the plane's coefficients a,b,c are simply the components of your vector. There is not even a need to find the unit normal :wink:

    If all you want is the axis that the vector defines, you can always dot product it with i,j,k to find its components, and you get the axis in vector form directly.
    Last edited: Jun 25, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook