2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Вращение векторов, заданных сферически
Сообщение18.11.2014, 19:02 


24/08/13
38
есть два вектора, исходящих из одной точки (0,0) находящиеся друг к другу под углом 90% - минимальный угол между ними, каждый из которых задан двумя углами, так скажем широтой и долготой.
нужно получить новые сферические координаты векторов:
1) после поворота одного относительно другого на угол A.(меняется только один вектор)
2) после поворота вокруг центральной точки в плоскости, которую они образуют, на угол B.(меняются оба вектора)

я понимаю, что можно перевести в декартову систему, воспользваться матрицей поворота вокруг вектора

$M(\hat{\mathbf{v}},\theta) = \begin{pmatrix}
   \cos \theta + (1 - \cos \theta) x^2
 & (1 - \cos \theta) x y - (\sin \theta) z 
 & (1 - \cos \theta) x z + (\sin \theta) y  
\\
   (1 - \cos \theta) y x + (\sin \theta) z 
 & \cos \theta + (1 - \cos \theta) y^2
 & (1 - \cos \theta) y z - (\sin \theta) x
\\
   (1 - \cos \theta) z x - (\sin \theta) y
 & (1 - \cos \theta) z y + (\sin \theta) x
 & \cos \theta + (1 - \cos \theta) z^2 
\end{pmatrix}$

потом снова перевести в сферическую систему.
но мне кажется это изврат и неправильный подход, порождающий вычисления гигантских размеров, когда скорее всего есть более легкий и не требующий смены систем расчёта способ.

Подскажите возможно ли такие решение, и если да, каким путем правильно идти?

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 20:26 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
Изврат - это правильный подход. Более лёгкий, может и есть, но он окажется гораздо сложнее.

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 20:41 
Заслуженный участник


27/04/09
28128
reqyz, далась вам эта сферическая система координат. Зачем было уходить от декартовых вначале?

P. S. Кстати, и матрица тоже ни к чему, когда можно использовать кватернионы (или что угодно изоморфное, вычисления-то останутся те же).

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 20:44 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
Не, ну можно и сферическую... Только привязанную к данным векторам.

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 21:26 


24/08/13
38
надо в сферической, так как для большей задачи, частью которой является эта малая часть, сферическая система незаменима, и дополнительные сведения о задаче: длина векторов равна единице

п.с. теоретически уже задачу решил, осталось арккосинусы и косинусы до углов сократить и проверять

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 21:48 
Заслуженный участник


09/05/12
25179
Поскольку у Вас это, кажется, уже вторая подобная задача, я все же задам свой дежурный вопрос - Вам надо получить результат или это что-то учебное? Просто если первое, то "неправильный" подход совершенно тривиален, если загрузить все это в какую-нибудь систему компьютерной алгебры или, что еще разумнее, сразу считать численно. Это будет куда быстрее, чем попытки придумывания изящного решения.

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 22:00 


24/08/13
38
Pphantom в сообщении #933060 писал(а):
Поскольку у Вас это, кажется, уже вторая подобная задача, я все же задам свой дежурный вопрос - Вам надо получить результат или это что-то учебное? Просто если первое, то "неправильный" подход совершенно тривиален, если загрузить все это в какую-нибудь систему компьютерной алгебры или, что еще разумнее, сразу считать численно. Это будет куда быстрее, чем попытки придумывания изящного решения.

входящие данные переменные, поэтому численного ответа например "8" быть не может, мне результат нужен именно в виде формул, так как делаю программу, в которой они используются, я задавал ранее похожий вопрос, но из-за тупика решил пойти другим путем, что всё же привело к ожидаемым результатам, и сейчас уже виден прогресс, формулы почти завершены, осталось доделать и тестировать

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 22:12 
Заслуженный участник


09/05/12
25179
reqyz в сообщении #933065 писал(а):
мне результат нужен именно в виде формул, так как делаю программу, в которой они используются,
Может быть, проще сформировать матрицы преобразований в программе и там же их и перемножить?

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение18.11.2014, 22:20 
Заслуженный участник


27/04/09
28128
reqyz в сообщении #933042 писал(а):
надо в сферической, так как для большей задачи, частью которой является эта малая часть, сферическая система незаменима
Что значит «незаменима»? Даже если вводятся и выводятся только сферические координаты, это не означает, что нельзя облегчить себе задачу, работая всё-таки с декартовыми.

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение19.11.2014, 08:45 


24/08/13
38
Всё же пришлось работать в декартовой системе
результат:
два вектора $V_{1}$ и $V_{2}$, исходящих из одной точки (0,0,0) минимальный угол между которыми является прямым.
нужно повернуть оба вектора вокруг точки, от которой они исходят, на угол A, вдоль плоскости, которую они составляют (три точки как плоскость)

Новые координаты векторов:
$
V_{1}=V_{2} \sin(A)+V_{1} \cos(A);

V_{2}=V_{2} \cos(A)-V_{1} \sin(A);
$
что очень похоже на обычное вращение, но только векторно.

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

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение19.11.2014, 08:50 
Заслуженный участник
Аватара пользователя


18/01/13
12065
Казань
reqyz в сообщении #933235 писал(а):
как найти третий вектор, который будет лежать под прямым углом к уже существующим двум векторам?
Через векторное произведение.
reqyz в сообщении #933235 писал(а):
понятно что таких векторов будет два, один из которых обратный)
Противоположный

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение19.11.2014, 10:20 
Заслуженный участник
Аватара пользователя


18/05/06
13438
с Территории
reqyz в сообщении #933235 писал(а):
Новые координаты векторов:
$
V_{1}=V_{2} \sin(A)+V_{1} \cos(A);

V_{2}=V_{2} \cos(A)-V_{1} \sin(A);
$

С учётом этого - зачем вообще Вам третий вектор?

 Профиль  
                  
 
 Re: Вращение векторов, заданных сферически
Сообщение19.11.2014, 10:27 
Заслуженный участник


29/08/13
286
reqyz в сообщении #933235 писал(а):
что очень похоже на обычное вращение, но только векторно.

Так вроде же при афинных преобразованиях и касательный вектор и направленный отрезок с формально одинаковыми компонентами преобразуются одинаково (в компонентах)? Так что по факту Вы крутили отрезок в соответствующем афинном пространстве, если я всё правильно понимаю.

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

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



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

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


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

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