2014 dxdy logo

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

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


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


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

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

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

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

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Матрица поворота для молекулы
Сообщение13.06.2009, 09:15 


29/09/06
4552
Gordmit в сообщении #221746 писал(а):
Недостаток матрицы Алексея К. состоит в том, что вектор $(x,y,z)$ должен быть нормирован (что, впрочем, легко исправить)
Gordmit,
я нисколько не возражаю против наличия недостатков в моём решении (сам их обсуждал), но только не в том, что Вы написали. Это не более чем упрощение нотации, которое лишь стоило пометить другими буковками типа $(x',y',z')$. "Исправлять" его нет никакой нужды; наоборот, любой программист скорее всего использует это, в том числе и при программировании Вашего решения.

Gordmit в сообщении #221734 писал(а):
Могу вот такую матрицу Вам предложить:
$$
\left(\begin{array}{ccc}
\frac{x}{r} & \frac{y}{r} & \frac{z}{r} \\
0 & \frac{z}{d} & -\frac{y}{d} \\
-\frac{d}{r} & \frac{xy}{rd} & \frac{xz}{rd} \\
\end{array}\right)
$$
где $d=\sqrt{y^2+z^2}$, $r=\sqrt{x^2+y^2+z^2}$. В данном случае если $d$ обращается в 0, то это означает, что $y=z=0$, т.е. вектор уже имеет вид $(x,0,0)$ и поворачивать ничего не нужно.

Последнее утверждение неверно: автор ставил задачу так:
Oam в сообщении #221452 писал(а):
Нужно найти унитарную матрицу поворота 3х3, которая бы укладывала этот вектор на ось Х. Т.е. его коодинаты после такого поворота должны стать {r,0,0}, где r - длина вектора.

Стало быть, вектор $(x,0,0)$ должен принять вид $(|x|,0,0)$, и "поворачивать ничего не нужно", если вектор уже имеет вид $(x,0,0),\; \underline{x>0}$. То есть мы возвращаемся к тем же баранам, когда надо проверять особый случай. Разрешать особый случай предварительным поворотом с матрицей
$$\begin{vmatrix} -1&0&0\\0&0&-1\\0&-1&0\end{vmatrix}\qquad\mbox{или с матрицей}\qquad\begin{vmatrix} -1&0&0\\0&-1&0\\0&0&1\end{vmatrix}\;\mbox{---}$$об этом я сильно не задумывался. Здесь могут быть какие-то соображения о непрерывности поворотов, которые склонили меня именно к предельной матрице (в Вашем случае она будет другая), но автор этого не требовал, и мне было лень додумывать. Как, впрочем, всегда лень, (и, похоже, не мне одному) ковырять эти многочисленные (на форуме) задачки с трёхмерными поворотами. :D

Так что ответ на вопрос автора
Oam в сообщении #221549 писал(а):
Возможно ли в принципе построить такую матрицу поворота, чтобы ее элементы были определены для любого ненулевого вектора?
на мой взгляд, не получен. По-прежнему, требуется особая тщательность вычислений при $|y|,|z|\to0$, хотя случай, как быть при $d=0$ в знаменателе, автора почему-то не заинтересовал...

-- 13 июн 2009, 10:31 --

По хорошему, здесь бы надо попробовать выразить всё через тангенсы половинных углов, чьи направляющие косинусы есть $(x'=\cos\alpha,\:y'=\cos\beta,\:z'=\cos\gamma)$, из которых ввиду, наличия нормировочного соотношения, использовать только два (в силу особого статуса оси OX таковыми, видимо, будут $\beta$ и $\gamma$), и посмотреть, не сократятся ли потенциальные неопределённости.
А ещё можно подумать, что все искомые матрицы образуют однопараметрическое семейство и поиграть с параметром. Но это уже если пол вымыт, помидоры пропасынкованы, кина посмотрены, и совсем скучно...

 Профиль  
                  
 
 Re: Матрица поворота для молекулы
Сообщение13.06.2009, 10:36 
Заслуженный участник


11/05/08
32166
О, а у меня некоторое достижение: я наконец-то прочитал первый пост и, кажется, понял, чего хочется. Тогда задача построения нужного ортогонального преобразования решается стандартно -- матрицей Хаусхолдера: $V=I-2{(\,\cdot\,,\vec r-\vec b)\over\|\vec r-\vec b\|^2}\cdot(\vec r-\vec b),$ где $\vec r=(x,y,z)^T$ и $\vec b=(r,0,0)^T.$ В явном виде:
$$V=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}-{2\over (x-r)^2+y^2+z^2}\cdot\begin{pmatrix}x-r\\ y\\ z\end{pmatrix}\cdot\begin{pmatrix}x\!-\!r&y&z\end{pmatrix}.$$
Правда, это пока не поворот, а отражение. Но его очень легко превратить в поворот: достаточно просто заменить здесь вектор $\vec b$ на $(-r,0,0)^T,$ а потом сделать ещё одно отражение, домножив всё дополнительно на матрицу $\begin{pmatrix}-1&0&0\\0&1&0\\0&0&1\end{pmatrix}.$ Это будет поворот, естественно, в плоскости, проходящей через исходный вектор и ось $OX.$

 Профиль  
                  
 
 Re: Матрица поворота для молекулы
Сообщение14.06.2009, 10:59 


29/09/06
4552
Интересно, не приходило в голову сделать поворот из двух отражений.

ewert, а что это за обозначение --- $(\,\cdot\,,\vec r-\vec b)$? (Попадалось в детстве, но забыл :D ).
И определение матрицы Хаусхолдера у Вольфрама, признаться, не понял.
Это отражение относительно "биссекториальной плоскости" двух векторов?
Совсем явный вид итоговой матрицы совпал с моим, чего и следовало ожидать из Вашего последнего пояснения.

 Профиль  
                  
 
 Re: Матрица поворота для молекулы
Сообщение14.06.2009, 20:06 
Заслуженный участник


11/05/08
32166
Алексей К. в сообщении #221920 писал(а):
ewert, а что это за обозначение --- $(\,\cdot\,,\vec r-\vec b)$?

Это просто стандартная договорённость: $(\cdot ,\text{ь})$ -- просто операция, в которой точка помечает тот операнд, на который тот мягкий знак должен был бы действовать. В данном конкретном случае имелся в виду функционал, задаваемый скалярным произведением.

Алексей К. в сообщении #221920 писал(а):
И определение матрицы Хаусхолдера у Вольфрама, признаться, не понял.

А я и не знаю никаких Вольфрамов. Геометрический же смысл той матрицы очень прост: это -- ортогональное преобразование (конкретно отражение), переводящее некий наперёд заданный вектор на некую конкретную ось. И геометрически это вполне прозрачно: из исходного вектора вычитается удвоенная проекция на то, чего не хоцца.

Алексей К. в сообщении #221920 писал(а):
Совсем явный вид итоговой матрицы совпал с моим,

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

-- Вс июн 14, 2009 21:19:03 --

Алексей К. в сообщении #221920 писал(а):
Это отражение относительно "биссекториальной плоскости" двух векторов?

а, не заметил, да, разумеется

 Профиль  
                  
 
 Re: Матрица поворота для молекулы
Сообщение15.06.2009, 17:26 
Аватара пользователя


05/06/08
477
1. Строится один из возможных ортогональных векторов к данному вектору.
Хотябы с помощью векторного произведения исходного на один из базисных векторов (главное, чтобы не коллинеарный).
2. Затем строим вектор ортогональный к исходному и вновь полученному. (тоже черех векторное произведение)
3. Нормализуем все три вектора и составляем матрицу из этого нового базиса.

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

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



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

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


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

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