2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 11:41 
Аватара пользователя
Споткнулась на ровном месте.

Есть последовательность поворотов: матрицы $M_x, M_y, M_z$, которые поворачивают систему координат вокруг осей $OX, OY$ и $OZ$ соответственно. Вектор в исходной системе координат $a$, в повернутой – $a'$. Справедливы равенства:
$M_x \cdot M_y \cdot M_z \cdot a = a'\\
a = M_z^T \cdot M_y^T \cdot M_x \cdot a'$

Известно, что умножение матриц не коммутативно и переставлять их местами нельзя. Не меняя порядка хотелось бы разбить повороты на два вектора и добиться их совпадения. Но при этом векторы $M_x \cdot M_y \cdot a$ и $M_z^T \cdot a'$ не совпадают. Почему так происходит и как добиться их совпадения?

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 13:36 
GreenEkatherine в сообщении #1051191 писал(а):
Не меняя порядка хотелось бы разбить повороты на два вектора и добиться их совпадения
:shock:
GreenEkatherine в сообщении #1051191 писал(а):
векторы $M_x \cdot M_y \cdot a$ и $M_z^T \cdot a'$ не совпадают
А с какого, стесняюсь спросить, рожна им бы совпадать?
$a'=M_x \cdot M_y\cdot M_z \cdot a$
$M_x^T \cdot a'=M_y\cdot M_z \cdot a$
$M_x^T \cdot M_y^T\cdot a'=M_z \cdot a$
$M_x^T \cdot M_y^T\cdot M_z^T \cdot a'=a$
Всё остальное — от лукавого.

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 13:37 
Аватара пользователя
GreenEkatherine в сообщении #1051191 писал(а):
разбить повороты на два вектора

Повороты задаются матрицами. Что значит "разбить повороты на вектора"?
Статья из Вики о перестановочности поворотов уже изучена?

-- 07.09.2015, 14:40 --

iifat в сообщении #1051231 писал(а):
$a'=M_x \cdot M_y\cdot M_z \cdot a$
$M_x^T \cdot a'=M_y\cdot M_z \cdot a$
$M_x^T \cdot M_y^T\cdot a'=M_z \cdot a$
$M_x^T \cdot M_y^T\cdot M_z^T \cdot a'=a$

А по моему и здесь сокрыто лукавство...

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 13:42 
Аватара пользователя
GreenEkatherine в сообщении #1051191 писал(а):
Не меняя порядка хотелось бы разбить повороты на два вектора и добиться их совпадения.

Не меняя порядка чего?
При разбитии поворота получаются векторы?
Добиться совпадения поворотов или векторов или чего?

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 14:07 
Аватара пользователя
iifat в сообщении #1051231 писал(а):
А с какого, стесняюсь спросить, рожна им бы совпадать?
$a'=M_x \cdot M_y\cdot M_z \cdot a$
$M_x^T \cdot a'=M_y\cdot M_z \cdot a$
$M_x^T \cdot M_y^T\cdot a'=M_z \cdot a$
$M_x^T \cdot M_y^T\cdot M_z^T \cdot a'=a$
Всё остальное — от лукавого.


За $M_x^T \cdot a'=M_y\cdot M_z \cdot a$ спасибо, именно про это я и спрашивала. В двух последних ошибка, правильно:
$M_y^T \cdot M_x^T\cdot a'=M_z \cdot a$
$M_z^T \cdot M_y^T\cdot M_x^T \cdot a'=a$

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 14:43 
Аватара пользователя
GreenEkatherine в сообщении #1051254 писал(а):
В двух последних ошибка, правильно:

Правильно :D . Ошибка. Транспонированные матрицы следуют в обратном порядке.

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 14:47 
Ingus в сообщении #1051232 писал(а):
здесь сокрыто лукавство
GreenEkatherine в сообщении #1051254 писал(а):
В двух последних ошибка
Да. Соврал. Бросьте в меня камень, пожалуйста.

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 15:36 
Аватара пользователя
GreenEkatherine, так чего Вы хотите? Можно $M_x \cdot M_y \cdot M_z$ представить как один поворот на некоторый угол вокруг некоторой оси.

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 16:23 
Аватара пользователя
epros,

GreenEkatherine в сообщении #1051254 писал(а):
За $M_x^T \cdot a'=M_y\cdot M_z \cdot a$ спасибо, именно про это я и спрашивала.


То есть я хотела повернуть одновременно и исходную и конечную систему координат так, чтобы координаты вектора в этих двух системах координат совпали (то есть совпали сами системы). Но, как стало понятно из ответов, перепутала порядок поворотов в обратном случае.

 
 
 
 Re: Разбить последовательность поворотов в матрице поворотов
Сообщение07.09.2015, 19:13 
Аватара пользователя
А вот так: $M_y^T \cdot M_x^T \cdot a'=M_z \cdot a$?
А вот так: $M_x \cdot M_y^T \cdot M_x^T \cdot a'=M_x \cdot M_z \cdot a$?
Можно ещё десяток вариантов придумать. А смысл?

 
 
 [ Сообщений: 10 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group