2014 dxdy logo

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

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


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


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Поворот системы координат
Сообщение23.03.2009, 15:06 


07/03/08
21
Добрый день.
Есть система координат XYZ и два единичных вектора r1(x1, y1, z1) и r2(x2, y2, z2). Нужно систему координат повернуть сначала вокруг оси Z, потом вокруг оси X и вокруг оси Y, так что бы вектор r1 совместился с вектором r2. Найти три угла этих последовательных поворотов.
Думаю в математике уже должно быть какое-то стандартное решение. Подскажите пожалуйста.

 Профиль  
                  
 
 
Сообщение23.03.2009, 15:18 
Заслуженный участник


12/07/07
4522
См., напрмер, гл.3, §2, п.2 (Выяснение геометрического смыслда. Углы Эйлера) в [1]

ref.
1. Ильин В.А., Позняк Э.Г. Аналитическая геометрия. — М.: Наука, 1968.

 Профиль  
                  
 
 Re: Поворот системы координат
Сообщение23.03.2009, 16:35 
Заслуженный участник


27/06/08
4062
Волгоград
Render писал(а):
Добрый день.
Есть система координат XYZ и два единичных вектора r1(x1, y1, z1) и r2(x2, y2, z2). Нужно систему координат повернуть сначала вокруг оси Z, потом вокруг оси X и вокруг оси Y, так что бы вектор r1 совместился с вектором r2. Найти три угла этих последовательных поворотов.
Думаю в математике уже должно быть какое-то стандартное решение. Подскажите пожалуйста.

А зачем вращать вокруг всех трех осей. Разве двух не хватит?

 Профиль  
                  
 
 
Сообщение24.03.2009, 21:55 
Заблокирован


19/09/08

754
Вот как это делается.(Без комментариев).
Изображение

 Профиль  
                  
 
 
Сообщение30.03.2009, 18:40 


07/03/08
21
Предыдущую картинку не осилил, но мне в голову пришел свой вариант.
Итак, давайте сначала крутить ось Z, потом ось Y.
Пусть после первого поворота вектор r1 переходит в r3, а потом r3 в r2. Чтобы вектор r3 последним поворотом совместился с r2 нужно, чтобы углы между этими векторами и осью Y были равны. Для этого нужно повернуть ось Z на разницу углов между векторами к1, к2 и осью Y(то есть на arccos(y1)-arccos(y2) ). Но на конкретном примере почему-то этот первый переход не получается правильным.

 Профиль  
                  
 
 
Сообщение30.03.2009, 19:57 
Заблокирован


19/09/08

754
Так спрашивайте, растолкую :)

 Профиль  
                  
 
 
Сообщение04.04.2009, 10:24 


07/03/08
21
vvvv, у вас на рисунке оба вектора сначала переводятся в плоскость XZ, но ведь мы можем по условию двигать только первый вектор.

 Профиль  
                  
 
 
Сообщение04.04.2009, 10:43 
Заслуженный участник


11/05/08
32166
Разверните первый вектор вокруг оси Z так, чтобы он оказался в плоскости YZ (будет, естественно, два варианта, если только этот вектор с самого начала не был направлен по оси Z). Затем разверните вокруг X так, чтобы он (оставаясь в плоскости YZ) оказался бы под тем же углом к оси Y, что и второй вектор; снова будет два варианта на выбор, если второй вектор не направлен вдоль Y. Наконец, разверните на необходимый угол вокруг оси Y до совмещения со вторым вектором.

 Профиль  
                  
 
 
Сообщение04.04.2009, 11:13 
Заблокирован


19/09/08

754
В условии задачи вообще векторы не двигаются, а поворачивается система координат? :)

 Профиль  
                  
 
 
Сообщение04.04.2009, 11:20 
Заслуженный участник


11/05/08
32166
Условия задачи сформулированы нечётко. Поскольку требуется "совместить векторы" -- имеется в виду, что поворачивается именно вектор. В противном случае должно было бы стоять что-нибудь вроде "... так, чтобы координаты вектора в новой системе стали наперёд заданными". Впрочем, принципиально на алгоритме это не сказывается.

 Профиль  
                  
 
 
Сообщение04.04.2009, 11:53 


07/03/08
21
vvvv писал(а):
В условии задачи вообще векторы не двигаются, а поворачивается система координат? :)

Система координат двигается вместе с вектором r1. Вектор r2 остается на месте.
Я действительно не достаточно четко об этом написал :?

 Профиль  
                  
 
 
Сообщение04.04.2009, 13:13 
Заблокирован


19/09/08

754
Сформулируйте, пожалуйста, четко задачу.Что нужно сделать?Может вращать , вообще, ничего не нужно!

 Профиль  
                  
 
 
Сообщение04.04.2009, 14:46 


07/03/08
21
Есть две системы координат $X_0Y_0Z_0$ и $XYZ$, они совпадают.
Дано единичные вектора r1(x1, y1, z1) и r2(x2, y2, z2) заданных системе координат $X_0Y_0Z_0$.
Вектор r1 жестко зафиксирован в системе координат $XYZ$, вектор r2 жестко зафиксирован в системе координат $X_0Y_0Z_0$.
Требуется найти углы поворота системы координат $XYZ$ последовательно вокруг своих осей Z, X, Y таким образом чтобы вектор r1 совместился с вектором r2.

 Профиль  
                  
 
 
Сообщение04.04.2009, 17:54 
Заслуженный участник


11/05/08
32166
Render писал(а):
Есть две системы координат $X_0Y_0Z_0$ и $XYZ$, они совпадают. .

Уже никуда не годится: если две системы совпадают, то это вовсе не две системы, а одна.

 Профиль  
                  
 
 
Сообщение04.04.2009, 21:22 
Заблокирован


19/09/08

754
Вот сделано по-аккуратней.Думаю поймете.
Изображение

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 22 ]  На страницу 1, 2  След.

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



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

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


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

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