Find orthogonal vector to current vector in 3D

Hi,

In 2D I know a simple answer: vector (a,b) is orthogonal to vector (-b,a)

Is there anyway similar to that to find an orthogonal vector in 3D?
 Blog Entries: 2 You can use the dot product. For example, if you have a vector v and want to find vector c that is orthogonal to v, then use the dot product and set it equal to 0. Example: v = (4,2,3) c = (x,y,z) = ? (i) Set the dot product to zero: = 4x + 2y + 3z = 0 (ii) Choose some values for x and y, e.g. x=0 and y=-3 (iii) Solve the equation in (i) for z: z = 1/3*(-4x-2y) = 1/3*(0+6) = 2 Result: c = (0,-3,2) --- Another possibility is to use the cross product. If vector v is given, choose some vector p (not parallel to v) and form the vector c = v x p. Example: v = (4,2,3) (i) Choose an arbitrary vector p (not parallel to v): p = (0,0,1) (ii) Form the vector c = v x p (cross product): c = (4,2,3) x (0,0,1) = (2,-4,0) --- Note that there are infinitely many vectors that are orthogonal to a given vector.
 Many thanks I knew dot and cross product, but because I write code so I need the simplest way to boost performance. As in 2D case I don't need to calculate anything, just use the trick. Also that it works for normalized vectors which doesn't need square root, a slow operation. I hope there are some tricks like that in 3D Regards

Recognitions: