2014 dxdy logo

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

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


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


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

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

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

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

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



Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 01:05 


18/12/10
22
Здравствуйте.
Стоит следующая задача.
Изображение
Имеется два единичных вектора $\overline{k}$ и $\overline{m}$ с известными координатами, необходимо найти единичный вектор $\overline{l}$, при том, что известен угол $kl$ между векторами $\overline{k}$ и $\overline{l}$ и угол $ml$ между векторами $\overline{m}$ и $\overline{l}$.
Вроде все просто исходя из формулы скалярного произведения векторов можно записать следующую систему:
$$
\begin{cases}
 kxlx+kyly+kzlz=cos(kl)\\
 mxlx+myly+mzlz=cos(ml)\\
 lx^2+ly^2+lz^2=1
\end{cases}
$$
Решая данную систему можно получить следующие ответы (прошу меня простить, но в силу громоздкости помещаю ввиде картинок):
$lx$
Изображение
Изображение
$ly$
Изображение
Изображение
$lz$
Изображение
Изображение
Для проверки я построил вектора в CAD системе (первый рисунок) и подставил полученные значения коэффициентов в выражения, после чего к своему удивлению $lx$ оказались комплексными, а в $ly$ и $lz$ знаменатели обратились в 0.
Если посмотреть на полученные выражения, то можно заметить, что например для случая, когда $\overline{k}=\left\{1,0,0\right\}$, то есть совпадает с осью $X$ знаменатели выражений для $ly$ и $lz$ обращаются в 0, хотя построения показывают, что решение есть.
Еще кое-что интересное выяснилось, когда я предложил Mathematica решить систему с заранее известными коэффициентами. Она без проблем решила ее, дав ответы, которые полностью совпали с построением.
После этого я еще раз решил систему сам пошагово в общем виде, и получил тот же результат, что дает Mathematica в первом случае.
Помогите, пожалуйста, разобраться в чем дело.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 03:12 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Ответ в таких задачах может быть представлен в разных видах, примерно эквивалентных друг другу, в смысле "школьных" упрощений и эквивалентных преобразований, но эта эквивалентность довольно запутанна и не видна на первый взгляд. При этом, какой вид у вас получится, зависит от того, каким путём вы шли к ответу, с каким подходом подходили к задаче. Поэтому с ней лучше обращаться максимально "по уму", а не пытаться чисто формально решить систему уравнений.

Далее. Вы решаете слишком общую задачу. В вашей системе уравнений никак не указан и не использован тот факт, что вектора $\bar{k}$ и $\bar{m}$ тоже единичные: $k_x^2+k_y^2+k_z^2=1,$ $m_x^2+m_y^2+m_z^2=1.$ Эти уравнения не содержат неизвестных, но они могли бы упростить итоговые выражения.

"По уму", мне представляется возможным три варианта.
1. Используя векторную алгебру и аналитическую геометрию, найти построением искомый вектор, а потом перевести его в координатный вид.
2. Повернуть систему координат в положение, когда $\bar{k}$ и $\bar{m}$ совпадут с ортами осей координат, найти искомый вектор, и повернуть систему координат в исходное положение. Здесь работа с матрицами.
3. Искать не вектор в пространстве, а точку на сфере, средствами сферической геометрии. Может быть, этот вариант - примерно то же, что первый.

Как интерпретировать ваш результат... Во-первых, если $l_x$ получается комплексным, то это может быть нормально, если $l_y$ и $l_z$ тоже будут комплексными: возможно, потом их всех трёх можно будет сократить на один и тот же комплексный коэффициент, и получится действительный вектор. Вот если они не будут сокращаться, надо будет бить тревогу и искать ошибку. Во-вторых, обращение знаменателя в нуль - это тоже так не страшно, если одновременно числитель обращается в нуль. Это значит, что вы попали в устранимую точку разрыва, и её надо устранить: или вручную сокращая числительно со знаменателем, или вычисляя предел и раскрывая неопределённость $\tfrac{0}{0},$ например, по правилу Лопиталя.

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

 Профиль  
                  
 
 
Сообщение23.10.2012, 11:22 
Заблокирован по собственному желанию
Аватара пользователя


