Tengo un sistema de coordenadas local dado definido por esta ecuación:
es el vector de compensación. Al observar el sistema de coordenadas global, el origen del sistema local está en .
, y son cada uno de los componentes de las coordenadas locales. Esto significa que el vector de coordenadas local sería .
es el vector de coordenadas globales correspondiente al vector de coordenadas local . Esto hace que la conversión de coordenadas locales a coordenadas globales sea muy fácil. Mi problema es con la conversión de coordenadas globales a locales.
Puede determinar el vector de coordenadas locales de las coordenadas globales resolviendo el siguiente sistema de ecuaciones lineales (usando el algoritmo de Gauss o algo similar):
El problema que tengo es que este cálculo debe realizarse varias veces por segundo en un microcontrolador relativamente débil. No tiene el poder de cálculo para ejecutar Gauss cada vez. ¿Hay alguna forma en que pueda calcular las coordenadas locales más fácilmente que esto (por ejemplo, calculando una matriz de transformación para este sistema de coordenadas)?
Considere la matriz
Por su suposición, ya que son de longitud unitaria y perpendiculares, la matriz es unitario (entonces ). La transformación de coordenadas locales a coordenadas globales viene dada por
Entonces la transformación inversa viene dada por
Pero desde es unitario, lo sabes entonces
emilio s
amd
levantar