2014 dxdy logo

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

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




 
 Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 09:03 
Доброго всем времени суток. Помогите пожалуйста советом или ссылками на литературу где можно поискать решение....
Суть задачи такова. Есть набор точек в пространстве. Все точки лежат на одной плоскости расположенной произвольно по отношению к осевым плоскостям oxy, oxz и oyz. Формула плоскости известна. Координаты всех точек известны. Нужно повернуть все точки таким образом чтобы они лежали на плоскости параллельной одной из осевых. Точка относительно которой будет производится поворот может быть любой(не имеет значения).
Читал про некие матричные преобразования, но так и не понял как это применить конкретно к моей задаче.
Пожалуйста помогите разобраться. Не знаю с какого конца подступиться.

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 14:05 
Аватара пользователя
Del

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 14:11 
Допустим $\alpha$ не параллельна OXY. Тогда они имеют линию пересечения. Как повернуть относительно этой линии пересечения чтобы точки принадлежащие плоскости $\alpha$ легли на OXY.

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 15:11 
Аватара пользователя
DzetaHunter в сообщении #1120785 писал(а):
Точка относительно которой будет производится поворот может быть любой(не имеет значения).
Вы имеете в виду, что я могу её сам произвольно выбрать?

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 15:13 
Да, но естественно, она должна находиться на искомой плоскости.

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 15:21 
DzetaHunter в сообщении #1120887 писал(а):
Допустим $\alpha$ не параллельна OXY. Тогда они имеют линию пересечения. Как повернуть относительно этой линии пересечения чтобы точки принадлежащие плоскости $\alpha$ легли на OXY.

У Вас есть вектор $\vec e_1$ нормали к наклонной плоскости. Найдите вектор $\vec e_2$, лежащий на линии пересечения (в смысле параллельный ей). Затем нормируйте эти два вектора.

Вам нужно, чтобы при повороте вектор $\vec e_2$ оставался на месте, а вектор $\vec e_1$ переходил в вектор $\vec k$. Это даёт два столбца матрицы перехода, ну а третий получается из условия ортогональности этой матрицы.

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 15:55 
Аватара пользователя
Можно сначала записать преобразование в векторной форме. Допустим, точка $A$ с радиус-вектором $\mathbf a$ — та, которую надо повернуть, а точка $M$ с радиус-вектором $\mathbf m$ находится на оси вращения. Единичный вектор $\mathbf n$ параллелен оси вращения. Представим $\mathbf a$ в виде суммы:
$\mathbf a=\mathbf m+\mathbf p$,
где $\mathbf p$ — вектор из $M$ в $A$. При вращении $\mathbf m$ не изменится, а $\mathbf p$ повернётся на некоторый угол $\varphi$ вокруг оси (один и тот же для всех точек). Вектор $\mathbf p$ можно разложить на составляющую, параллельную оси, и перпендикулярную ей:
$\mathbf p=\mathbf p_{\parallel}+\mathbf p_{\perp}$, где $\mathbf p_{\parallel}=\mathbf n(\mathbf n\cdot \mathbf p),\;\; \mathbf p_{\perp}=\mathbf n\times(\mathbf p\times \mathbf n)$
При вращении $\mathbf p_{\parallel}$ опять-таки не меняется, а $\mathbf p_{\perp}$ преобразуется некоторым простым образом.

 
 
 
 Re: Повернуть все точки произвольной плоскости параллельно OXY
Сообщение04.05.2016, 15:59 
DzetaHunter в сообщении #1120908 писал(а):
Да, но естественно, она должна находиться на искомой плоскости.
Неестественно. :-) Если это требование задачи, тогда ладно, но вообще есть куча вращений с центром, не лежащим в этой плоскости, приводящих её к параллельности заданной.

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


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