18/05/09
3612
 i  Zaratustra_V, извольте не лениться: \vspace*{-\baselineskip}$
\begin{cases}
 k_x l_x+k_y l_y+k_z l_z=\cos(kl)\\
 m_xl_x+m_yl_y+m_z l_z=\cos(ml)\\
 l_x^2+l_y^2+l_z^2=1.
\end{cases}
$

Здесь рассказано, как набирать формулы (здесь подробнее).

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 15:12 
Заслуженный участник


11/05/08
32166
Ну если уж писать не по кусочкам, а одной формулой, то хоть осмысленной -- например, так: $$ \vec l=\dfrac1{|\vec k\times\vec m|^2} \left( \vec k \big( c_k-(\vec k\cdot\vec m)c_m \big) + \vec m \big( c_m-(\vec k\cdot\vec m)c_k \big) \pm \vec k\times\vec m \, \sqrt{|\vec k\times\vec m|^2 - |\vec k c_k-\vec m c_m|^2} \right) $$

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 15:34 
Заслуженный участник
Аватара пользователя


30/01/06
72407
О, взял и решил. Спасибо!

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 15:37 


18/12/10
22
Munin в сообщении #634569 писал(а):

"По уму", мне представляется возможным три варианта.
1. Используя векторную алгебру и аналитическую геометрию, найти построением искомый вектор, а потом перевести его в координатный вид.
2. Повернуть систему координат в положение, когда $\bar{k}$ и $\bar{m}$ совпадут с ортами осей координат, найти искомый вектор, и повернуть систему координат в исходное положение. Здесь работа с матрицами.
3. Искать не вектор в пространстве, а точку на сфере, средствами сферической геометрии. Может быть, этот вариант - примерно то же, что первый.

Я как раз начал с 1-го и 3-го метода, но потом решил через систему, может действительно стоит вернуться к ним.
Есть еще один способ, решить задачу о пересечении двух конусов один с осью $\bar{k}$ и образующей $\bar{l}$, второй с осью $\bar{m}$ и образующей $\bar{l}$, но что-то я пока не понял как записать уравнения этих конусов.

-- Вт окт 23, 2012 15:40:08 --

ewert в сообщении #634722 писал(а):
Ну если уж писать не по кусочкам, а одной формулой, то хоть осмысленной -- например, так: $$ \vec l=\dfrac1{|\vec k\times\vec m|^2} \left( \vec k \big( c_k-(\vec k\cdot\vec m)c_m \big) + \vec m \big( c_m-(\vec k\cdot\vec m)c_k \big) \pm \vec k\times\vec m \, \sqrt{|\vec k\times\vec m|^2 - |\vec k c_k-\vec m c_m|^2} \right) $$


Красиво. А не могли бы Вы пояснить решение, как оно получилось? Что такое коэффициенты $c_k$ и $c_m$?

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 15:42 
Заслуженный участник


11/05/08
32166
Кстати:

Munin в сообщении #634569 писал(а):
В вашей системе уравнений никак не указан и не использован тот факт, что вектора $\bar{k}$ и $\bar{m}$ тоже единичные:

Этот факт подразумевается в первых двух уравнениях, иначе они выглядели бы по-другому.

Munin в сообщении #634569 писал(а):
Во-первых, если $l_x$ получается комплексным, то это может быть нормально, если $l_y$ и $l_z$ тоже будут комплексными: возможно, потом их всех трёх можно будет сократить на один и тот же комплексный коэффициент, и получится действительный вектор.

Нет. Если результат получается комплексным, то это в точности означает, что задача не имеет решения. Геометрически это соответствует ситуации, когда прямая, задаваемая первыми двумя уравнениями, не пересекается с единичной сферой; такое вполне возможно, естественно.

-- Вт окт 23, 2012 17:15:09 --

Zaratustra_V в сообщении #634745 писал(а):
А не могли бы Вы пояснить решение, как оно получилось? Что такое коэффициенты $c_k$ и $c_m$?

Коэффициенты -- это, естественно, косинусы углов между векторами $\vec k,\vec l$ и $\vec m,\vec l$ соответственно.

