2014 dxdy logo

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

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




 
 Определение углов поворота через матрицу поворота
Сообщение03.09.2015, 14:18 
Аватара пользователя
Дано: 2 набора координат вектора в пространстве – в исходной системе координат и в повернутой, центры систем координат совпадают. Известен порядок поворотов и положительное направление углов, то есть известен вид матрицы поворота. Даже известны начальные приближения углов.

Вопрос: есть ли какие-то методы (в идеале – которые легко программно реализуются) для определения этих углов, кроме как посчитать "в лоб"?

 
 
 
 Re: Определение углов поворота через матрицу поворота
Сообщение03.09.2015, 14:25 
Аватара пользователя
Восстановить углы по матрице поворота? Это очень легко, алгоритмы есть.

Смотрите, например, матлабовскую функцию dcm2angle (из Aerospace Toolbox), она есть в открытом доступе.

 
 
 
 Re: Определение углов поворота через матрицу поворота
Сообщение03.09.2015, 14:49 
Аватара пользователя
ShMaxG в сообщении #1050140 писал(а):
dcm2angle (из Aerospace Toolbox)

Нет, числовые значения элементов матрицы неизвестны, под видом я имела в виду:
$a_{1, 1} = \cos(P)*\cos(Y)+\sin(P)*\sin(R)*\sin(Y)$ и т.д.

 
 
 
 Re: Определение углов поворота через матрицу поворота
Сообщение03.09.2015, 15:22 
По одному вектору поворот восстановить, очевидно, не удастся, так как остается одна степень свободы.

Имеется в виду подобрать наиболее правдоподобные значения, близкие к имеющимся?

 
 
 
 Re: Определение углов поворота через матрицу поворота
Сообщение03.09.2015, 15:33 
Аватара пользователя
rivx в сообщении #1050162 писал(а):
По одному вектору поворот восстановить, очевидно, не удастся, так как остается одна степень свободы.

Даже если известен порядок, в котором он поворачивался?
rivx в сообщении #1050162 писал(а):
Имеется в виду подобрать наиболее правдоподобные значения, близкие к имеющимся?

Ну или так.

-- 03.09.2015, 15:39 --

Под вычислениями "в лоб" я имела в виду выражение косинусов углов через синусы в заданной матрице поворота, после чего я получаю систему из трех уравнений с тремя неизвестными и, зная, в каких квадрантах находятся мои углы (по начальным приближениям) вычисляю ответ. Выглядит вполне однозначно, или я ошибаюсь? Просто такой вариант с точки зрения программирования выглядит довольно тяжеловесным, почему я интересуюсь другими методами получения углов.

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


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