2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему
 
 Матрица поворота через параметры Родриго-Гамильтона
Сообщение27.03.2017, 13:39 


21/10/16
91
Подскажите, пожалуйста, как получить матрицу (оператор) поворота?

Действие оператора $\mathbf{A}$ сводится к вращению вектора $\mathbf{x}$ вокруг вектора $\mathbf{e}$ на некоторый угол $\varphi$ в положение, задаваемое вектором $\mathbf{r}$, что можно выразить формулой:
$\mathbf{r}=(\mathbf{x}\cdot \mathbf{e})\mathbf{e}+[\mathbf{e},\mathbf{x}] \sin \varphi + [[\mathbf{e},\mathbf{x}], \mathbf{e}] \cos \varphi = \mathbf{x} + 2q_0[\mathbf{q},\mathbf{x}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{x}]]$,
$q_0 = \cos (\varphi/2)$
$\mathbf{q}=q_1\mathbf{e_1}+q_2\mathbf{e_2}+q_3\mathbf{e_3}=\mathbf{e} \sin (\varphi/2)$
$q_0^2+q_1^2+q_2^2+q_3^2=1$.

Если заданы параметры Родриго-Гамильтона ($q_0, q_1, q_2, q_3$), то действие оператора $\mathbf{A}$ на базисные векторы выражается формулами:
$\mathbf{e'_i}=\mathbf{A}\mathbf{e_i}= \mathbf{e_i}+ 2q_0[\mathbf{q},\mathbf{e_i}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{e_i}]]$,
$\mathbf{A}= $\begin{pmatrix}
2(q_0^2+q_1^2)-1 &2(q_1q_2-q_0q_3)  &2(q_1q_3+q_0q_2) \\
2(q_1q_2+q_0q_3) &2(q_0^2+q_2^2)-1  &2(q_2q_3-q_0q_1)\\
2(q_1q_3-q_0q_2) &2(q_2q_3+q_0q_1) &2(q_0^2+q_3^2)-1 
\end{pmatrix}$.
Как это получается?

 Профиль  
                  
 
 Re: Матрица поворота через параметры Родриго-Гамильтона
Сообщение27.03.2017, 15:03 
Заслуженный участник


27/04/09
28128
matemat в сообщении #1203904 писал(а):
матрицу (оператор)
Не одно и то же. Матрица — это набор координат оператора, так же как столбец — набор координат вектора. Координаты зависят от базиса, операторы и векторы — нет.

matemat в сообщении #1203904 писал(а):
Как это получается?
Просто примените формулу
matemat в сообщении #1203904 писал(а):
$\mathbf{r}= \ldots = \mathbf{x} + 2q_0[\mathbf{q},\mathbf{x}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{x}]]$
к базисным векторам. Судя по всему, она-то сама вопросов не вызывает?

 Профиль  
                  
 
 Re: Матрица поворота через параметры Родриго-Гамильтона
Сообщение27.03.2017, 15:29 


21/10/16
91
arseniiv в сообщении #1203926 писал(а):
Просто примените формулу
matemat в сообщении #1203904

писал(а):
$\mathbf{r}= \ldots = \mathbf{x} + 2q_0[\mathbf{q},\mathbf{x}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{x}]]$ к базисным векторам. Судя по всему, она-то сама вопросов не вызывает?

К собственному огорчению вопросы возникают. То что написано в формуле и как выражаются векторные произведения $[\mathbf{q},\mathbf{x}]$ и $[\mathbf{q}, [\mathbf{q},\mathbf{x}]]$ понятно, но что туда и в каком виде подставлять вместо $\mathbf{q}$ и $\mathbf{x}$ не очень. :oops:

 Профиль  
                  
 
 Re: Матрица поворота через параметры Родриго-Гамильтона
Сообщение27.03.2017, 15:52 
Заслуженный участник


27/04/09
28128
Вы и это записали:
matemat в сообщении #1203904 писал(а):
$\mathbf{q}=q_1\mathbf{e_1}+q_2\mathbf{e_2}+q_3\mathbf{e_3} = \ldots$
А $\mathbf x$ — это вращаемый вектор, разумеется. Подставляете вместо него базисные.

-- Пн мар 27, 2017 18:01:48 --

Вообще, в кватернионах это куда яснее записывается как $\mathbf x' = q\mathbf xq^{-1}$ (или произведение в обратном порядке, вечно забываю — влияет на направление поворота), где $q = e^{\mathbf e\varphi/2} = \cos\frac\varphi2 + \mathbf e\sin\frac\varphi2$ (крайне неудачно обозначили ось как $\mathbb e$, крайне — то с базисными векторами, то с основанием натуральных логарифмов путаница), где векторы с координатами $(x,y,z)$ отождествляются с чисто векторными кватернионами $xi+yj+zk$. Притом $q_0$ и $\mathbf q$ у вас в посте явно откуда-то оттуда, т. к. это именно что скалярная и векторная компоненты кватерниона $q$, определённого здесь.

 Профиль  
                  
 
 Re: Матрица поворота через параметры Родриго-Гамильтона