Геометрически идея достаточно проста. Ваши первые два уравнения задают две плоскости, а в совокупности -- прямую, на которой должен лежать конец искомого вектора $\vec l$, выходящего из начала координат. Надо найти точки пересечения этой прямой с единичной сферой. Напрашивается такая естественная процедура. Возьмём для начала вектор $\vec u$, выходящий из начала координат, конец которого лежит на этой прямой и который перпендикулярен прямой. Тогда для получения нужного результата надо просто прибавить к этому вектору направляющий вектор прямой (а это $\vec k\times\vec m$), умноженный на подходящий коэффициент -- такой, чтобы длина суммы оказалась бы единичной.

Так вот. Если переписать ту формулу в чуть более громоздком виде:



$$ \vec l=\dfrac
{\vec k \big( c_k-(\vec k\cdot\vec m)c_m \big) + \vec m \big( c_m-(\vec k\cdot\vec m)c_k \big)}{1-(\vec k\cdot\vec m)^2} \pm \dfrac{\vec k\times\vec m}{|\vec k\times\vec m|} \; \sqrt{1 - \dfrac{|\vec k c_k-\vec m c_m|^2}{1-(\vec k\cdot\vec m)^2}} $$

(это одно и то же, т.к. $|\vec k\times\vec m|^2+(\vec k\cdot\vec m)^2\equiv1$), то первая дробь -- это и есть тот самый вектор $\vec u$, а дробь под корнем -- это квадрат его длины. Последнее можно получить тупым раскрытием скобок, а для первого надо просто искать его в виде $\vec u=t\vec k+s\vec m$, подставляя это разложение вместо вектора $\vec l$ в уравнения тех двух плоскостей: $\vec k\cdot\vec u=c_k$ и $\vec m\cdot\vec u=c_m$; коэффициенты разложения $t,\,s$ мгновенно находятся.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 18:16 
Заслуженный участник
Аватара пользователя


30/01/06
72407
ewert в сообщении #634750 писал(а):
Этот факт подразумевается в первых двух уравнениях, иначе они выглядели бы по-другому.

Не-а. Там просто уравнения вида $\bar{k}\bar{l}=c_k,$ и всё. Никаких уточнений о модуле векторов. То есть потом можно ввести туда координаты вектора любой ненулевой длины.

ewert в сообщении #634750 писал(а):
Нет. Если результат получается комплексным, то это в точности означает, что задача не имеет решения.

Думаете? Хм... Да, наверное. Я переусердствовал. Комплексное квадратное уравнение с действительными коэффициентами либо имеет два действительных корня, либо ни одного.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение23.10.2012, 23:37 


18/12/10
22
ewert в сообщении #634750 писал(а):

Геометрически идея достаточно проста. Ваши первые два уравнения задают две плоскости, а в совокупности -- прямую, на которой должен лежать конец искомого вектора $\vec l$, выходящего из начала координат. Надо найти точки пересечения этой прямой с единичной сферой. Напрашивается такая естественная процедура. Возьмём для начала вектор $\vec u$, выходящий из начала координат, конец которого лежит на этой прямой и который перпендикулярен прямой. Тогда для получения нужного результата надо просто прибавить к этому вектору направляющий вектор прямой (а это $\vec k\times\vec m$), умноженный на подходящий коэффициент -- такой, чтобы длина суммы оказалась бы единичной.

Геометрическую идею я понял, но, к сожалению, реализацию нет.
Вектор $\vec u$ выходит из начала координат и его конец лежит на прямой коллинеарной вектору $\vec l$ и есть еще один вектор, который перпендикулярен этой прямой? Правильно я понял?
Нужный результат это вектор $\vec l$? И "к этому вектору", это к коллинеарному или перпендикулярному.
Прошу прощения за настойчивость, но так как плаваю а ЛА и АГ не могу до конца разобраться.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение24.10.2012, 13:55 
Заслуженный участник
Аватара пользователя


23/08/07
5422
Нов-ск
Zaratustra_V в сообщении #635070 писал(а):
Геометрическую идею я понял, но, к сожалению, реализацию нет.

