8 votos

¿Ecuación de la proyección no ortogonal de un punto sobre dos vectores que representan el eje isométrico?

Supongamos que tengo dos vectores que no son ortogonales (digamos, una cuadrícula isométrica) que representan el nuevo eje. Supongamos que quiero proyectar un punto sobre estos dos vectores, ¿cómo lo hago? El producto punto sólo funciona para proyectar un punto ortogonalmente sobre un vector, pero ahora quiero proyectar un punto de forma que no esté sobre la línea ortogonal, sino respetado a otro vector.

Por ejemplo, he encontrado esta imagen en la wikipedia: http://en.wikipedia.org/wiki/Projection_(linear_algebra)#Clasificación

Supongamos que tengo dos vectores que apuntan en la misma dirección que la línea k y m. Si quiero proyectar un punto sobre el eje m, quiero proyectarlo de manera que siga a lo largo de k sobre m, no ortogonalmente. Entonces puedo tener como nuevo eje k y m, y todos los puntos se proyectarán respetando estos dos vectores.

14voto

bubba Puntos 16773

Llamemos a sus dos vectores "eje" $U$ y $V$ . La buena gente de aquí probablemente los llamaría vectores "base". Y supongamos que tenemos algún otro vector $W$ que se encuentra en el plano de $U$ y $V$ que quieres descomponer.

Esencialmente, quieres encontrar dos números $h$ y $k$ tal que $$W = hU + kV$$ El vector $hU$ será la proyección de $W$ en el $U$ -en una dirección paralela a $V$ y $kV$ será la proyección de $W$ en el $V$ -en una dirección paralela a $U$ . Haz un dibujo y verás por qué es así.

Tomar los productos punto de la ecuación anterior con $U$ y $V$ a su vez, obteniendo $$h(U \cdot U) + k(U \cdot V) = W \cdot U$$ $$h(V \cdot U) + k(V \cdot V) = W \cdot V$$ Ahora tienes dos ecuaciones simultáneas para $h$ y $k$ que son fáciles de resolver (utilizando la regla de Cramer, por ejemplo).

Por supuesto, todo esto es mucho más fácil si $U$ y $V$ son perpendiculares, porque entonces
$U \cdot V$ es cero. Si $U$ y $V$ tienen longitudes unitarias, se hace aún más fácil, porque entonces $U \cdot U$ y $V \cdot V$ son ambos iguales a 1.

4voto

dodgy_coder Puntos 101

Basándose directamente en la respuesta de bubba, en forma de matriz se puede calcular haciendo $$Y = \left(M^TM\right)^{-1}M^TW$$ donde $M=\left\{\begin{matrix} U \;\Big\vert\; V \end{matrix}\right\}$ es la matriz que contiene los vectores base y $Y=\left\{\begin{matrix} h\\ k \end{matrix}\right\}$ es la proyección de $W$ (su vector original) sobre dicha base.

3voto

kamatama Puntos 23

Esta proyección sobre dos vectores no ortogonales puede calcularse de forma más sencilla mediante el producto cruzado. Sabemos que el producto cruzado de un vector consigo mismo da como resultado el vector cero. Esto se utiliza para filtrar ambos coeficientes.

Supongamos que tenemos tres vectores $\textbf{v}_1$ , $\textbf{v}_2$ y $\textbf{v}_3$ todos ellos situados en el plano definido por el vector unitario perpendicular $\textbf{n}_z$ . Ahora queremos encontrar la proyección del vector $\textbf{v}_1$ en $\textbf{v}_2$ y $\textbf{v}_3$ tal que:

$$\textbf{v}_1=α\textbf{v}_2+β\textbf{v}_3$$

Utilizando el producto cruzado de ambos vectores base obtenemos dos ecuaciones:

$$\textbf{v}_2×\textbf{v}_1=α\textbf{v}_2×\textbf{v}_2+β\textbf{v}_2×\textbf{v}_3$$ $$\textbf{v}_3×\textbf{v}_1=α\textbf{v}_3×\textbf{v}_2+β\textbf{v}_3×\textbf{v}_3 $$ Como el producto cruzado consigo mismo es cero, podemos escribir: $$\textbf{v}_2×\textbf{v}_1=β\textbf{v}_2×\textbf{v}_3$$ $$\textbf{v}_3×\textbf{v}_1=α\textbf{v}_3×\textbf{v}_2 $$ Ahora se pueden extraer los coeficientes, por ejemplo, utilizando el hecho de que los productos cruzados son perpendiculares al plano definido por $\textbf{n}_z$ . El producto punto del vector normal del plano mapea al escalar: $$\textbf{n}_z\cdot (\textbf{v}_2×\textbf{v}_1 )=β\textbf{n}_z\cdot (\textbf{v}_2×\textbf{v}_3)$$ $$\textbf{n}_z\cdot (\textbf{v}_3×\textbf{v}_1)=α\textbf{n}_z\cdot (\textbf{v}_3×\textbf{v}_2) $$ El resultado es el siguiente sistema: $$\alpha = \frac{\textbf{n}_z\cdot (\textbf{v}_3×\textbf{v}_1)}{\textbf{n}_z \cdot (\textbf{v}_3×\textbf{v}_2)}$$ $$ \beta = \frac{\textbf{n}_z\cdot (\textbf{v}_2×\textbf{v}_1)}{\textbf{n}_z \cdot (\textbf{v}_2×\textbf{v}_3)}$$

Lo bueno es que esto también funciona para vectores de longitud no unitaria y no necesitamos inversiones de matrices.

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