Find orthogonal vector to current vector in 3D

Click For Summary
To find an orthogonal vector in 3D, the dot product can be utilized by setting <v,c> equal to zero, allowing for the selection of arbitrary values for two components and solving for the third. For example, given vector v = (4,2,3), one can choose x=0 and y=-3 to find c = (0,-3,2). Alternatively, the cross product can be used by selecting a non-parallel vector p to compute c = v x p, resulting in another orthogonal vector. There are infinitely many orthogonal vectors in 3D, and simple tricks similar to those in 2D can be applied, although achieving a unit vector may require more complex calculations. Overall, while there are efficient methods to find orthogonal vectors, the need for unit vectors introduces additional computational considerations.
lemd
Messages
31
Reaction score
0
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?
 
Mathematics news on Phys.org
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 <v,c> and set it equal to 0.

Example:
v = (4,2,3)
c = (x,y,z) = ?

(i) Set the dot product to zero:
<v,c> = 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
 
There isn't a unique vector orthogonal to a given vector in 3D. If the vector doesn't need to have any other properties, the same "trick" works. A vector orthogonal to (a, b, c) is (-b, a, 0), or (-c, 0, a) or (0, -c, b).

But if you want a unit orthogonal vector, you will have to use something like a square root.
 
Last edited:
Here is a little puzzle from the book 100 Geometric Games by Pierre Berloquin. The side of a small square is one meter long and the side of a larger square one and a half meters long. One vertex of the large square is at the center of the small square. The side of the large square cuts two sides of the small square into one- third parts and two-thirds parts. What is the area where the squares overlap?

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 8 ·
Replies
8
Views
2K
  • · Replies 9 ·
Replies
9
Views
2K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 73 ·
3
Replies
73
Views
7K
  • · Replies 2 ·
Replies
2
Views
2K
Replies
16
Views
3K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 1 ·
Replies
1
Views
2K