2014 dxdy logo

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

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


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


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



Начать новую тему Ответить на тему
 
 Поворот в плоскости
Сообщение09.11.2007, 18:18 


08/11/07
11
Здравствуйте. Помогите, пожалуйста, в следующем:
В трехмерном пространстве есть плоскость ax+by+cz+d=0. В этой плоскости лежит какая-то фигура (пусть треугольник). Этот треугольник вращаем вокруг осей X, Y и Z на углы альфа, бетта, гамма. Какая зависимость между углами поворота должна быть чтобы треугольник после поворота остался в той же плоскости?

 Профиль  
                  
 
 Re: Поворот-то вроде как --- в пространстве...
Сообщение09.11.2007, 19:06 


29/09/06
4552
MaxS писал(а):
Какая зависимость между углами поворота должна быть чтобы треугольник после поворота остался в той же плоскости?


Чтобы треугольник остался в той же плоскости, надо чтобы плоскость вернулась на своё место (возможно, с противоположной ориентацией). Получается, что треугольник в такой формулировке вопроса --- лишний.

А чтобы треугольник играл каку-то роль, надо вопрос поправить. Быть может, так:
Какая зависимость между углами поворота должна быть, чтобы треугольник после поворота вернулся на своё место?

Что же именно Вас интересует вечером в пятницу?

 Профиль  
                  
 
 
Сообщение09.11.2007, 19:48 


08/11/07
11
Наверное действительно не так задачу поставил. Опишу её полностью:
Есть треугольник, есть матрица поворота. Надо эту матрицу разложить на матрицу поворота в плоскости треугольника и матрицу остального поворота. Поворот в плоскости треугольника должен быть максимально возможным. Могу найти углы полного поворота, могу найти плоскость треугольника. Чтобы найти максимальные углы поворота в плоскости мне нужно знать какая между ними зависимость. Потом построить по этим углам первую матрицу, вычесть их из изначальных и построить вторую матрицу. Вроде так. Или я неправильно рассуждаю?
Проблема для меня найти углы поворота в плоскости.

 Профиль  
                  
 
 
Сообщение09.11.2007, 20:13 


29/09/06
4552
MaxS НЕ писал(а):
Есть треугольник плоскость, есть матрица поворота. Надо эту матрицу разложить на матрицу поворота в плоскости треугольника и матрицу остального поворота. Поворот в плоскости треугольника должен быть максимально возможным. Могу найти углы полного поворота, знаю плоскость могу найти плоскость треугольника.


Опять треугольник лишний, но стало понятней. Но подумать уже некогда, т.к. заодно стало ещё более пятничнее и вечерее, и пора убегать (может кто-то как раз ПРИбегает в это время...)

Известна ли Вам формула поворота в пространстве вокруг заданной оси?
Она по-видимому должна здесь работать. Я бы с неё начал. Она редко цитируется в справочниках, но попозже найду, если надо будет.Поворот в плоскости описывается именно этой матрицей. "Заданная ось" --- очевидно, нормаль к плоскости.

Какие-то "максимальные углы" на первый взгляд здесь не просматриваются.
(А) произвольный поворот в плоскости + остаточный поворот, который надо найти.
(Б) какой-то фиксированный поворот в плоскости? + остаточный поворот, который надо найти.
(В) или опять недоформулировано, из-за чего непонятно, как к углам подступиться?

Bon weekend, однако...

Добавлено спустя 2 минуты 45 секунд:

MaxS писал(а):
Чтобы найти максимальные углы поворота в плоскости мне нужно знать какая между ними зависимость....
Вроде так. Или я неправильно рассуждаю?


Нет, подозреваю, это не только мне, --- всем не понятно.

 Профиль  
                  
 
 Морнинг ивнинга мудренее...
Сообщение10.11.2007, 13:00 


29/09/06
4552
Матрица поворота на угол $\theta$ вокруг оси с направляющим вектором ${\mathbf n}=(t_1,t_2,t_3)$ ($t_1^2+t_2^2+t_3^2=1$, ось проходит через начало координат) имеет вид
$$ R({\mathbf n},\theta) = \left|
\begin{array}{ccc}
            &\strut&\\
             c+d t_1^2  &  -s t_3+d t_1 t_2  &   s t_2+d t_1 t_3\\&&\\
                st_3+d t_1 t_2 &     c+d t_2^2 &   -s t_1+d t_2 t_3\\&&\\
               -st_2+d t_1 t_3 &  s t_1+d t_2 t_3 &      c+d t_3^2 \\
            &\strut&