Сообщение28.03.2017, 10:21 


21/10/16
91
Спасибо!
Есть такая запись для элементов матрицы (как скалярное произведение базисных векторов до и после поворота):
$a_i_j=\mathbf{e'_i}\mathbf{e_j}=\mathbf{e_i}\mathbf{e_j}(1-2q^2)+2q_0q[\mathbf{e_i}, \mathbf{e_j}]+2q_iq_j$, где $\mathbf{e'_i}= \mathbf{e_i}+ 2q_0[\mathbf{q},\mathbf{e_i}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{e_i}]]$
Не пойму как она получается, почему такая запись в правой части выражения?

 Профиль  
                  
 
 Re: Матрица поворота через параметры Родриго-Гамильтона
Сообщение28.03.2017, 11:44 
Заслуженный участник
Аватара пользователя


11/04/08
2737
Физтех
arseniiv в сообщении #1203944 писал(а):
в кватернионах это куда яснее записывается как $\mathbf x' = q\mathbf xq^{-1}$
arseniiv в сообщении #1203944 писал(а):
Притом $q_0$ и $\mathbf q$ у вас в посте явно откуда-то оттуда, т. к. это именно что скалярная и векторная компоненты кватерниона $q$, определённого здесь.
Параметры Родрига-Гамильтона -- это по определению и есть координаты кватерниона. Это преобразование $$\mathbf{x}'=q\circ\mathbf{x}\circ\bar{q}, \ \ q=(q_0,q_1,q_2,q_3), \ q_0^2+q_1^2+q_2^2+q_3^2=1$$ называется присоединенным отображением, оно сохраняет скалярную часть кватерниона (в данном случае она равна нулю), а векторную преобразует линейно, причем оператор линейного преобразования является ортогональным. Короче говоря, можно писать $$\mathbf{x}'=q\circ\mathbf{x}\circ\bar{q}=\mathbf{A}\mathbf{x}$$ с пока неизвестной матрицей $\mathbf{A}$, далее вычислить в общем виде два кватернионных произведения, приняв $q=\cos{(\varphi/2)}+\mathbf{e}\sin{(\varphi/2)}$, получится некое выражение с иксом (вот тут появляются скалярные и векторные произведения), которое надо преобразовать к виду $\mathbf{A}\mathbf{x}$. Тогда $\mathbf{A}$ и будет искомой матрицей, она будет выражена в терминах направления $\mathbf{e}$, вокруг которого осуществляется поворот, и угла $\varphi$, на который осуществляется поворот. А потом подставить выражения для $\mathbf{e}$ и $\varphi$ в терминах координат кватерниона $q=(q_0,q_1,q_2,q_3)$ (они же -- параметры Родрига-Гамильтона), вот и все.

Это к вопросу о том, откуда первоначально следуют эти формулы:
matemat в сообщении #1204263 писал(а):
Не пойму как она получается, почему такая запись в правой части выражения?

Если не хотите связываться с кватернионным умножением, но при этом можете пользоваться формулой
matemat в сообщении #1203904 писал(а):
$\mathbf{r}=(\mathbf{x}\cdot \mathbf{e})\mathbf{e}+[\mathbf{e},\mathbf{x}] \sin \varphi + [[\mathbf{e},\mathbf{x}], \mathbf{e}] \cos \varphi = \mathbf{x} + 2q_0[\mathbf{q},\mathbf{x}] + 2 [\mathbf{q}, [\mathbf{q},\mathbf{x}]]$,
то, как уже сказали, подставляйте сюда поочередно $\mathbf{e}_1$, $\mathbf{e}_2$ и $\mathbf{e}_3$, получайте свои $\mathbf{e}_1'$, $\mathbf{e}_2'$, $\mathbf{e}_3'$. А затем в полученное выражение подставьте $\mathbf{q}=q_1\mathbf{e}_1+q_2\mathbf{e}_2+q_3\mathbf{e}_3$ и вспомните, чему равны попарные скалярные произведения базисных векторов и чему равны попарные векторные произведения. В результате вы получите выражение с иксом и числами $q_0,q_1,q_2,q_3$, это выражение нужно представить в форме $\mathbf{A}\mathbf{x}$. Тогда $\mathbf{A}$ -- это ваша искомая матрица $$\mathbf{A}= \left( {\begin{array}{*{20}{c}} 2(q_0^2+q_1^2)-1 &2(q_1q_2-q_0q_3)  &2(q_1q_3+q_0q_2) \\ 2(q_1q_2+q_0q_3) &2(q_0^2+q_2^2)-1  &2(q_2q_3-q_0q_1)\\
2(q_1q_3-q_0q_2) &2(q_2q_3+q_0q_1) &2(q_0^2+q_3^2)-1  \end{array}} \right)$$

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: seraphimt


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group