How to find orthogonal vector to an arbitrary 3 dimentional vector [duplicate]
$begingroup$
This question already has an answer here:
Determining the general perpendicular normal
4 answers
Given a vector $begin{bmatrix}a\b\cend{bmatrix}$ what is a simple solution to find any vector perpendicular to it?
linear-algebra geometry vectors
$endgroup$
marked as duplicate by amd, Alexander Gruber♦ Jan 17 at 23:21
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
add a comment |
$begingroup$
This question already has an answer here:
Determining the general perpendicular normal
4 answers
Given a vector $begin{bmatrix}a\b\cend{bmatrix}$ what is a simple solution to find any vector perpendicular to it?
linear-algebra geometry vectors
$endgroup$
marked as duplicate by amd, Alexander Gruber♦ Jan 17 at 23:21
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13
add a comment |
$begingroup$
This question already has an answer here:
Determining the general perpendicular normal
4 answers
Given a vector $begin{bmatrix}a\b\cend{bmatrix}$ what is a simple solution to find any vector perpendicular to it?
linear-algebra geometry vectors
$endgroup$
This question already has an answer here:
Determining the general perpendicular normal
4 answers
Given a vector $begin{bmatrix}a\b\cend{bmatrix}$ what is a simple solution to find any vector perpendicular to it?
This question already has an answer here:
Determining the general perpendicular normal
4 answers
linear-algebra geometry vectors
linear-algebra geometry vectors
edited Jan 17 at 15:14
George Vinokhodov
asked Jan 17 at 15:11
George VinokhodovGeorge Vinokhodov
112
112
marked as duplicate by amd, Alexander Gruber♦ Jan 17 at 23:21
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
marked as duplicate by amd, Alexander Gruber♦ Jan 17 at 23:21
This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13
add a comment |
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
If you have a (non zero) $2$-dimensional vector $begin{bmatrix}a\bend{bmatrix}$, the orthogonal vectors of it are the $lambda begin{bmatrix}-b\aend{bmatrix}$ where $lambda in mathbf{R}$.
So if you have a (non zero) $3$ dimensional vector $begin{bmatrix}a\b\cend{bmatrix}$ you have easily a lot of orthogonal vectors :
$lambda begin{bmatrix}-b\a\0end{bmatrix} + mubegin{bmatrix}0\-c\bend{bmatrix}+ nu begin{bmatrix}-c\0\aend{bmatrix} $
It is possible to check you generate all the orthogonal vectors to $begin{bmatrix}a\b\cend{bmatrix}$ like this (in reality, you just need two of them, but which ones you choose depends on the eventual annulations of $a$,$b$,$c$).
$endgroup$
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
add a comment |
$begingroup$
You can use $begin{bmatrix}b+c\c-a\-a-bend{bmatrix}$ vector.
Here is the verification: $begin{bmatrix}a\b\cend{bmatrix} . begin{bmatrix}b+c\c-a\-a-bend{bmatrix} = a(b+c) + b(c-a)+c(-a-b)=0$
The third orthogonal vector is found by taking a cross product of initial and derived vector.
Any linear combination of these two derived vectors are orthogonal to original one as well.
$endgroup$
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.
$endgroup$
– George Vinokhodov
Jan 17 at 21:33
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
If you have a (non zero) $2$-dimensional vector $begin{bmatrix}a\bend{bmatrix}$, the orthogonal vectors of it are the $lambda begin{bmatrix}-b\aend{bmatrix}$ where $lambda in mathbf{R}$.
So if you have a (non zero) $3$ dimensional vector $begin{bmatrix}a\b\cend{bmatrix}$ you have easily a lot of orthogonal vectors :
$lambda begin{bmatrix}-b\a\0end{bmatrix} + mubegin{bmatrix}0\-c\bend{bmatrix}+ nu begin{bmatrix}-c\0\aend{bmatrix} $
It is possible to check you generate all the orthogonal vectors to $begin{bmatrix}a\b\cend{bmatrix}$ like this (in reality, you just need two of them, but which ones you choose depends on the eventual annulations of $a$,$b$,$c$).
$endgroup$
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
add a comment |
$begingroup$
If you have a (non zero) $2$-dimensional vector $begin{bmatrix}a\bend{bmatrix}$, the orthogonal vectors of it are the $lambda begin{bmatrix}-b\aend{bmatrix}$ where $lambda in mathbf{R}$.
So if you have a (non zero) $3$ dimensional vector $begin{bmatrix}a\b\cend{bmatrix}$ you have easily a lot of orthogonal vectors :
$lambda begin{bmatrix}-b\a\0end{bmatrix} + mubegin{bmatrix}0\-c\bend{bmatrix}+ nu begin{bmatrix}-c\0\aend{bmatrix} $
It is possible to check you generate all the orthogonal vectors to $begin{bmatrix}a\b\cend{bmatrix}$ like this (in reality, you just need two of them, but which ones you choose depends on the eventual annulations of $a$,$b$,$c$).
$endgroup$
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
add a comment |
$begingroup$
If you have a (non zero) $2$-dimensional vector $begin{bmatrix}a\bend{bmatrix}$, the orthogonal vectors of it are the $lambda begin{bmatrix}-b\aend{bmatrix}$ where $lambda in mathbf{R}$.
So if you have a (non zero) $3$ dimensional vector $begin{bmatrix}a\b\cend{bmatrix}$ you have easily a lot of orthogonal vectors :
$lambda begin{bmatrix}-b\a\0end{bmatrix} + mubegin{bmatrix}0\-c\bend{bmatrix}+ nu begin{bmatrix}-c\0\aend{bmatrix} $
It is possible to check you generate all the orthogonal vectors to $begin{bmatrix}a\b\cend{bmatrix}$ like this (in reality, you just need two of them, but which ones you choose depends on the eventual annulations of $a$,$b$,$c$).
$endgroup$
If you have a (non zero) $2$-dimensional vector $begin{bmatrix}a\bend{bmatrix}$, the orthogonal vectors of it are the $lambda begin{bmatrix}-b\aend{bmatrix}$ where $lambda in mathbf{R}$.
So if you have a (non zero) $3$ dimensional vector $begin{bmatrix}a\b\cend{bmatrix}$ you have easily a lot of orthogonal vectors :
$lambda begin{bmatrix}-b\a\0end{bmatrix} + mubegin{bmatrix}0\-c\bend{bmatrix}+ nu begin{bmatrix}-c\0\aend{bmatrix} $
It is possible to check you generate all the orthogonal vectors to $begin{bmatrix}a\b\cend{bmatrix}$ like this (in reality, you just need two of them, but which ones you choose depends on the eventual annulations of $a$,$b$,$c$).
answered Jan 17 at 15:21
DLeMeurDLeMeur
3148
3148
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
add a comment |
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
There are some trivial terms that might appear in my sum ; still you get every time all the othogonal vectors. If a=0, b=0, c=1 you have all the orthogonal vectors by choosing $lambda$ = 0 and $mu, nu$ varying in $mathbf{R}$ (so you don't need $lambda$ in this case). If it was a=1, b=0, c=0, it is $mu$ that is not needed.
$endgroup$
– DLeMeur
Jan 17 at 15:32
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
$begingroup$
This trio of vectors is actually of rank 2 (consider $lambda=c$, $mu = a$, and $nu = -b$), so you need to take care that your parameters aren't part of the kernel.
$endgroup$
– Dan Uznanski
Jan 17 at 15:33
add a comment |
$begingroup$
You can use $begin{bmatrix}b+c\c-a\-a-bend{bmatrix}$ vector.
Here is the verification: $begin{bmatrix}a\b\cend{bmatrix} . begin{bmatrix}b+c\c-a\-a-bend{bmatrix} = a(b+c) + b(c-a)+c(-a-b)=0$
The third orthogonal vector is found by taking a cross product of initial and derived vector.
Any linear combination of these two derived vectors are orthogonal to original one as well.
$endgroup$
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.
$endgroup$
– George Vinokhodov
Jan 17 at 21:33
add a comment |
$begingroup$
You can use $begin{bmatrix}b+c\c-a\-a-bend{bmatrix}$ vector.
Here is the verification: $begin{bmatrix}a\b\cend{bmatrix} . begin{bmatrix}b+c\c-a\-a-bend{bmatrix} = a(b+c) + b(c-a)+c(-a-b)=0$
The third orthogonal vector is found by taking a cross product of initial and derived vector.
Any linear combination of these two derived vectors are orthogonal to original one as well.
$endgroup$
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.
$endgroup$
– George Vinokhodov
Jan 17 at 21:33
add a comment |
$begingroup$
You can use $begin{bmatrix}b+c\c-a\-a-bend{bmatrix}$ vector.
Here is the verification: $begin{bmatrix}a\b\cend{bmatrix} . begin{bmatrix}b+c\c-a\-a-bend{bmatrix} = a(b+c) + b(c-a)+c(-a-b)=0$
The third orthogonal vector is found by taking a cross product of initial and derived vector.
Any linear combination of these two derived vectors are orthogonal to original one as well.
$endgroup$
You can use $begin{bmatrix}b+c\c-a\-a-bend{bmatrix}$ vector.
Here is the verification: $begin{bmatrix}a\b\cend{bmatrix} . begin{bmatrix}b+c\c-a\-a-bend{bmatrix} = a(b+c) + b(c-a)+c(-a-b)=0$
The third orthogonal vector is found by taking a cross product of initial and derived vector.
Any linear combination of these two derived vectors are orthogonal to original one as well.
edited Jan 17 at 15:24
answered Jan 17 at 15:11
George VinokhodovGeorge Vinokhodov
112
112
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.
$endgroup$
– George Vinokhodov
Jan 17 at 21:33
add a comment |
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.
$endgroup$
– George Vinokhodov
Jan 17 at 21:33
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
$begingroup$
Nice one. You should just emphasize that it's not unique.
$endgroup$
– Andrei
Jan 17 at 15:13
1
1
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
as @dan-uznanski pointed, in another answer, this example doesn't work for some particular values.
$endgroup$
– George Vinokhodov
Jan 17 at 20:52
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)
There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.$endgroup$
– George Vinokhodov
Jan 17 at 21:33
$begingroup$
And since (en.wikipedia.org/wiki/Hairy_ball_theorem)
There is no single continuous function that can generate a vector in R3 that is orthogonal to a given one for all vector inputs.
so it seems it is impossible to construct one elegant universal solution.$endgroup$
– George Vinokhodov
Jan 17 at 21:33
add a comment |
$begingroup$
In numerical calculations, approaches like "swap the largest and smallest components in magnitude, negating the largest one in magnitude, then orthogonalize (one step of Gram-Schmidt)", can be used.
$endgroup$
– Nominal Animal
Jan 18 at 17:13