Отыскиваем единичный вектор $\vec l$ в виде
$\vec l=K\vec k + M\vec m + T\vec t,$ (*)
где $ \vec t =\vec k\times\vec m/|\vec k\times\vec m|$ - единичный вектор перпендикулярный $\vec k$ и $\vec m$

Умножая (*) на $\vec k$ и $\vec m$, получаем два уравнения, из которых находим $K$ и $M.$
Т.к. $\vec l$ - единичный, то $|K\vec k + M\vec m|^2 + T^2=1,$ откуда находим $T.$

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение24.10.2012, 23:58 


18/12/10
22
Тут опять не понятно, умножая (*) на $\vec k$ и $\vec m$ получим
\vspace*{-\baselineskip}$
\begin{cases}
 c_k=K\vec k\vec k+M\vec m\vec k \\
 c_m=K\vec k\vec m+M\vec m\vec m\\
\end{cases}
$
Выразим $K$ из первого уравнения $K=\dfrac{c_k-M\vec m\vec k}{\vec k^2}$
Подставив получившееся во второе выражение системы, коэффициенты естественно сокращаются.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение25.10.2012, 06:07 
Заслуженный участник
Аватара пользователя


23/08/07
5422
Нов-ск
Zaratustra_V в сообщении #635422 писал(а):
Тут опять не понятно, умножая (*) на $\vec k$ и $\vec m$ получим
\vspace*{-\baselineskip}$
\begin{cases}
 c_k=K\vec k\vec k+M\vec m\vec k \\
 c_m=K\vec k\vec m+M\vec m\vec m\\
\end{cases}
$
Выразим $K$ из первого уравнения $K=\dfrac{c_k-M\vec m\vec k}{\vec k^2}$
Подставив получившееся во второе выражение системы, коэффициенты естественно сокращаются.

Продемонстрируйте здесь, как подставляете и как возникают проблемы.
Не забывайте, что на $\vec k$ и $\vec m$ умножаете скалярно.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение25.10.2012, 06:36 
Заслуженный участник


11/05/08
32166
Zaratustra_V в сообщении #635422 писал(а):
Подставив получившееся во второе выражение системы, коэффициенты естественно сокращаются.

Естественно, не сокращаются (если только векторы не параллельны, конечно); и вообще в выражении
$\dfrac {\vec k \big( c_k-(\vec k\cdot\vec m)c_m \big) + \vec m \big( c_m-(\vec k\cdot\vec m)c_k \big)}{1-(\vec k\cdot\vec m)^2}$ коэффициенты при $\vec k$ и $\vec m$ -- это просто формулы Крамера для этой системы.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение25.10.2012, 09:17 


18/12/10
22
Zaratustra_V в сообщении #635422 писал(а):
Тут опять не понятно, умножая (*) на $\vec k$ и $\vec m$ получим
\vspace*{-\baselineskip}$
\begin{cases}
 c_k=K\vec k\vec k+M\vec m\vec k \\
 c_m=K\vec k\vec m+M\vec m\vec m\\
\end{cases}
$
Выразим $K$ из первого уравнения $K=\dfrac{c_k-M\vec m\vec k}{\vec k^2}$
Подставив получившееся во второе выражение системы, коэффициенты естественно сокращаются.

Продолжаю, подставляю $K$ во второе уравнение:
c_m=\dfrac{c_k-M\vec m\vec k}{\vec k^2}\vec m\vec k+M\vec m\vec m\\$
c_m=\dfrac{c_k\vec m\vec k-M(\vec m\vec k)^2+M(\vec m\vec k)^2}{(\vec m\vec k)^2}$
Вот.

 Профиль  
                  
 
 Re: Нахождение вектора по углам к двум заданным векторам.
Сообщение25.10.2012, 10:01 
Заслуженный участник
Аватара пользователя


30/01/06
72407
Для векторов $(\vec{m})^2(\vec{k})^2\ne(\vec{m}\vec{k})^2.$ И нельзя ли не менять обозначений по ходу обсуждения? А то подстраиваться под них неудобно, то $\bar{k},$ то $\vec{k}.$

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

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



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

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


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

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