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
2736
Физтех
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 ] 

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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