\end{array}
\right|,\quad\mbox{где}\quad s=\sin\theta,\quad c=\cos\theta, \quad d=1-c.
$$
У Вас задана некая матрица $A$, которую надо разложить в произведение $A= R({\mathbf n},\theta) \cdot B$, ${\mathbf n}$ известно, $B$ --- искомый "остальной поворот". Выбрав произвольно угол $\theta$ (любой), получаете $B = R^{-1}({\mathbf n},\theta) \cdot A$. При этом, видимо, $R^{-1}({\mathbf n},\theta) = R({\mathbf n},-\theta)$.

Ни о каких максимумах речи нет.

 Профиль  
                  
 
 
Сообщение20.11.2007, 13:27 


08/11/07
11
приведу пример:
Открыл max, создал плоскость (прозрачную), повернул ее. В ней квадрат (синий). Пусть этот квадрат нужно повернуть на углы XYZ(350,350,25) градусов. Выбираю один из углов и поворачиваю квадрат: 25 градусов вокруг Z. Теперь на глаз поворачиваю вокруг осей Х и У пока квадрат не попадет в плоскость. Получил углы 348 и 341 градус. Т.е. при повороте на XYZ(348,341,25) градусов квадрат попадает в исходную плоскость (прозрачную). Оставшийся поворот XYZ(2,9,0) градусов.
Если построить по этим углам матрицы, то : A(350,350,25)=B(348,341,25)*C(2,9,0)
Изображение
Проблема в примере в нахождении углов поворота вокруг Х и У. Как при известном угле поворота вокруг какой-либо оси узнать 2 других угла поворота вокруг других осей таких чтобы после поворота на все 3 угла фигура осталась в своей изначальной плоскости (плоскость известна, её не вращаем)(т.е. чтобы синий квадрат попал после поворота в прозрачную плоскость, в которой и лежал до этого)?

 Профиль  
                  
 
 
Сообщение20.11.2007, 14:07 


29/09/06
4552
У Вас есть вектор $(a,b,c)$ --- нормаль к квадрату. Поворачиваете всё на угол $\gamma$ вокруг оси $Z\:(t_1=0,t_2=0,t_3=1)$. Получаете вектор $(a_1,b_1,c_1)$:
$$
 \left| \begin{array}{ccc}a_1\\ {}\\b_1\\{}\\c_1\end{array}\right| = 
\left| \begin{array}{ccc}
            &\strut&\\
             c  &  -s    &   0 \\&&\\
                s &     c &   0\\&&\\
                0 &    0 &      1  \\
            &\strut&
\end{array}\right|
\cdot  \left| \begin{array}{ccc}a\\{}\\b\\{}\\c\end{array}
\right|,\quad\mbox{где}\quad s=\sin\gamma,\quad c=\cos\gamma.
$$
Выпишите матрицы двух других поворотов, вокруг Y (на угол $\beta$) и Х (на угол $\alpha$).
Они имеют аналогичную структуру, как повороты в плоскостях.
Перемножьте все 3. Порядок перемножения должен учитывать порядок Ваших поворотов.
Посмотрите, при каких $\beta$ и $\alpha$ полученная матрица будет единичной. Тем самым мы возвращаем нормаль к квадрату в исходной положение (не заботясь о том, займёт ли квадрат исходное положение).
MaxS писал(а):
Как при известном угле поворота вокруг какой-либо оси узнать 2 других угла поворота вокруг других осей таких чтобы после поворота на все 3 угла фигура осталась в своей изначальной плоскости (плоскость известна, её не вращаем)(т.е. чтобы синий квадрат попал после поворота в прозрачную плоскость, в которой и лежал до этого)?


Добавлено спустя 8 минут 1 секунду:

Чуть приврал --- единичная матрица не есть наша цель. Наша цель ---
$$
 \left| \begin{array}{ccc}a_3\\ b_3\\c_3\end{array}\right| = 
 \left| \begin{array}{ccc}a\\b\\c\end{array}\right|,
$$
что, наверное, не одно и тоже. Отвлекаться на форум, однако, сейчас не сильно могу себе позволить. Поумножайте, попишите...
Вам удалось до сих пор без наколачивания формулок обойтись... может и дальше как-то получится...

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

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



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

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


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

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