Tengo un sistema de coordenadas 2D definido por dos ejes no perpendiculares. Deseo convertir un sistema de coordenadas cartesianas (rectangulares) estándar en el mío. ¿Algún consejo sobre cómo hacerlo?
Respuestas
¿Demasiados anuncios?Denotemos por "antiguo" el sistema cartesiano habitual con ejes ortogonales y por "nuevo" el sistema con los ejes oblicuos $(\alpha_1, \alpha_2)^T, (\beta_1, \beta_2)^T$ (expresado en el sistema antiguo). Un vector antiguo $(x,y)^T$ puede expresarse como una combinación lineal de los vectores de inclinación: $$ \left( \begin{array}{c} x \\ y \end{array}\right) = a \left( \begin{array}{c} \alpha_1 \\ \alpha_2\end{array}\right) + b \left( \begin{array}{c} \beta_1 \\ \beta_2\end{array}\right) = \left( \begin{array}{cc} \alpha_1 & \beta_1 \\ \alpha_2 & \beta_2 \end{array} \right) \left( \begin{array}{c} a \\ b \end{array}\right) = A \left( \begin{array}{c} a \\ b \end{array}\right) $$ Utilizando esta ecuación podemos transformar los vectores del nuevo sistema sesgado al antiguo sistema ortogonal. Nótese que las columnas de la matriz A se construyen a partir de las coordenadas de los vectores de la base inclinada.
Para transformar el antiguo sistema ortogonal en el nuevo sistema oblicuo tenemos que invertir la ecuación anterior y obtenemos:
\begin{equation} \left( \begin{array}{c} a \\ b \end{array} \derecha) = A^{-1} \left( \begin{array}{c} x \\ y \end{array} \derecha) = \frac{1}{alpha_1 \beta_2 - \alpha_2 \beta_1} \frac{1}{alpha_1} - \frac{2}{beta_1} \begin{array}{cc} \beta_2 & -\beta_1 \\ -\alpha_2 & \alpha_1 \end{array} \derecha) \izquierda( \begin{array}{c} x \\ y \end{array} \derecha) \fin{según la ecuación}
La matriz inversa anterior $A^{-1}$ debe calcularse una vez y luego utilizarse para la transformación de todos los puntos necesarios. La inversión es posible cuando el denominador respectivo no es cero, es decir, cuando los nuevos ejes de inclinación no son paralelos.
Voy a suponer que:
-
El coordenada oblicua sistema $(u,v)$ con ángulo $\varphi$ y el sistema cartesiano $(x,y)$ comparten un origen.
-
Eje $u$ y $v$ comparten la misma unidad de longitud con el sistema cartesiano.
Considere el siguiente diagrama:
Tenemos a la vez la relación $x=u+h$ . El ángulo agudo formado por el $v$ -eje y $h$ es $\varphi$ ya que los ángulos interiores alternos en un par de rectas paralelas son congruentes. Utilizamos la trigonometría para deducir la relación $y=h\tan\,\varphi$ . Eliminación de $h$ da la ecuación para $u$ : $u=x-y\cot\,\varphi$ .
Para encontrar una expresión para $v$ vemos que esta longitud es igual a la longitud de la hipotenusa del triángulo rectángulo con catetos $y$ y $h$ . Esto nos lleva a la ecuación $y=v\sin\,\varphi$ . Resolver para $v$ da la ecuación $v=y\csc\,\varphi$ .
Así, las fórmulas de conversión de coordenadas cartesianas a oblicuas con ángulo $\varphi$ son
$$\begin{align*}u&=x-y\cot\,\varphi\\v&=y\csc\,\varphi\end{align*}$$
Para completar, las fórmulas de conversión de coordenadas oblicuas a cartesianas son
$$\begin{align*}x&=u+v\cos\,\varphi\\y&=v\sin\,\varphi\end{align*}$$
Claro. Abordemos esto de una manera muy elemental: con álgebra matricial.
Supongamos que nuestros dos nuevos "vectores base" vienen dados por $ (\alpha _1, \alpha _2)$ y $(\beta _1, \beta_2)$ Por ejemplo $(1,1)$ y $(1,0)$ .
Entonces nuestro objetivo es encontrar una combinación lineal de ellos tal que podamos expresar algún vector dado, que denotaremos imaginativamente como $(x, y)$ . En particular, esto nos permitirá encontrar dónde está un punto estándar en nuestro nuevo sistema de coordenadas no estándar.
Pero esto no es más que resolver el sistema: $$ \left( \begin{array}{cc} \alpha_1 & \beta_1 \\ \alpha_2 & \beta_2 \end{array} \right) \left( \begin{array}{c} a \\ b \end{array}\right)= \left( \begin{array}{c} x \\ y\end{array}\right)$$ para los valores desconocidos de a y b. En particular, esto significa que si la matriz es invertible (lo que significa que sus ejes no son paralelos), entonces usted puede encontrar inmediatamente dónde están los puntos particulares en su sistema.
¿Es eso lo que buscabas?
0 votos
1. ¿Cuál es el ángulo entre sus ejes? 2. ¿Su sistema comparte un origen con el cartesiano?
0 votos
El ángulo entre los ejes es arbitrario. Si ayuda, podrían compartir un origen con el cartesiano.
0 votos
En ese caso...
0 votos
En el marco cartesiano estándar, la base es $e_1,e_2$ . Elija $I=(e_1,e_2)$ . Ahora su base es $a_1,a_2$ , elija $A=(a_1,a_2)$ . Entonces la relación entre la nueva coordenada $x'$ y el viejo $x$ es $Ix=Ax'$ . Así que $x'=A^{-1}x$