84 votos

¿Cómo encontrar un vector perpendicular a otro vector?

¿Cómo puedo encontrar un vector perpendicular a un vector como este: $$3\mathbf{i}+4\mathbf{j}-2\mathbf{k}?$$ ¿Alguien me lo puede explicar, por favor?

Tengo una solución para esto cuando tengo $3\mathbf{i}+4\mathbf{j}$, pero no pude resolverlo si tengo $3$ componentes...

Cuando busqué en Google, vi la solución directa pero no encontré un proceso o método a seguir. Por favor, házmelo saber la forma de hacerlo. Gracias.

13 votos

Seleccione dos coordenadas, cámbielas, agregue un signo menos y complete con ceros. Por ejemplo: seleccionar i y j podría dar como resultado 4i-3j, seleccionar i y k podría dar como resultado 2i+3k, y seleccionar j y k podría dar como resultado 2j+4k.

0 votos

@Didier gracias por hacerme saber, pero como dijiste, tenemos 3 soluciones. 4i-3j, 2i+3k, 2j+4k no es un solo vector. Necesito un vector algo como ai+bj+ck que sea perpendicular a otro vector. Lo siento, pero acabo de empezar a aprender vectores.

0 votos

$2j+4k=0i+2j+4k$.

61voto

codified Puntos 462

Existen un número infinito de vectores en 3 dimensiones que son perpendiculares a uno fijo. Solo deben satisfacer la siguiente fórmula: $$(3\mathbf{i}+4\mathbf{j}-2\mathbf{k}) \cdot v=0$$

Para encontrar todos ellos, simplemente elige 2 vectores perpendiculares, como $v_1=(4\mathbf{i}-3\mathbf{j})$ y $v_2=(2\mathbf{i}+3\mathbf{k})$ y cualquier combinación lineal de ellos también es perpendicular al vector original: $$v=((4a+2b)\mathbf{i}-3a\mathbf{j}+3b\mathbf{k}) \hspace{10 mm} a,b \in \mathbb{R}$$

0 votos

¿Cómo se llama este tipo de notación? Nunca he visto un vector definido como $(3i + 4j - 2k)$. La notación que he visto hasta ahora sería $\left(\begin{array}{c}3\\4\\2\end{array}\right)$, por lo tanto no entiendo realmente tu respuesta. :(

3 votos

Hay muchas posibles notaciones, elijo usar la misma notación de la pregunta, pero otras opciones también son buenas. $i$,$j$,$k$ se refiere a los vectores $(1,0,0)$, $(0,1,0)$ y $(0,0,1)$, por lo que es básicamente lo mismo después de realizar la multiplicación vector-escalar.

1 votos

@NiklasR Dado que querías un nombre, $\mathbf{i}$, $\mathbf{j}$ y $\mathbf{k}$ se llaman los Cuaterniones Hamiltonianos (clásicos).

36voto

R K Sinha Puntos 381

Toma el producto cruz con cualquier vector. Obtendrás un vector de este tipo.

38 votos

A menos que ese otro vector sea paralelo al vector original, en cuyo caso obtendrás $(0,0,0)$

2 votos

O que el otro vector es (0, 0, 0)

3 votos

Tomar cualquier vector a ciegas es arriesgado. Porque puede ser paralelo o casi paralelo, lo que resulta en una precisión deficiente.

20voto

Mathbreaker Puntos 53

Un problema relacionado es construir un algoritmo que encuentre un vector perpendicular no nulo sin ramificación. Si el vector de entrada es N = (a,b,c), entonces siempre podrías elegir T = (c,c,-a-b) pero T será cero si N=(-1,1,0). Siempre podrías verificar si T es cero, y luego elegir T = (-b-c,a,a) si lo es, pero esto requiere una prueba y una bifurcación. No puedo ver cómo hacer esto sin la prueba y la bifurcación.

0 votos

Una de las pocas respuestas donde el autor entendió la pregunta. Ahora solo necesitamos una solución.

0 votos

He publicado una solución que no necesita una prueba y rama para un vector normalizado. Para un vector no normalizado solo requiere una prueba y rama para verificar si el vector completo es nulo.

0 votos

Propuse un enfoque diferente donde obtener el vector no requiere operaciones aritméticas (hay una solución trivial), y la responsabilidad recae en asegurarse de obtener un valor distinto de cero.

8voto

Leon Katsnelson Puntos 274

Solo necesitas encontrar cualquier vector $v \neq 0$ tal que $v \cdot (3\mathbf{i}+4\mathbf{j}-2\mathbf{k}) = 0$.

No hay una solución única, cualquiera servirá. Para ahorrar escritura, vamos a tomar $p = 3\mathbf{i}+4\mathbf{j}-2\mathbf{k}$.

Elige un vector $x$ que no esté en la línea que pasa por el origen y por $p$. Por ejemplo, toma $x = 3\mathbf{i}$.

Construye un vector perpendicular a $p de la siguiente manera: Encuentra un valor de $t$ tal que $(x+t p) \cdot p = 0$. Entonces el vector $v=x+t p$ será perpendicular a $p$.

En mi ejemplo, $(x+t p) = (3 + 3 t)\mathbf{i}+4 t \mathbf{j}-2t\mathbf{k}$, y $(x+t p) \cdot p = 9 + 29 t$. Al elegir $t=-\frac{9}{29}$, el vector $v=x+t p$ ahora es perpendicular a $p$.

0 votos

El vector cero es perpendicular a cualquier vector.

1 votos

@MichaelHoppe: ¿Cuál es tu punto?

0 votos

Estoy preguntándome por qué excluiste la solución (trivial) $v=0$.

3voto

Una solución sugerida sin una rama podría ser: Construir un array de 2 elementos vectoriales de la siguiente manera:

arr[0] = (c, c, -a-b) arr[1] = (-b-c, a, a)
int selectIndex = ((c != 0) && (-a != b)) // esto no es una rama
perpendicularVector = arr[selectIndex]

Si (c, c, -a-b) es cero, selectIndex es 1 y se seleccionará el otro vector.

0 votos

Clever -- Me gusta.

1 votos

Hay un error: Entrada (0, 0.707, -0.707); Salida (0,0,0)

2 votos

¿Cómo se realiza && sin usar una rama? El Operador AND Lógico dice "El segundo operando se evalúa solo si el primer operando se evalúa como verdadero (distinto de cero).". Eso implica una rama (para evitar evaluar el segundo operando). Para evitar una rama, debes usar & en su lugar. Sugiere ese cambio como una edición. [No puedo realizar la edición, ya que es solo un solo carácter; las ediciones de menos de 6 caracteres son rechazadas. No voy a agregar caracteres falsos solo para enviar la corrección.]

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X